Geschichte
Als Konrad Zuse 1941 in Berlin den ersten Computer baute, begann eine Pionierzeit, die durch die Entwicklung fundamentaler Konzepte wie der Computerarchitektur und des strukturierten Programmierens geprägt wurde.
Als Konrad Zuse 1941 in Berlin den ersten Computer baute, begann eine Pionierzeit, die durch die Entwicklung fundamentaler Konzepte wie der Computerarchitektur und des strukturierten Programmierens geprägt wurde.
| Jahr | Konzept | Methode | Umsetzung |
|---|---|---|---|
| 1941 | Struktur | Tüfteln | Handwerk |
| 1968 | Phasen | Übergabe | Wasserfall |
| 2001 | Iteration | Feedback | Scrum |
| 2026 | Kontext | Passgenauigkeit | Disziplinen |
Die Softwarekrise der 1960er Jahre war eine Folge der zunehmenden Komplexität von Software und der mangelnden Reife der Entwicklungsmethoden. Eine Lösung sollte eine Arbeitskonferenz 1968 im oberbayerischen Garmisch erarbeiten, die vom NATO-Wissenschaftsausschuss gefördert wurde.
Die Konferenz etablierte den Begriff Software Engineering und definierte das Phasenmodell, das die systematische und ingenieurmäßige Entwicklung von Software zum Ziel hatte. Später wurde das Phasenmodell als Wasserfallmodell bekannt, obwohl bereits auf der Garmischer Konferenz die Bedeutung von Feedback betont wurde.
In der Praxis gestaltete sich der Übergang zwischen den Phasen als problematisch. Um Verbindlichkeit zu schaffen, wurde versuchte, die Übergänge durch verstärkte Bürokratie zu kontrollieren, was jedoch neue Hürden mit sich brachte. Diese wurden wiederum mit noch mehr Bürokratie beantwortet, wodurch sich der Teufelskreis weiter verschärfte.
In den 1990er Jahren formierte sich schließlich die Gegenbewegung „leichtgewichtig“, die 2001 in das Agilen Manifest und den Begriff Agilität mündete. Agile Frameworks basieren ebenfalls auf dem Phasenmodell, auch wenn sich die agile Community häufig davon distanziert. Der entscheidende Unterschied liegt in den kürzeren Iterationen und dem damit verbundenen schnelleren Feedback.
In der traditionellen Arbeitsweise folgt auf eine lange Entwicklungsphase die Testphase. Im agilen Prozessmodell wird die Entwicklung in kurze Iterationen (Sprints) unterteilt und fehlerfrei ausgeliefert. High Performer führen Tests nach jeder Änderung (Commit) durch.
Aber auch die Agilität ist in die Bürokratiefalle getappt. Aktivitäten werden mechanisch abgearbeitet, ohne das Wesen der Agilität zu verstehen. Zudem hat seit der Verabschiedung des Agilen Manifests die Komplexität der Softwareentwicklung erheblich zugenommen.