Agile Softwareentwicklung

Concept

Was ist das?

Eine Reihe von Praktiken, bei denen iterative Entwicklungszyklen und selbstorganisierende Teams im Vordergrund stehen. Im Gegensatz zu wasserfallartigen Projekten, bei denen der Wert erst ganz am Ende des Projekts entsteht, konzentriert sich die agile Softwareentwicklung auf eine kontinuierliche, schrittweise Wertschöpfung und eine evolutionäre Verbesserung des Prozesses selbst.

Probleme, die damit gelöst werden

Es ist sehr schwierig, wenn nicht sogar unmöglich, die Anforderungen für alle Beteiligten eines Softwareprojekts zu definieren, zu kommunizieren und zu verstehen. Dennoch wollen die Kunden, dass ihre Softwareprojekte pünktlich, in guter Qualität, innerhalb des Budgets und des Umfangs geliefert werden. Mit ihrer zyklischen Natur ermöglicht die agile Softwareentwicklung eine kontinuierliche Anpassung der Anforderungen und eine schnellere Anpassung an alle anderen Umstände als bei Wasserfallstrategien.

Wie es hilft

Die agile Softwareentwicklung umfasst alle Phasen der traditionellen (wasserfallartigen) Strategien, wie Anforderungserhebung, Planung, Umsetzung, Überprüfung, Test und Auslieferung. Der größte Unterschied besteht darin, dass die gesamte Zeitspanne eines Softwareprojekts in Iterationen unterteilt ist, die jeweils alle diese Phasen enthalten. Nach jeder Iteration kann der geschaffene Wert mit dem Kunden besprochen werden und die Anforderungen können im Hinblick auf das Endziel angepasst werden. Außerdem überlegt das Entwicklungsteam im Nachhinein, welche Maßnahmen ergriffen werden müssen, um den Prozess selbst zu verbessern.