12.1 Agile Softwareentwicklung

In den letzten 3 Jahrzehnten hat sich die Vorgehensweise bei der Softwareentwicklung grundlegend verändert. Früher war es üblich, eine Software erst einmal insgesamt zu spezifizieren. Das heißt, genau aufzuschreiben, was die Software genau machen soll. Angefangen hat man mit einer groben Spezifikation, die man dann nach und nach verfeinert hat. Natürlich wurde diese Spezifikation dann mit demjenigen abgestimmt, der diese Software benutzen will. Anschließend wurde die Software dann programmiert, ausprobiert und wenn alles fertig war, dem Kunden übergeben.

Der modernere Ansatz ist, dass man die Software in kleinen Teile zerlegt und die von der Spezifikation bis zum Code einzeln bearbeitet und mit dem Benutzer abspricht. Das hat 2 wesentliche Vorteile:

1. Man bekommt früh mit, was der Benutzer eigentlich möchte und kann auch mal Änderungswünsche zwischendurch einbauen.

2. Man sieht früh, was sich wie in dem Programm verwirklichen lässt. Denn eine Spezifikation kann noch so gut sein – die Umsetzung in den Code zeigt erst was geht und was nicht geht. Diese Prinzipien wollen wir in dem folgenden Beispiel verwirklichen.