Agile Softwareentwicklung in der Realität 5 Gründe, warum Scrum und Agile scheitern
In der Softwareentwicklung kommen zunehmend agile Methoden zum Einsatz. Zahlreichen erfolgreichen Projekten stehen aber auch viele missglückte gegenüber. Doch warum scheitert der agile Ansatz und wie lässt sich dieses Scheitern verhindern?
Anbieter zum Thema

Hinter dem Einsatz agiler Methoden wie Scrum, Kanban oder Extreme Programming steht der Gedanke, Software in iterativen Einzelschritten auf der Grundlage von Tester-Feedback zu entwickeln, anstatt direkt eine gesamte Lösung zu veröffentlichen. Dies steht im Kontrast zu traditionellen Ansätzen.
Bei der Wasserfallmethodik beispielsweise kann eine neue Entwicklungsphase erst beginnen, sobald die vorherige komplett abgeschlossen ist. So kann es unter Umständen Jahre benötigen, ein Projekt abzuschließen. Zudem ist bei einem Wasserfallprojekt nicht garantiert, dass die Lösung am Ende der Entwicklung auch all das bietet, was die Nutzer benötigen, da sich viele Fehler oder fehlende Komponenten meist erst am Ende des Projektes herausstellen.
Hauptrollen in der agilen Softwareentwicklung
Hier bietet beispielsweise der Scrum-Ansatz eine deutlich flexiblere Herangehensweise. Entsprechend ist das Team in verschiedene Rollen eingeteilt, von denen vier als die Hauptrollen angesehen werden.
Der Product Owner ist für die Umsetzung der Vision des Endproduktes verantwortlich und muss genau darüber Bescheid wissen, was die Lösung können soll. Ihm steht der Scrum Master zur Seite, der Hindernisse im Entwicklerteam beseitigt und dem Team mit aller Kraft beiseite steht. Zum Entwicklungsteam zählen die Softwareentwickler und die Qualitätssicherung sowie alle weiteren Rollen, die zur Entwicklung der Lösung beitragen. Die vierte und letzte Hauptrolle stellen schließlich die Endnutzer dar, die nach Fertigstellung der Lösung mit selbiger arbeiten.
Fünf Fehler, die sich vermeiden lassen
Üblicherweise hat jedes Unternehmen seine eigene Herangehensweise an das Thema agile Softwareentwicklung. Dies ist auch sinnvoll, da es kaum zwei Unternehmen gibt, in denen dieselben Prozesse ablaufen. Eine Anpassung an die jeweils eigene Umgebung ist daher unumgänglich. Doch schleichen sich bei der Implementierung agiler Methoden häufig Fehler ein, die sich vermeiden lassen:
1. Mangelhafte Kommunikation innerhalb des Teams und fehlendes Vertrauen
Innerhalb eines agilen Teams herrscht hoher Leistungsdruck, da in engem zeitlichem Abstand – oft innerhalb von nur ein bis zwei Wochen – neue Features bereitgestellt werden müssen. Unter diesen Voraussetzungen kommt es zwangsläufig zu Fehlkommunikation im agilen Prozess.
Eine transparente und deutliche Kommunikation ist daher unbedingt nötig. Dazu zählt, dass sich die Teammitglieder auf angemessene Fristen verständigen, die sich auch erfüllen lassen. Jedes Teammitglied sollte sich bewusst sein, dass alle zusammen auf ein gemeinsames Ziel hinarbeiten.
2. Der Scrum Master wird seiner Rolle nicht gerecht
Zu den Aufgaben des Scrum Masters gehört, dass er Hürden aus dem Weg räumt, die das Entwicklungsteam beeinflussen könnten. Außerdem muss er den Product Owner und andere Interessensvertreter coachen sowie das Entwicklungsteam vor Unternehmenspolitik oder anderen Ablenkungen schützen.
Manche Scrum Master verstehen ihre Aufgabe falsch und versuchen, alle Aktivitäten zu mikromanagen und dem Team Vorschriften zu machen. Dieser Mangel an Vertrauen ist nicht nur Gift für die Moral, sondern verhindert auch, dass die gesteckten Ziele erreicht werden. Andere Scrum Master sind wiederum nicht vollständig ins Team integriert und wissen nicht, was ihr Team tut. So wird der Scrum Master auf reine Zulieferung beschränkt und kann nicht sein volles Potenzial ausschöpfen.
Bild 1: Der Scrum Master ist ausschlaggebend für das Management des Teams und weiterer Stakeholder im Unternehmen.
3. Der Product Owner lässt sich auf der Nase herumtanzen
Für die Rolle des Product Owners eignen sich nur Personen, die klare Anweisungen geben und Erwartungen managen können. Schließlich interagiert einzig der Product Owner mit den Endnutzern und dem Entwicklungsteam und bildet hier die Schnittstelle. Zudem ist eine wichtige Aufgabe des Product Owners, nicht nur Nutzerfeedback an die Entwickler weiterzugeben, sondern auch die Erwartungen der Nutzer zu managen.
Ein Problem ist nämlich, dass die User immer eine unverzügliche Reaktion auf ihr Feedback erwarten. Ein Product Owner, der Nutzerfeedback ungefiltert und unreflektiert an die Entwickler weitergibt, verzögert die Umsetzung des Projektes. Er muss die Produktvision vorantreiben, dabei aber standhaft sein und die Erwartungen der Nutzer berücksichtigen.
4. (Zu) Komplexe Anforderungen an die Lösung
Wie in fast allen Bereichen gilt auch bei der agilen Softwareentwicklung: Je komplexer ein Projekt, desto mehr Probleme entstehen! Hier sind das Entwicklungsteam und der Scrum Master in der Pflicht. Sie müssen gemeinsam die Lösung planen und gestalten, indem komplexe Anforderungen in kleine Stories zerlegt werden, die im Laufe der Entwicklung wiederholt werden.
Vorausschauende Planung im Hinblick auf potentiell auftretende Probleme ist das A und O. Sind die Anforderungen zu komplex, sind das Einfügen zusätzlicher Iterationen und ein Verschieben der Deadline manchmal unumgänglich.
5. Die Tools sind nicht so agil wie das Team
Es gibt Entwicklungswerkzeuge, die bereits auf agile Entwicklung ausgelegt sind. Sie unterstützen bei der Sprint-Planung und Projektabwicklung. Das Verfolgen des Projektfortschritts benötigt dann keine Tabellen oder Whiteboards mehr, sondern findet direkt über die im Tool integrierten Funktionen statt. Dadurch wird nicht nur der Entwicklungsprozess vereinfacht und beschleunigt, auch die Steuerung des Projekts wird effektiver und agiler.
Das Ziel mit agilen Methoden erreichen
Agile Softwareentwicklung funktioniert hervorragend, wenn die richtigen Voraussetzungen gegeben sind. Dazu gehört vor allem Vertrauen innerhalb des Teams. Aber auch der Scrum Master und der Product Owner tragen einen Großteil zum Erfolg agiler Methodik bei, wenn sie gemeinsam auf eine Lösung hinarbeiten. Hinzu kommt eine Mischung aus den richtigen Tools und Methoden zur Prozessoptimierung.
Jedes Unternehmen ist anders und bringt seine eigene Kultur und Entwicklungsmethoden in ein derartiges Projekt ein. Umso wichtiger ist, dass von Unternehmensseite aus Vertrauen in das Team besteht und andererseits das Team auch auf das Unternehmen vertrauen kann, dass bei Bedarf Unterstützung in Form von Schulungen oder zusätzlichen Mitarbeitern zur Verfügung steht. Unter solchen Voraussetzungen rückt der Erfolg agiler Projekte deutlich näher.
* Seit über zehn Jahren berät Georg Maureder Firmen in Europa zum Thema Enterprise Software und Application Platforms. Darüber hinaus beschäftigt er sich seit vielen Jahren mit Themen rund um die Entwicklung von Applikationen, inklusive agiler Methoden wie Scrum, DevOps sowie weiteren Ansätzen zur Beschleunigung der Anwendungserstellung.
(ID:45830275)