Montag, 18. April 2016

Agile Prinzipien sind Methoden zur Risikominderung

Viele Risiken kommerzieller Softwareentwicklung können durch agile Prinzipien gemindert werden:

Risiko: Die Anforderungen des Auftraggebers werden nicht ausreichend abgedeckt. Seine Erwartungen beispielsweise an die Gebrauchstauglichkeit des Produkts werden nicht vollständig erfüllt.
Maßnahmen: Das geplante Produkt wird inkrementell entwickelt, das heißt in möglichst kurzen Zyklen, deren Ergebnis jeweils lauffähige Software ist, die vom Auftraggeber hinsichtlich der Erfüllung seiner Erwartungen überprüft werden kann. Der Auftraggeber, insbesondere seine fachlichen und technischen Experten, arbeiten eng und intensiv mit dem Entwicklungsteam zusammen.


Risiko: Ziele und Anforderungen des Auftraggebers verändern sich, bevor die Entwicklung abgeschlossen ist, beispielsweise infolge von Veränderungen des Marktes.
Maßnahmen: Ein Prinzip des Agilen Manifests lautet: "Heiße Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden." Agile Softwareentwicklung zeichnet sich grundsätzlich durch die Bereitschaft aus, neue oder geänderte Anforderungen zu berücksichtigen. Jedoch schließt dies nicht eine Einigung zwischen Vertragspartnern bezüglich der kaufmännischen Auswirkungen von Veränderungen auf ein Entwicklungsprojekt aus.

Risiken: Falsche Einschätzung des Entwicklungsfortschritts, Verzögerungen durch Kommunikationsprobleme, Verlust von Know-how durch Personalausfall.
Maßnahmen: Diese Risiken werden in der agilen Entwicklung durch ein hohes Maß an Teamarbeit gemindert. Tägliche kurze Meetings dienen der Diskussion aufgetretener Probleme, der gemeinsamen Einschätzung des Fortschritts und der Verteilung anstehender sowie, falls es sinnvoll erscheint, auch der Umverteilung begonnener Aufgaben. Die Vermeidung starrer Rollen- und Aufgabenzuordnungen macht das Team robust gegenüber dem Ausfall einzelner Mitglieder.

Risiko: Mehraufwand durch zu spät erkannte Qualitätsdefizite.
Maßnahmen: Ein Merkmal agiler Entwicklung sind automatisierte Prozesse zur täglichen Neuerstellung einer lauffähigen Anwendung. Dabei durchläuft der Code in der Regel eine automatisierte Codeanalyse, durch programmierte Komponententests wird die Funktionalität einzelner Komponenten überprüft und, soweit möglich, werden nach der Integration zu einer lauffähigen Anwendung Skripte zur Ausführung von Testfällen aufgerufen.

Risiko: Invalide Planung hinsichtlich des erforderlichen Personalaufwands, um den Entwicklungsauftrag in der notwendigen Zeit erfüllen zu können.
Maßnahmen: Diesem Risiko kann durch die Verwendung von Aufwandsschätzmethoden begegnet werden, deren Genauigkeit sich mit jeder Retrospektive verbessert. Solche Methoden werden in meinem Buch "Aufwandsschätzungen in der agilen Softwareentwicklung" beschrieben.

Keine Kommentare:

Kommentar veröffentlichen