Agile Softwareentwicklung

Was es ist

Agile Softwareentwicklung beschreibt ein Vorgehensmodell der Softwareentwicklung, bei der die Arbeit in Iterationen und selbstorganisierte Teams im Vordergrund stehen. Im Vergleich zu wasserfallartigen Projekten, bei denen die Ergebnisse erst am Ende eines Projekts entstehen, liegt der Fokus der agilen Sofwareentwicklung auf einer kontinuierlichen Bereitstellung von Software-Inkrementen und ständiger Verbesserung des Prozesses.

Welches Problem es löst

Das Kommunizieren und Verstehen der Anforderungen eines Softwareprojekts ist ein sehr schweres, wenn nicht sogar unmögliches Unterfangen. Dennoch wollen Kunden meist, dass Softwareprojekte in einem fest definierten Umfang, im Rahmen eines festen Budgets, pünktlich und hoher Qualität fertiggestellt werden. Der zyklische Charakter agiler Softwareentwicklung ermöglicht eine bessere Anpassung der Anforderung oder generell an die Veränderung diverser Umstände, als wasserfallartige Vorgehensweisen es tun.

Wie es das Problem löst

Alle Phasen traditioneller (wasserfallartiger) Vorgehensmodelle wie etwa Anforderungsmanagement, Planung, Implementierung, Test und Auslieferung sind in der agilen Softwareentwicklung gleichermaßen vorgesehen. Allerdings, und das ist der größte Unterschied, ist die gesamte Zeitspanne eines Softwareprojekts in Iterationen unterteilt, die jeweils alle diese Phasen enthalten. Nach jeder Iteration kann ein erschaffenes Software-Inkrement zusammen mit dem Kunden überprüft sowie Anforderungen angepasst werden. Weiterhin erhält das Entwicklungsteam die Chance, über den Prozess selbst zu reflektieren und konkrete Handlungen für Verbesserungen abzuleiten.