Agile Softwareentwicklung
Modelle wie das Wasserfallmodell und das V-Modell werden aber heutzutage als zu „bürokratisch“ und zu schwerwiegend empfunden. Der Grund dafür ist, dass die Modelle zu viele Regeln und Gesetze festlegen, die nicht zu jedem Softwareprojekt passen und auch nur wenig Flexibilität zulassen.
Besonders von Seiten des Auftraggebers ist es nicht unüblich, dass weit nach Beginn des Projektes neue Wünsche und Erwartungen an die neue Software hinzukommen, auf die ein Entwicklerteam reagieren muss. Mit der agilen Softwareentwicklung hat sich aber eine ganz neue Herangehensweise etabliert, die die Schwachstellen der herkömmlichen Vorgehensmodelle bereinigt.
Eigenschaften agiler Softwareentwicklung
Die agile Softwareentwicklung folgt ebenfalls bestimmten Prinzipien. Diese konzentrieren sich aber mehr auf die Arbeit der beteiligten Personen untereinander. Die Regeln sind so aufgestellt, dass sie ein hohes Maß an Flexibilität zulassen und keine gerade Linie vorgeben, der zwingend gefolgt werden muss. Das Vorgehensmodell wird deswegen auch als leichtgewichtig und unbürokratisch bezeichnet.
Der Ablauf in der agilen Softwareentwicklung
Das oberste Ziel der agilen Softwareentwicklung ist die Auslieferung einer lauffähigen Software. Damit ist aber nicht die finale, fertige Software am Ende gemeint. Es geht vielmehr darum, dem Auftraggeber über den gesamten Entwicklungsprozess regelmäßig lauffähige Versionen seiner bestellten Software zu präsentieren.
Während des Prozesses werden die klassischen Phasen eines Projekts durchlaufen, nämlich die Analysephase, die Entwurfsphase, die Realisierungsphase und die Einführungsphase. Doch der Prozess ist als inkrementell und iterativ zu bezeichnen. Das heißt, dass jede Phase immer wieder durchlaufen wird, bis das Projekt als Ganzes abgeschlossen ist.
Während des Prozesses legt das Modell Wert auf ein motivierendes Arbeitsumfeld, auf den ständigen Einbezug des Auftraggebers und auf ein selbstorganisiertes Arbeiten. Am wichtigsten ist der Fortschritt auf dem Weg zur endgültigen Software und Formalien wie eine Dokumentation oder die Einhaltung fester Phasen werden zwar ernst genommen, stehen aber nicht im Vordergrund.
Agile Softwareentwicklung - Verwendung in der Praxis
Deswegen ist es vorhersehbar, dass Auftraggeber über die Laufzeit des Prozesses hinweg neue Wünsche oder Anforderungen an die zukünftige Software stellen.
Die agile Softwareentwicklung ist ein Modell, das diesem Umstand gerecht werden kann. Auch aus diesem Grund hat es in der modernen Softwareentwicklung die älteren Vorgehensmodelle fast vollständig abgelöst. Softwarefirmen setzen heute fast nur noch auf agile Prozesse und schaffen damit ein erfolgreiches Arbeitsklima zwischen Entwicklerteam und Auftraggeber.