Eine der großen Herausforderungen in den iterativen Modellen ist es, die bewusst kleinen Module zu einem großen Ganzen zusammen zu fügen. Manche sehen hier den entscheidenden Punkt, an dem sich die Tauglichkeit der agilen Methoden erweist. Schließlich legen diese Ansätze ihren Schwerpunkt mehr auf die vielen kleinen Entwicklungsschritte der einzelnen Module. Insgesamt zeichnen sich heutige Systeme jedoch vor allem durch ihre rasant steigende Komplexität aus. So müssen auch agile Methoden die weiter aktiven Posten der IT-Vergangenheit berücksichtigen: von Unix-Servern als Basis für die Client/Server-Architektur bis hin zu den Mainframes, die etwa fast alle Banken für ihr Kerngeschäft betreiben.
Hier greifen Integrationstests. Sie prüfen, ob die Komponenten oder Software-Anwendungen fehlerfrei zusammenwirken. Für den Integrationstest haben sich vor allem zwei Hauptstrategien herauskristallisiert:
Für die Analyse größerer Systeme und ihrer Bausteine eignet sich das Product Quality Assessment. Mit ihm untersuchen die Qualitätssicherer die vorhandene Architektur auf Basis des Quellcodes. Hierfür benutzen sie ausgefeilte Werkzeuge, mit denen sie feststellen, ob sich in der Programmierung relevante Architekturverstöße verbergen. Die Werkzeuge spielen hier einen entscheidende Rolle, denn die Anzahl der Programmzeilen, die Komplexität der vielen unterschiedlichen Objekte, die Vererbungsstrukturen und Komponentensichten machen es einem einzelnen Entwickler oder Tester ohne Hilfsmittel inzwischen sehr schwer, in großen Programmsystemen die wunden Punkte im Programmgewirr zu erkennen.
An dieser Stelle sind ausgewiesene Spezialisten von großem Nutzen. Sie machen die technischen Berichte aus den Product Quality Assessments erst zu hilfreichen Dokumenten, weil sie diese entsprechend interpretieren können. Die Reports machen nur deutlich, wo welche Komplexität im System verborgen ist. Die Architekturspezialisten können hingegen jenen Input geben, der über die Wirtschaftlichkeit der einzelnen Verbesserungsmaßnahmen entscheidet. Sie verstehen, ob die Komplexität Folge der geforderten Funktionen ist oder ob die Programme einfach nur verschlungen programmiert sind. Im ersten Fall ist die gefundene Komplexität eine Notwendigkeit, im letzteren treibt sie die Aufwände für Entwicklung und Wartung einfach nur sinnlos in die Höhe.
Systematische Tests und Qualitätssicherung entscheiden auch bei agilen Entwicklungsmethoden über die Wirtschaftlichkeit von Projekten oder sogar über deren gesamten Erfolg. Die rein formale Anwendung von Methoden wie XP mit dem Test-first-Ansatz sind nur ein Alibi, wenn nicht auch die Testprozesse beschrieben und gelebt werden. Sie sind besonders beim iterativen Vorgehen erfolgskritisch, weil sie die Ergebnisfortschritte der sehr vielfältigen Teilzyklen transparent machen. Diese Transparenz brauchen die Systemintegratoren, um die Teiliterationen sinnvoll integrieren und die Meilensteine des Projekts einhalten zu können. Dann bedeutet „agil“ am Ende auch „stabil“.
Dirk B. Meyerhoff ist als Entwicklungsleiter bei der SQS Software Quality Systems AG tätig.
Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt
Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.
Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…
Sie ermöglichen eine Remotecodeausführung. Angreifbar sind Acrobat DC, 2024 und 2020 sowie Reader DC und…
Die öffentlich bekannte und bereits ausgenutzte Schwachstelle erlaubt eine Rechteausweitung. Betroffen sind alle unterstützten Versionen…
Der neue Quantenchip Willow löst eine Herausforderung, an der seit 30 Jahren gearbeitet wird. Google…