Agile Software
15.03.2010, 08:35 Uhr
schneller, besser, preiswerter
Schweizer Unternehmen sind mit der Qualität ihrer Software unzufriedener als noch vor einem Jahr. Wo liegen die Ursachen und wie lässt sich das ändern? Computerworld sprach mit Jonathan Rende, Vice President BTO Application Solutions bei HP.
Schweizer Unternehmen vergeben für die Qualität ihrer Software schlechtere Noten als noch vor einem Jahr. Zu diesem Ergebnis kam die aktuelle Marktstudie ,,Swiss IT", die Computerworld und IDC am 25. März vorstellen. Über 800 Unternehmen haben daran teilgenommen. Schweizer Software ist zu schlecht, zu fehlerhaft und kostet zu viel. Software-Projekte verschlingen Unsummen, überschreiten Zeitlimite und werden zu häufig komplett in den Sand gesetzt. Eine mögliche Lösung: Agile Methoden wie Scrum versprechen qualitativ hochwertige Software, die zudem exakt die Kundenanforderungen erfüllt. Denn der Kunde ist am gesamten Entwicklungsprozess beteiligt, was Irrwege und Fehlentwicklungen zu vermeiden hilft. Allerdings verlangen agile Methoden Software-Architekten, Programmierern und Kunden einiges ab. Lohnt sich der Einsatz? Computerworld sprach mit Jonathan Rende, Vice President und General Manager BTO Application Solution bei HP Software. CW: Herr Rende, warum scheitern so viele Software-Projekte? Rende: Bevor agile Methoden zum Einsatz kamen, wurden 60 bis 70 Prozent aller Software-Projekte in den Sand gesetzt. Die Standish Group kam in ihrer ,,Chaos Summary 2009" zu diesem erschreckenden Ergebnis. Projekte wurden entweder gar nicht ausgeliefert, an den Kundenanforderungen vorbei entwickelt oder sie haben den eingeplanten Zeitrahmen massiv überschritten und dadurch Mehrkosten verursacht. Mit agilen Methoden steigt der Erfolg von Software-Projekten exponentiell an. Lesen Sie auf der nächste Seite, welche drei Kernvorteile agile Methoden bringen Welche konkreten Vorteile bringen agile Software-Entwicklungsmethoden?
Drei Kernvorteile überzeugen: der Software-Entwicklungsprozess verkürzt sich, Unternehmen können schneller liefern und erfüllen exakter die Anforderungen ihrer Kunden. Die Software macht das, was der Kunden von ihr erwartet. Ausserdem erfüllen agile Projekte viel genauer zeitplanerische Vorgaben (hitting time lines), Eckstein des Erfolges ist aber ein gutes Management des agilen Projektes und die Automatisierung mit einem geeigneten Tool wie dem HP Quality Center Agile Accelerator, besonders bei grossen, geografisch verteilten Entwicklerteams ab etwa 100 Mitarbeitern. Wie funktionieren agile Methoden im Detail? Der traditionelle Wasserfall-Ansatz (waterfall) sah so aus: Erst haben Anbieter wochenlang die Kundenanforderungen aufgenommen, danach bekamen Entwickler ein umfangreiches Pflichtenheft in die Hand gedrückt und haben monatelang programmiert, und am Ende wurde das Fertigprodukt dann dem Kunden übergeben. Der Kunde hat dadurch erst zu spät gemerkt, dass er eigentlich etwas ganz anderes wollte. Die agile Methodik stellt diesen Ansatz vom Kopf auf die Füsse. Das Gesamtprojekt wird dabei in viele Teilprojekte aufgebrochen, an denen kleine Teams arbeiten. Jedes Teilprojekt durchläuft den Zyklus: Anforderungen definieren - programmieren - testen. Fehlentwicklungen werden so viel schneller aufgedeckt, korrigiert und verursachen weniger Kosten. Der Kunden ist an jedem Entwicklungsschritt beteiligt. Wie verbreitet sind heute Methoden der agilen Software-Entwicklung in Unternehmen? Die Mehrheit der Developer nutzt bereits agile Methoden oder denkt ernsthaft über deren Einsatz nach. In der Region EMEA sind das nach meiner Einschätzung über 80 Prozent. Die Ergebnisse einer Forrester-Studie zum Stand der agilen Software-Entwicklung werden wir in drei Wochen bekannt geben. So viel vorweg: Vor allem die drei Kernvorteile überzeugen 70 Prozent der Befragten. Welche agile Methode HP selbst einsetzt, lesen Sie auf der nächsten Seite Welchen agilen Ansatz setzt HP bei der Software-Entwicklung ein? Es gibt ja viele Varianten. Bei der Entwicklung unseres HP Quality Center Agile Accelerator haben wir ein modifiziertes Scrum benutzt. Vor etwa drei Jahren sind wir bei HP vom klassischen Wasserfall zu agilen Methoden gewechselt, und seitdem hat sich die Qualität der Software-Produkte signifikant verbessert. Agile Entwicklerteams sind sich sicher, dass sie nicht an den Bedürfnissen ihrer Kunden vorbei entwickeln und am Ende viele Komponenten neu programmieren müssen. Eine Neuentwicklung (refactoring) verdoppelt den Preis für das Produkt. Der agile Ansatz kann Unternehmen sehr viel Geld sparen. Sie favorisieren also ein modifiziertes Scum? HP Quality Center Agile Accelerator unterstützt alle agilen Methoden, wir vertreten dabei einen neutralen, sozusagen agnostischen Standpunkt. Alle agile Methoden garantieren aber, dass ein qualitativ hochwertiges Produkt entsteht, das exakt die Kundenwünsche erfüllt. Wie überzeugt man Entwicklerteams, agil zu programmieren? Programmierer müssen sich umstellen, das kommt einer Kulturrevolution gleich.
Mit agilen Methoden spart man sich die anschliessende Dokumentation, und Programmierer hassen es, Dokumentationen zu schreiben. Zyniker behaupten, dies sei das ausschlaggebende Argument gewesen. Gibt es besonders schwere Fehler (defects) und solche, die man vernachlässigen darf? Fehler müssen priorisiert werden. Prio-1-Fehler sind solche, welche die Umsätze des Kunden (revenue stream) und seine kritischen Geschäftsprozesse gefährden. Prio-1-Fehlfunktionen schmerzen den Kunden besonders und müssen auf jeden Fall behoben werden. Fehler in unkritischen Nice-to-haves haben demgegenüber eine niedrigere Priorität. Eine noch weit verbreitete Gruppierung in hoch, mittel, und niedrig hilft dabei nicht wirklich weiter; wichtig ist die konsequente Ausrichtung an den Kundenanforderungen, an seinen geschäftlichen Erfordernissen. Auch bei der Fehlersuche und beim Testing.