Seit über 25 Jahren agile Software-Entwicklung, geht das?
Die Corona Einschränkungen haben bei mir – wie vermutlich bei vielen Anderen – dazu geführt, den Schrank im Arbeitszimmer zu durchleuchten und nicht mehr notwendige Dinge zu entsorgen. Das ein oder andere Buch zu veralteten IT Technik Themen wanderte dadurch zum Altpapier.
Aber man hat ja auch noch Bücher, an denen man aus verschiedensten Gründen hängt und einfach noch aufheben will. Ich hielt ein solches in der Hand: „Systementwicklung mit Strukturierten Methoden“ von Jörg Raasch. Das Buch ist weit über 20 Jahre alt (meine Ausgabe ist von 1993) – ich habe es damals in mich aufgesogen. Ich musste natürlich hineinblättern und wollte sehen, welche Themen dort abgehandelt wurden.
Einer der hinteren Abschnitte beschäftigt sich mit Projektmanagement und Vorgehensmodellen – Themen, die mich noch heute sehr beschäftigen und interessieren. Also habe ich in dieses Kapitel genauer hineingeschaut, um zu sehen, was vor so langer Zeit gelehrt wurde.
Klar, das Wasserfallmodell wurde als Erstes ausführlich beschrieben. Spannender dann aber für mich Ausführungen zum Prototypingmodell, dem Spiralmodell und der evolutionären Auslieferung.
Diese Begriffe sind heute ungewohnt, wenn man aber den Ausführungen folgt, entdeckt man doch sehr viele Prinzipien, die in der heutigen Softwareentwicklung zum Standard gehören oder insbesondere auch im Kontext der sehr beliebten Methode „agiles Vorgehen“ Anwendung finden.
So lese ich dort, dass bei der Umsetzung von Software Systemen Prototypen implementiert werden, wenn „Eingabe- oder Ausgabeformate oder auch die zentralen Verarbeitungsregeln nicht hinreichend klar sind und auf andere Weise nicht geklärt werden können“. Das macht auch heute noch Sinn und man könnte noch die Sonderform des Technologie Prototypen hinzufügen, um die Einsetzbarkeit neuer Technologien zu verifizieren. Heute verwendet man eher die beliebten Akronyme PoC (Proof of Concept) sowie PoT (Proof of Technology) – am Sinn und Zweck hat sich aber nichts verändert. Während Jörg Raasch noch strikt darauf hingewiesen hat, dass der Prototyp zum Wegwerfen ist, wird heute durchaus ein Prototyp durch Refactoring (Um- und Neubau von Teilen des Systems) zu einem produktiv einsetzbaren System weiterentwickelt.
Beim Spiralmodell kommen dann erstmalig Zyklen –heute Iterationen genannt – ins Spiel. In jedem Zyklus werden Anforderungen definiert / verfeinert, ggf. ein Prototyp weiterentwickelt, ein technisches Design erstellt, Software implementiert und getestet. Risikoanalyse und „dynamische Reaktion auf neue Erkenntnisse im Projekt“ sind dabei wichtige Merkmale, um nach einer gewissen Anzahl an Zyklen die fertige Lösung zu haben.
Bei diesem Modell sind wir endgültig bei agilen Vorgehensmodellen gelandet. Weitere Zitate, die sich direkt auf heutiges agiles Vorgehen abbilden lassen:
- „…an jedem Phasenanfang Überlegungen hinsichtlich der Risiken…“
- „…an jedem Phasenabschluss Sitzungen…“
- „Die Aufwandsschätzung sollte sich nur auf die unmittelbar folgende Phase beziehen.“
Wenn man an dieser Stelle die Risiken im Sinne der für die Zielgruppe nützlichen Anforderungen interpretiert, hat man typische Elemente eines Sprints im Sinne von Scrum.
Wenn man nun noch die Prinzipien der evolutionären Auslieferung hinzufügt, hat man sehr viele Element des agilen Vorgehens beieinander. „Die evolutionäre Auslieferung zerlegt das eine große Projekt in möglichst viele kleine Projekte, in denen Teilergebnisse erarbeitet werden, die bereits für den Anwender nützlich sind“. Die kleinen Projekte sind also unsere heutigen Sprints, wobei man „früher“ sicherlich keine 2 Wochen Zyklen im Sinn hatte.
Wenn man den weiteren Ausführungen folgt, findet man immer mehr Prinzipien, die heute auch ihre Anwendung finden:
- Kritische Dinge zuerst angehen
- Use Cases, die einfach zu implementieren sind und großen Nutzen stiften, ebenso zuerst umsetzen
- Aus den Erfahrungen der ersten Iteration lernen und Dinge ggf. anpassen (Refactoring)
- Frühes Einholen von Feedback durch die Endanwender, das wieder in die Entwicklung einfließt
Ich muss zugeben: Dass ich so viele Prinzipien, die für mich heute selbstverständlich sind, in diesem Buch wiedergefunden habe und die heute fester Bestandteil agilen Vorgehens sind, hat mich doch überrascht.
Im Detail gibt es sicher noch viele Unterschiede zwischen den damals dokumentierten Vorgehensmodellen und den heutigen agilen Methoden – aber entscheidend sind zunächst die Grundprinzipien.
Weiterhin fühle ich mich bestärkt, neueste Entwicklung im Auge zu behalten und diese gegen bisher geltende Prinzipien abzuwägen. Neue, moderne oder auch „modische“ Begriffe bedeuten nicht zwangsweise neues Vorgehen und neuer Mehrwert – das bekannte Sprichwort „alter Wein in neuen Schläuchen“ kommt mir gerade in den Sinn. Wir werden sicherlich weiterhin die Augen für neue Vorgehensmodelle offenhalten und Aspekte, die uns Mehrwerte erbringen, in unser Vorgehen integrieren.