Die Analyse der Auswirkungen von Änderungen der Anforderungen ist eine der wichtigsten Aufgaben der Systemanalyse, insbesondere in langfristigen oder großen Projekten.
Hintergrund:
In komplexen Unternehmenssystemen werden die Anforderungen ständig aktualisiert aufgrund von Veränderungen in Geschäftsprozessen, neuen regulatorischen Einschränkungen oder Benutzerfeedback. Systemanalytiker mussten historisch nicht nur Änderungen protokollieren, sondern auch sicherstellen, dass die Funktionalität bereits implementierter Module bei der Umsetzung neuer Anforderungen nicht beeinträchtigt wird.
Problem:
Die Hauptschwierigkeit liegt in der Interdependenz und -verknüpfung der Komponenten: Änderungen in einem Modul können unbemerkt die Funktionalität eines anderen Moduls beeinflussen, Mängel verursachen und unerwartete Ausfälle hervorrufen. Wenn die Auswirkungen von Änderungen nicht analysiert werden, häuft sich die technische Schuld an, und die Qualität des Systems verschlechtert sich schrittweise.
Lösung:
Schlüsselmerkmale:
Was ist eine Impact-Analyse und welche unterstützenden Werkzeuge sind am effektivsten?
Es wird oft angenommen, dass eine Impact-Analyse einfach die Diskussion von Risiken ist. Tatsächlich handelt es sich um einen formalisierbaren Prozess, bei dem spezielle Abhängigkeitsmatrizen (z.B. Traceability-Matrix), ALM-Tools (Application Lifecycle Management) und graphische Darstellungen von Beziehungen (z.B. Enterprise Architect, Jira + Plugins) genutzt werden. Wichtig ist, dass die Analyse ein wiederholbarer Prozess ist und keine einmalige Initiative.
Kann die Kontrolle der Auswirkungen von Änderungen auf das System vollständig automatisiert werden?
Das ist ein häufiges Missverständnis. Eine vollständige Automatisierung ist unmöglich – einige Aspekte erfordern immer eine Expertenbewertung. Teile der Analyse können automatisiert werden: Überprüfung direkter Verknüpfungen, Vorhandensein von automatischen Tests, Informationsbenachrichtigungen über die Überschneidung von Komponenten, jedoch nicht der Ersatz von subjektiver Expertise des Systemanalytikers.
Welche Risiken birgt informelle Kommunikation über Änderungen ohne Dokumentation?
Es wird angenommen, dass persönliche Kommunikation die Arbeit beschleunigt – wenn Diskussionen jedoch nicht dokumentiert werden, sind eine Zunahme der technischen Schulden und Schwierigkeiten beim Debugging nahezu garantiert. Später wird es schwierig, "unsichtbare" Zusammenhänge und Ursachen für Mängel zu erkennen.
Der Analyst hatte keine Anforderungstabelle, Änderungen wurden nur per E-Mail protokolliert. Nach dem Hinzufügen neuer Attribute auf einem Bildschirm funktionierten die Geschäftsprozesse in externen Modulen (z.B. CRM) nicht korrekt, was zu schweren Mängeln in der Produktion führte.
Vorteile:
Nachteile:
Vor der Änderung wurde die Einflussmatrix ausgefüllt, die Abstimmung mit Entwicklung und Testing durchgeführt und automatische Tests für Schlüssel-Szenarien hinzugefügt. Änderungen wurden in einer Testumgebung implementiert, wo Inkompatibilitäten rechtzeitig erkannt wurden.
Vorteile:
Nachteile: