Deutsche Post

Agilität und Großprojekte - ein Widerspruch?

13.02.2014
Die agile Softwareentwicklung ist in IT-Großprojekten angekommen, die die Gestaltung von Produkten mit hohen Sicherheitsanforderungen zum Ziel haben. Voraussetzung ist ein umfassendes Change-Management, das sichere Beherrschen des agilen Methodenkoffers und eine systematische Qualitätssicherung.

Seit die Verfasser des "Agilen Manifests" im Jahr 2001 den klassischen Phasenmodellen wie Wasserfall und V-Modell den Kampf angesagt haben, erlebt die Softwareentwicklung eine tief greifende Veränderung. Mittlerweile ist Agilität fast zu einem Hype-Begriff geworden. Darüber gerät gelegentlich aus dem Blick, was die Methode tatsächlich leisten kann und an welchen Stellen das ursprüngliche Dokument von 2001 aufgrund von Projekterfahrungen aus mehr als einer Dekade präzisiert werden sollte.

Oliver Zeiler kennt Herausforderungen und Vorteile der Agilität. Als Mitglied des Bereichsvorstands Brief der Deutschen Post AG entschied er sich dafür, bei der Einführung des E-Postbriefs das Wasserfall-Modell durch die agile Scrum-Methodik abzulösen. "Aufgrund ihrer langen Release-Zyklen und Produkt-Vorlaufzeiten sind Wasserfall-Prozesse für Internet-Applikationen wie den E-Postbrief auf Dauer nicht anwendbar", erklärt Zeiler 2013 auf der ignite-Konferenz. "Richtig aufgesetzt, funktioniert agile Produktentwicklung selbst in einem hoch sicheren Umfeld ebenso strukturiert wie ein Wasserfall-Prozess."

Als mitentscheidend für den Erfolg bewertet der CTO die Einführung eines übergreifenden Change-Managements, bei dessen Durchführung auch externe Berater hinzugezogen wurden. "Unterstützung von außen ist bei Produkten von solchem Umfang unerlässlich, um die Herausforderungen in agiler Methodik, Architektur und Technologie zu bewältigen", verdeutlicht Zeiler. An Stelle von im Vorfeld definierten, mehrmonatigen Entwicklungs- und Testphasen setzt die inkrementelle Scrum-Methode auf kurze "Sprints", in deren Rahmen Software-Funktionalitäten aus Anwendersicht ("User Stories") entwickelt werden. Dies stellt Entwickler, Tester und Qualitätssicherung (QS) vor grundlegend neue Herausforderungen.

Neues Berufsbild für Software-Tester

Dr. Oliver Zeiler, Deutsche Post: Als Mitglied des agilen Teams wird ein Tester zum ‚Testingenieur‘.
Dr. Oliver Zeiler, Deutsche Post: Als Mitglied des agilen Teams wird ein Tester zum ‚Testingenieur‘.
Foto: Deutsche Post

Insbesondere das Tätigkeitsfeld und -profil des Software-Testers erweitert sich durch Agilität beträchtlich. Zwar sollten Tester nach wie vor die klassischen Testansätze und Methoden wie Äquivalenzklassen-Analyse und Grenzwertbetrachtung beherrschen, doch sollten sie darüber hinaus weitere Kompetenzen mitbringen. "Als Mitglied des agilen Teams wird ein Tester zum ‚Testingenieur‘ und befindet sich auf Augenhöhe mit den Software-Entwicklern", schildert Zeiler die neuen Anforderungen. "Dafür muss er natürlich Testfälle schreiben, abarbeiten und gegebenenfalls automatisieren können. Gleichzeitig benötigt er aber auch kommunikative Skills. Agilität ist ohne ständigen Austausch mit allen Stakeholdern nicht denkbar. Ein ‚Testingenieur‘ muss mit einem Produktmanager genauso reden können wie mit einem Entwickler. Kurz, er muss einerseits den ganzen Methodenkoffer kennen und andererseits als kommunikativer ‚Botschafter‘ der Qualitätssicherung fungieren."

Dass diese zusätzlichen Anforderungen eine anspruchsvolle Aufgabe für Tester darstellen, kann auch Jörg Asshauer bestätigen. Der Agile-Experte ist Senior Consultant bei SQS Software Quality Systems, Dienstleister für Software-Qualität. "Das Tätigkeitsbild des Testers ändert sich massiv. Sie verfügen nicht nur über ein breites Know-how-Spektrum fachlicher Art, sondern auch über Schlüsselqualifikationen. Diese befähigen Tester dazu, Verantwortung zu übernehmen, pro-aktiv zu handeln und nach allen Seiten kommunizieren zu können. Sie schlüpfen so in die Rolle eines Architekten für Qualitätssicherung." Dies hat auch Auswirkungen auf die Tester-Ausbildung, der künftig ein Mix aus klassischem Test-Know-how und agilen Best Practices zugrunde liegen wird.

Agile Systematik erweitern

In Stein gemeißelt ist die agile Systematik freilich nicht. Gerade die stark vereinfacht formulierten vier "Werte" des agilen Manifests sind dem Verständnis von Agilität nicht unbedingt förderlich gewesen. So kann sich etwa die laut agilem Manifest nachrangige Bedeutung der Produkt- und Testdokumentation im Hinblick auf spätere Software-Zertifizierungen als kritisch erweisen.

Jörg Asshauer, SQS: Bei einem großen, abteilungsübergreifenden Produkt lassen sich nicht alle Probleme mit dem üblichen Scrum-Methodenkoffer lösen
Jörg Asshauer, SQS: Bei einem großen, abteilungsübergreifenden Produkt lassen sich nicht alle Probleme mit dem üblichen Scrum-Methodenkoffer lösen
Foto: SQS

Daher kann es etwa ratsam sein, in der agilen Community gezielt nach reiferen Vorgehensmodellen, Best Practices und Lösungswegen zu recherchieren, die komplexen Projekten und Produkten mit hohen Sicherheitsanforderungen gerecht werden: "Die grundlegende Systematik der Agilität muss erweitert werden, um Großvorhaben bewältigen zu können", betont Asshauer. Die Praxis zeige, dass ein über das agile Manifest hinaus gehendes Framework erforderlich sei, das beispielsweise Regularien für QS und Testen verankere und die veränderte Rolle des Testers abbilde. Und Zeiler merkt an: "Bei einem großen, abteilungsübergreifenden Produkt lassen sich nicht alle Probleme mit dem üblichen Scrum-Methodenkoffer lösen. Wenn man etwa mit mehreren, teilweise standortübergreifend verteilten Teams arbeitet, ist es ratsam, im Sinne einer besseren Transparenz und Koordination neben Change- auch ein klassisches Projektmanagement aufzusetzen."

Agiles Risiko: "Technical Debt"

Eine potenzielle Schwäche des agilen Ansatzes hängt unmittelbar mit zwei seiner größten Vorteile zusammen, der Schnelligkeit und der Flexibilität: Sie können zu einem starken Anwachsen der so genannten "Technical Debt" führen. Diese entsteht durch Auslassungen und Abweichungen im Quellcode, die einen erhöhten Wartungs- und Nachbesserungsbedarf mit sich bringen. "Es kommt vor, dass in agilen Entwicklungsprozessen unter Zeitdruck manche nachgeordneten Aufgaben ‚quick & dirty‘ erledigt werden, gerade gegen Ende eines Sprints", warnt Asshauer. "Zudem lässt sich beobachten, dass bestimmte Standards wie automatisierte Regressionstests auf der untersten Ebene des Unit-Tests nicht flächendeckend angewandt werden." Problematisch sei zudem, dass die agile Grundsystematik keine Antwort auf die Frage gebe, wann das Entwicklungsteam Zeit für Korrekturen bekommen solle. Eine Möglichkeit sei, dem Team in jedem Sprint eine festgelegte Zeitquote für das "Refactoring" zur Verfügung zu stellen.

Agile Chance: Schnelligkeit

Ausschlag gebende Bedeutung gewinnt der agile Faktor Schnelligkeit, wenn bei einem Software-Entwicklungsprozess die schnelle Markteinführung höchste Priorität genießt. "Die hohe Taktrate des Internets erforderte zwingend den Einsatz agiler Methoden bei unserem E-Postbrief. Die Zeiteinsparung durch den Umstieg auf Scrum macht die Kosten für Change-Beratung, Workshops et cetera wieder wett. Unsere Ziele Wirtschaftlichkeit, Effizienz und Kundenzufriedenheit haben wir erreicht", resümiert Oliver Zeiler.

Voraussetzung für eine erfolgreiche Gestaltung sind die Vorarbeiten. "Zu Beginn aller Agilität steht erst einmal ein Pilotprojekt. Das ‚Mindset‘ der Mitarbeiter muss agil transformiert werden, während die Führungskräfte ein dezidiertes Commitment zur Agilität abgeben müssen", betont Asshauer. Mit den ersten Projekterfolgen etabliert sich der Regel die agile Entwicklung auf breiter Front. In zehn Jahren, so schätzt der SQS-Manager, werde 90 Prozent aller Software-Entwicklung agil ablaufen. Deutsche-Post-CTO Zeiler hält das für niedrig angesetzt: "In zehn Jahren wird die Entwicklung aller Software-Produkte agil sein." (jha)