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)