Agilität 06.05.2008, 08:34 Uhr

Konzentration aufs Wesentliche

Agile Software-Entwicklung ist schneller und effizienter als traditionelle Methoden. Denn sie stellt das Wesentliche ins Zentrum: das lauffähige System. Wie das in der Praxis funktioniert, erklärt die renommierte Spezialistin, Beraterin, Buchautorin und SET-Fachbeirätin Jutta Eckstein.
Jutta Eckstein: "Agile Entwicklung verlangt nach Transparenz und Offenheit."

Computerworld: Frau Eckstein, was sind die wichtigsten Zielsetzungen agiler Software-Entwicklung und wie unterscheidet sie sich von traditionellen Vorgehensweisen?


Jutta Eckstein: Der Kern der Agilität ist der ständige Fokus auf die Maximierung des Geschäftswerts. Alles andere leitet sich davon ab: Zum Beispiel erstellen wir mit jeder Iteration - also typischerweise alle zwei Wochen - ein lauffähiges Produkt, das den momentan höchstmöglichen Geschäftswert beinhaltet. Durch regelmässige Rückkopplung mit dem Kunden wird gewährleistet, dass das System auch tatsächlich den momentan höchstmöglichen Geschäftswert beinhaltet und nicht irgendetwas, das man eventuell irgendwann einmal, vielleicht aber auch nie, benötigt. Die traditionelle Vorgehensweise stellt im Gegensatz dazu den Geschäftswert erst am Ende der Projektlaufzeit sicher.

Lassen sich die versprochenen Effizienz- und Produktivitätssteigerungen quantifizieren?

Wie gesagt, der Kern der Agilität bezieht sich auf die Maximierung des Geschäftswerts - das kann man insofern als Effizienz- oder auch Produktivitätssteigerung verstehen, als dass man sich nicht auf Unnötiges konzentriert, oder auch insofern, als dass man mit dem Produkt früher auf den Markt kann.
Den grossen Gewinn der agilen Vorgehensweise sehe ich allerdings nicht in der Produktivitätssteigerung, sondern vielmehr darin, dass durch die ständigen Rückkopplungen Risiken schneller sichtbar werden und sich Probleme nicht verstecken lassen. Dabei können sich sowohl die Risiken als auch die Probleme auf die unterschiedlichsten Bereiche beziehen. Beispielswise auf die Funktionalität, die eingesetzte Technologie, die Entwicklungsgeschwindigkeit oder auch die Qualität des Systems.

Was bedeutet agile Software-Entwicklung für die Mitarbeiter?

Agile Softwareentwicklung erfordert hohe Eigenverantwortung von den Mitarbeitern. Diese muss man entsprechend einfordern aber vor allem auch fördern. Die Entwickler sind nicht nur für die Schätzungen verantwortlich, sondern auch für die Aufstellung und Erfüllung des Iterationsplans. Weiterhin sind sie für die Qualität und die Einhaltung der Regeln, etwa die Verifizierung jedes Produktivcodes durch Tests, zuständig.
Der Kundenvertreter hingegen muss die Ansprüche der verschiedenen Kundengruppen unter einen Hut bringen und über entsprechende Priorisierung der gewünschten Features die Maximierung des Geschäftswerts sowie die Rückkopplung mit den Kunden sicherstellen.
Im Weiteren liegt es in der Verantwortung des gesamten Teams, regelmässig und typischerweise nach Abschluss jeder Iteration die eigene Arbeitsweise genau zu hinterfragen. Dabei werden auch Strategien ausgetüftelt, wie das Team als Einheit effektiver werden kann. In der agilen Terminologie wird dies als Retrospektive bezeichnet.



Das könnte Sie auch interessieren