Fagan-Inspektion
Details
- Auch bekannt als
-
Formale Code-Inspektion, Software-Inspektion, Fagan’s Inspektionsmethode
Kernkonzepte:
- Formaler Inspektionsprozess
-
Ein strukturierter, mehrphasiger Prüfprozess für Software-Artefakte (Anforderungen, Design, Code) mit definierten Rollen und Ein-/Ausstiegskriterien
- Rollen
-
Moderator (leitet und protokolliert), Autor (hat das Artefakt erstellt), Inspektoren (Prüfer), Protokollant (dokumentiert Defekte)
- Sechs Phasen
-
Planung → Übersicht → Vorbereitung → Inspektionssitzung → Nachbearbeitung → Nachverfolgung
- Ein- und Ausstiegskriterien
-
Explizite Bedingungen, die vor dem Eintritt in und Austritt aus jeder Phase erfüllt sein müssen, um vorzeitiges Voranschreiten zu verhindern
- Fehlerklassifikation
-
Fehler werden nach Typ (fehlend, falsch, überflüssig) und Schweregrad kategorisiert, um Prozessverbesserungen durch Ursachenanalyse zu ermöglichen
- Kennzahlengetrieben
-
Inspektionsdaten (Fehlerrate, Inspektionsrate) werden gesammelt und zur Verbesserung sowohl des Produkts als auch des Inspektionsprozesses genutzt
- Schlüsselvertreter
-
Michael Fagan ("Design and Code Inspections to Reduce Errors in Program Development", IBM Systems Journal, 1976)
Wann zu verwenden:
-
Sicherheitskritische oder qualitätsintensive Software, bei der das Entweichen von Fehlern kostspielig ist
-
Frühe Überprüfung von Anforderungen, Architektur, Design oder Code-Artefakten
-
Aufbau einer Qualitätskultur und gemeinsamen Code-Verantwortung im Team
-
Wenn messbare, prozessbasierte Qualitätsverbesserung über die Zeit angestrebt wird
-
Regulierte Umgebungen (Medizinprodukte, Luftfahrt, Finanzen), die dokumentierte Prüfnachweise erfordern
Verwandte Anker:
Aktueller Stand:
-
Die Definition ist intakt und seit Fagans Paper von 1976 (IBM Systems Journal 15(3)) unverändert: eine formale Inspektion mit verteilten Rollen, definierten Phasen und gemessenen Defektdaten
-
Die formale, meetingbasierte Inspektion wird heute selten praktiziert; asynchrones, toolgestütztes Pull-Request-Review hat sie weitgehend ersetzt — ein dokumentierter Wandel mit eigenen Trade-offs: Modernes Review findet weniger Defekte pro Stunde Rigorosität, leistet dafür Wissenstransfer und Team-Awareness (Bacchelli & Bird, "Expectations, Outcomes, and Challenges of Modern Code Review", ICSE 2013; Rigby & Bird, FSE 2013)