Agiles Prinzip 7: Funktionierende Software


Lass uns einen Blick auf das siebte Prinzip unter dem Agilen Manifest werfen:

„Funktionierende Software ist das wichtigste Fortschrittsmaß.“

Was bedeutet das wirklich? Welchen Einfluss hat das auf unsere tägliche Arbeit? Lass uns dieses Prinzip analysieren und sehen, wo uns das hinführt.

  • Funktionierende Software“ – es ist unerheblich, wie viele Module, Schnittstellen und Dokumente wir in Arbeit haben oder wie viele davon existieren. Das einzige, was zählt, sind fertiggestellte, voll funktionstüchtige Teile des benötigten Softwareprodukts.
    Werte: Commitment, Fokus
    Prinzipien: Qualität, Aktive Einbindung der Anwender, Integrität einbauen
    Praktiken: Definition of Done, Akzeptanz-Tests, Einbindung der echten Anwender, Testen durch den Anwender, Produkt Demonstration
  • ist das wichtigste Fortschrittsmaß“ – niemand interessiert sich  für die Anzahl der Arbeitsstunden, die Anzahl der Programmzeilen oder eine andere technische Metrik. Nur fertige und auslieferbare Features sind wichtig.
    Werte: Einfachheit, Commitment, Feedback
    Prinzipien: Business Value, Regelmäßige Auslieferung
    Praktiken: Inkrementelles Deployment, Kleine Releases, Release Burndown, Produkt Demonstration, Messungen

Beispiel aus der Praxis:

  • Ein Team hat das Ziel, die Firmware für ein neues embedded System zu implementieren. Das System besteht aus einer Reihe einzelner Module, die über definierte Schnittstellen miteinander kommunizieren. Aus der Historie des Teams heraus gibt es Modulverantwortliche: Einzelne Entwickler, die jeweils an einem einzelnen Modul bis zur Fertigstellung arbeiten. Auf die Frage »Wie ist Deine Einschätzung zu unserem Zeitplan? Schaffen wir das alles bis zum Release-Datum?« antwortete einer der Entwickler: »Aus meiner Sicht haben wir kein Problem. Mein Modul wird auf jeden Fall fertig und wird funktionieren.« Was bedeutet diese Aussage nun für das auszuliefernde Gesamtsystem? Wir wissen es nicht! Die Fertigstellung eines abgekapselten Teils unserer gesamten Lösung hilft uns nicht weiter. Wir können keine Aussage darüber machen, ob wir es tatsächlich schaffen, in der gewünschten Zeit fertig zu werden. Genauso wenig wissen wir darüber, ob unser Kunde tatsächlich mit dem zufrieden sein wird, was er dann am Ende bekommen wird. Unser Fokus muss immer auf der gesamten, vollintegrierten Lösung liegen! Einzelne Teile haben nur sehr wenig Bedeutung.

Um es mit zwei Worten auszudrücken, im siebten Prinzip geht es um Funktionierende Software.


Kommentar verfassen Antwort abbrechen