Gastbeitrag: Chancen und Hürden agiler Modelle und Methoden in der Softwareentwicklung erklärt Paul Müller
Foto: Software Quality Lab
Der Autor Paul Müller ist Trainer und Berater bei Software Quality Lab
Agile Modelle und Methoden erfreuen sich immer größerer Beliebtheit, weil man sich oftmals von ihnen schnellere Entwicklungszyklen bei höherer Qualität verspricht. Vor allem Scrum und zunehmend auch Kanban werden in vielen Projekten eingesetzt. Dabei sind dies keine fertigen Prozessmodelle, sondern Frameworks, die erst durch konkrete Prozesse gefüllt werden müssen. Wesentliche Eckpfeiler, Grundwerte und Prinzipien werden beschrieben, dazu passende Methoden und Abläufe können selbst gewählt werden.
In beiden Frameworks werden einige technischen Aspekte vorgegeben wie der formale Ablauf eines Sprints im Scrum oder die Begrenzung des Work in Progress in Kanban. Doch bauen diese Frameworks in fundamentaler Weise auf Teamwork, Transparenz, Kundenorientierung und ständiger Prozessverbesserung auf. Diese Prinzipien tragen sehr viel zu klarer und konstruktiver Kommunikation bei, in den meisten Projekten ist dies die wichtigste positive Wirkung.
Durch das Prinzip des wiederholten raschen Kundenfeedbacks in kurzen zeitlichen Abständen werden Irrwege in den Anforderungen und deren Umsetzung von vornherein minimiert. Damit tragen agile Modelle bei sinngemäßer Anwendung inhärent zur Risikominimierung und Qualitätsverbesserung bei.
Das Qualitätsbewusstsein sollte auch die Total Cost of Ownership beinhalten, die Betrachtung der realen Gesamtkosten weit über die Produktauslieferung hinaus. Das bezieht insbesondere die indirekten Folgen von Versäumnissen auf technischer Ebene mit ein. Die Verwendung veralteter Tools und Technologien oder mangelhafte Aus- und Weiterbildung zeigen sich unter anderem durch immer schwerer wartbaren Code. Dieser verschlingt in der Wartungsphase und Weiterentwicklung von Features immer mehr Zeit, die für die innovative Produktentwicklung fehlt.
Schon die Art der Einführung von Scrum oder Kanban ist entscheidend für die erfolgreiche Weiterentwicklung der Prozesse. Kanban respektiert explizit die vorhandene Prozesslandschaft in einem Projekt und fördert von Anfang an die schrittweise Prozessverbesserung. Scrum fordert bei Einführung in einem Projekt oft ein revolutionäres Umdenken in der Gruppenstruktur und Führungskultur. Das birgt die Gefahr, dass eine sinnvolle Anpassung an das eigene Projektumfeld nicht ausreichend gelingt, und einige Kernelemente von Scrum dabei verloren gehen. Die Auswahl des agilen Frameworks und seine Einführungsstrategie wollen daher gut überlegt sein, um Enttäuschungen bei der erreichten Qualitätsverbesserung zu vermeiden.