🏠 » Lexikon » A » Agile Softwareentwicklung

Agile Softwareentwicklung

Die Entwicklung einer Software ist ein komplexer Vorgang und besteht nicht nur aus der Programmierung. Aus diesem Grund sind in den vergangenen Jahrzehnten Modelle aufgekommen, die einige Regeln und Vorgehensweisen zum Prozess der Softwareentwicklung aufstellen.

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

In der heutigen Zeit sind Technik und Software sehr schnelllebig, eine Software zu entwickeln dauert aber oft mehrere Jahre.

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.

Bitte bewerten (1 - 5):