Inspektionen werden bereits seit vielen Jahren als sehr effiziente Methode zur Qualitätssicherung, vor allem in großen Firmen mit mehr als hundert Entwicklern, als Technik zur Fehlerfindung und Fehlerkorrektur eingesetzt. Nur wenige Berichte geben Aufschluss darüber, wie Inspektionen in kleinen und mittleren Unternehmen (KMUs) eingesetzt werden können.
Um diese Lücke zu schließen wurde eine Fallstudie durchgeführt, in der der Einsatz am Beispiel von Code-Inspektionen in einer KMU untersucht wurde. Im Detail wurden die folgenden Fragestellungen analysiert:
Welche Charakteristika einer KMU wirken sich wie auf den Inspektionsprozess aus?
Sind Inspektionen im Kontext einer KMU effektiver und effizienter als Testen?
Welche allgemeinen Vor- und Nachteile ergeben sich für eine KMU durch den Einsatz von Inspektionen, lassen sich insbesondere die Code-Qualität und der Wissenstransfer durch Inspektionen fördern?
In der Fallstudie und den durchgeführten Analysen wurden die folgenden Ergebnisse erzielt:
Code-Inspektionen haben einen Effizienzvorteil gegenüber Testen. Die Daten in der Studie zeigten, dass Code-Inspektionen 17% weniger Aufwand pro Fehler benötigen als Testen.
Durch die Code-Inspektionen wurden sehr viele Verbesserungsvorschläge für die bestehenden Code-Dokumente gemacht. Dadurch verbesserte sich insbesondere der Programmierstil der Entwickler und die Wartbarkeit des Codes.
Durch Code-Inspektionen konnten Probleme identifiziert werden, die im Testen nicht identifiziert werden können und umgekehrt.
Die Weitergabe von Wissen und das Teilen von Expertenwissen wird als einer der wesentlichen Vorteile der Inspektion wahrgenommen, dessen Wert als sehr hoch eingeschätzt wird. Die Technik des Perspektiven basierten Lesens trägt zu diesem Vorteil wesentlich bei.
Abbildung 1: Das Finden von Fehlern mit Inspektionen ist effizienter als Testen allein
Als wesentliche Charakteristika eines kleinen Unternehmens, die sich auf den Inspektionsprozess auswirken, wurden identifiziert:
die geringe Anzahl von Mitarbeitern (hier 8 Personen, die in der Entwicklung arbeiteten)
die sehr geringe Anzahl von Experten in der Entwicklung, die mit weniger erfahrenen Mitarbeitern zusammenarbeiten (hier 4 Experten, unterstützt von Praktikanten, Studenten und neuen Mitarbeitern)
„Wissensinseln“ innerhalb der KMU, d.h. Experten besitzen Wissen zu einem ganz bestimmten Themenbereich und sind weniger vertraut mit anderen Bereichen.
Die starken Zeitrestriktionen aufgrund kurzer Releasezyklen und iterativer Entwicklung (die Inspektion wurde deshalb als zu zeitintensiv wahrgenommen)
Der Inspektionsprozess wurde wie folgt an die KMU-Charakteristika angepasst:
Inspektionen werden auf kleinen in sich abgeschlossenen Modulen (max. 4–5 Seiten Quellcode) angewendet.
Ergänzend werden „Mini-Inspektionen“ empfohlen, in denen 1–2 Module von einem einzelnen, sehr erfahrenen Experten inspiziert werden.
Zusammenfassend wurden die Ziele der Fallstudie sowohl aus Sicht des beteiligten Unternehmens als auch aus wissenschaftlicher Sicht erreicht. Die Analyse der Einflussfaktoren einer KMU, die auf den Inspektionsprozess wirken, ergab sehr interessante Ergebnisse und wurde in dieser Weise bisher noch nicht durchgeführt.
Auch die Analyse der Effizienz von Inspektionen im Vergleich zum Testen konnte durchgeführt werden und zeigte die Tendenz, dass Inspektionen Effizienzvorteile gegenüber dem Testen haben.
Neben Effizienzvorteilen konnte in der Fallstudie gezeigt werden, dass Inspektionen zur Wissensweitergabe und zur Verbesserung des Programmierstils und der Wartbarkeit des Codes beitragen können. Aufgrund der Ergebnisse der Fallstudie wird die Firma Wikon auch in zukünftigen Projekten Code-Inspektionen als Ergänzung zum Testen einsetzen.
Weiteres zum Themenfeld Inspektionen finden Sie in der Wissensdatenbank unter Software Inspektionen