IS-Rating: Planungssicherheit durch transparente Qualität

Anforderungen an leicht änderbare Software

Unsere technischen Anforderungen sind im Kern qualitativer Natur. Eine rein formale Erfüllung ist weder ausreichend noch wirtschaftlich. Der Grad der Erfüllung dieser Anforderungen durch den Anbieter (extern oder internes Entwicklungsteam), bestimmt das verbleibende restliche Änderungskostenrisiko. Für die qualifizierte Begutachtung zur Bewertung dieses Erfüllungsgrades liefern Kennzahlen einige Anhaltspunkte. Ziel ist dabei eine ausreichend verlässliche Abschätzung des Restrisikos.

Bei einer Änderung oder Erweiterung von Software bestimmt sich der Aufwand anhand von zwei weitgehend unabhängigen Dimensionen: Präzision und Umfang.
Präzision beschreibt den Aufwand, genau die zu ändernden Stellen zu finden, zu verhindern, dass zuviel geändert wird, und das Fehlerrisiko hierbei.
Umfang beschreibt den eigentlichen Aufwand für die korrekte Änderung, summarisch über die gesamte Menge der relevanten Stellen (s. Präzision), und das Fehlerrisiko dabei.

Präzision

Die wesentlichen statischen Themen zur Präzision (Testbarkeit, Kodelesbarkeit, synchrone Dokumentation) werden über folgende Anforderungen abgedeckt:

  1. Automatisierte Unit-Tests,
  2. Automatisierte Akzeptanztests, Fernsteuerbarkeit, Skriptfähigkeit,
  3. Automatisiert erstellte (Struktur-)Dokumentation aus dem Quellkode (setzt Programmierrichtlinien und hohe Kodelesbarkeit voraus).

Hinzu kommt als dynamisches Thema die Nachvollziehbarkeit von Abläufen im Quellkode:

  1. Automatisierte Aufzeichnung des Programmablaufs.

Umfang

Die Kernthemen zum Umfang (Strukturierung, Modularisierung, DRY, Dämpfung von Änderungskaskaden) werden über folgende Anforderungen abgedeckt:

  1. Plattformunabhängigkeit (Abgrenzung von Aspekten mit unabhängigen, oft fremd gesteuerten Lebenszyklen),
  2. Funktionalitäten wieder entfernbar (Nachvollziehbarkeit der Abbildung der Fachdomaine in der Software).

Beweis der effizienten Änderbarkeit

Die Anforderungen (1)‑(6) beziehen sich auf einen konkreten Stand der Software und ermöglichen somit nur eine Zeitpunktbetrachtung mit all den bekannten Problemen. Die Prüfung dieser Anforderungen ermöglicht daher nur eine eher theoretische Bewertung des Risikos, da es bei der Änderbarkeit immer um den effizienten Übergang zu einem neuen Stand dieser Software geht – ohne Qualitätseinbußen.
Das Vertrauen in eine Bewertung des Änderungskostenrisikos nur auf Basis eines einzigen Systemstandes, wie er bei einer Endabnahme vorliegt, ist demzufolge zwangsläufig stark begrenzt. Erforderlich ist vielmehr eine möglichst häufige Bewertung des Erfüllungsgrades der Anforderungen (1)‑(6) anhand funktionsfähiger Zwischenstände des Systems. So können die Auswirkungen des erreichten Erfüllungsgrades auf die reale Änderbarkeit beobachtet werden.
Diesem Zweck dient die Anforderung:

  1. Tägliche Auslieferung eines funktionsfähigen, bewertbaren Systemstandes.

Alle diese technischen Anforderungen werden heutzutage bereits mit geeigneten Technologien und Techniken (Best Practices) von guten und darin erfahrenen Entwicklungsteams effizient und in hoher Qualität erfüllt – schon im eigenen Interesse und damit für den Nutzer potentiell kostenneutral.

IS-Rating: Planungssicherheit durch transparente Qualität