Agile Softwareentwicklung

Ein Pflichtenheft beschreibt, was heute gebraucht wird. Nach einem Jahr Bauzeit stimmt die Hälfte davon nicht mehr. Agile Softwareentwicklung nimmt diese Beobachtung zum Ausgangspunkt statt sie zu bekämpfen.
Zwei Mitarbeiterinnen einer Software Agentur arbeiten den Scrum Process bei der agilen Softwareentwicklung aus.
© Alexander

Was Agile Softwareentwicklung bedeutet

Agile Softwareentwicklung ist eine Arbeitsweise, bei der Software in kurzen, wiederkehrenden Abschnitten entsteht und nach jedem Abschnitt ein benutzbares Zwischenergebnis vorliegt. Anforderungen werden nicht einmal vollständig festgeschrieben, sondern laufend nachgeschärft, sobald das bisher Gebaute zeigt, was tatsächlich gebraucht wird.

Der Kern ist eine Wette auf Rückmeldung. Ein benutztes Zwischenergebnis liefert bessere Anforderungen als jede Sitzung. Deshalb steht am Ende jedes Abschnitts nicht ein Bericht, sondern etwas, das jemand ausprobieren kann, und die Reihenfolge des Nächsten richtet sich nach dem, was dabei auffällt. Agile Softwareentwicklung verschiebt damit den Zeitpunkt, an dem ein Irrtum auffällt, von der Abnahme in die zweite Woche.

Agile Werte und agile Prinzipien

Die Grundlage sind vier Wertepaare und zwölf Prinzipien, festgehalten im Jahr 2001. Sie stellen funktionierende Software über umfassende Dokumentation, Zusammenarbeit mit dem Auftraggeber über Vertragsverhandlung, Menschen und Zusammenspiel über Werkzeuge und Prozesse sowie das Reagieren auf Veränderung über das Befolgen eines Plans. Jedes Paar wertet die rechte Seite nicht ab, es setzt nur eine Rangfolge für den Konfliktfall.

Verbreitete agile Methoden

Der Begriff bezeichnet eine Haltung, kein Verfahren. Konkret wird er erst durch eine Methode. Am verbreitetsten ist ein Rahmenwerk mit festen Abschnitten, Rollen und Terminen, wie es Scrum beschreibt. Daneben stehen Verfahren, die den Arbeitsfluss begrenzen statt ihn in Abschnitte zu schneiden, und technische Praktiken wie Testautomatisierung, kurze Auslieferungszyklen und gemeinsames Programmieren. Ohne die technischen Praktiken bleibt von agilen Methoden nur der Kalender. Wer alle zwei Wochen liefern will, braucht dafür einen Weg, der nicht jedes Mal drei Tage Handarbeit kostet.

Voraussetzungen und Missverständnisse

Kurze Zyklen helfen nur, wenn ihnen jemand folgen kann. Nötig sind eine entscheidungsbefugte Ansprechperson auf Auftraggeberseite, ein Team mit Gestaltungsspielraum und die Bereitschaft, Reihenfolgen zu ändern. Fehlt eines davon, bleibt vom Vorgehen nur ein engerer Terminkalender.

Agil bedeutet nicht ohne Plan und nicht ohne Dokumentation. Geplant wird häufiger und auf kürzere Sicht, dokumentiert wird das, was jemand später braucht, statt das, was ein Formular verlangt. Ebenso wenig ist es ein Preisargument, denn ein fester Umfang zum festen Preis passt schlecht zu einer Arbeitsweise, deren Zweck das Anpassen des Umfangs ist. Verträge über Softwareentwicklung beschreiben in dieser Arbeitsweise deshalb eher Zeitkontingente als abgeschlossene Werkleistungen. Die Herkunft der vier Wertepaare beschreibt das Agile Manifest.

Aktuelle Themen