Der Motor flüssiger und nachhaltiger Softwareproduktion ist eng getaktetes 360° Feedback. Dazu gehört die Abnahme durch den Kunden bzw. seinen Stellvertreter für die Verhaltensanforderungen einerseits und vorgelagert andererseits ein Review des Codes für die Zukunftsfähigkeit.
Der Review gehört zur „Definition of Done“ und wird geleitet durch die Architekturrolle.
Um die Zukunftsfähigkeit verlässlich zu überprüfen, sollte der Review systematisch vorgehen. Allen Anwesenden sollte klar sein, welche Aspekte zu überprüfen sind. Als Leitfaden kann eine Checkliste dienen.
Hier unser Vorschlag für eine solche Checkliste. Ausführliche Erklärungen zu jeder Facette finden Sie in den verlinkten Beiträgen.
Review Checkliste
Korrektheit
- Akzeptanztests
- Gerüsttests
Merksatz: „Erwachsener“ Code demonstriert jederzeit automatisiert die Erfüllung aller Verhaltensanforderungen und wurde sorgfältig gestützt hergestellt.
- Modularisierung
- Kontrakttests
Merksatz: Regressionssicherer Code ist erwachsen und erfüllt jederzeit automatisiert nachweisbar die Erfüllung aller Modulkontrakte.
Wandelbarkeit
- Bedeutungsvolle explizite Daten
- Bedeutungsvolle Logik
- Begrenzter Modulumfang
- Natürlicher Lesefluss
- Beschnittene Verzweigungen
- Einheitliches Abstraktionsniveau
- Begründende Kommentare
Merksatz: Verständlicher Code ist sprechend, geradlinig, flach, überschaubar, nivelliert, begründet.
- Duplikatfreiheit
- Funktionale Unabhängigkeit (IOSP)
- Freistellung von Aspekten/Verantwortlichkeiten
- Sichtbarkeit
- Beschaffung
- Unabhängigkeit von
- Konstanten
- Zustand
- Ressourcen
Merksatz: Testbarer Code ist eindeutig, „operational“, sichtbar, „leicht zu beschaffen“ (bzw. zu erreichen) und unabhängig von Konstanten, Zustand, Ressourcen.