Skip navigation

5 Gründe, warum Agile versagt und wie sich diese vermeiden lassen

/ February 18, 2019

Agile Blog Background Image

Was ist Agile?

Agile ist ein iterativer Ansatz zur Softwarebereitstellung.. Das Ziel ist es, Software schrittweise auf der Grundlage von Feedback zu entwickeln und bereitzustellen, anstatt zu versuchen, die gesamte Lösung auf einmal zur Verfügung zu stellen. Alte Methoden, wie z.B. der Standard-Softwareentwicklungs-Lebenszyklus (SDLC) oder die Wasserfallmethodik, liefern Lösungen nicht so schnell und effizient. Am Ende eines Wasserfallprojekts – das Jahre dauern kann – ist es außerdem wahrscheinlich, dass die gelieferte Lösung nicht das bietet, was die Nutzer brauchen. Dies ist ein häufiges Problem in allen IT-Abteilungen und Software-Delivery-Unternehmen, weshalb die agile Methodik zur neuen Norm für Projekte wird, die Flexibilität erfordern.

In der Methodik der agilen Plattform gibt es vier Hauptrollen: den Product Owner, den Scrum Master, den Entwickler und den Endnutzer bzw. das Business-Team.

  • Die Rolle des Product Owners besteht darin, die Vision der Lösung voranzutreiben. Er muss den Prozess verstehen, den er aufbauen muss.
  • Die Rolle des Scrum Masters besteht darin, Hindernisse innerhalb des Entwicklungsteams zu beseitigen und diesem in jeder erdenklichen Weise zu helfen.
  • Das Entwicklungsteam umfasst Softwareentwickler, Qualitätssicherung und alle anderen Personen, die an der Entwicklung der Lösung beteiligt sind.
  • Die Endnutzer sind diejenigen, die in der endgültigen agilen Anwendung arbeiten.

5 zu vermeidende Fehler

Aus meiner Erfahrung in der Zusammenarbeit mit Unternehmen aus den Bereichen Gesundheitswesen, Finanzen, Bildung, Regierung und vielen anderen Branchen weiß ich, dass jedes Unternehmen seine eigene Herangehensweise an das Thema Agile hat. Und während jedes Unternehmen die Prozesse an seine eigene Umgebung anpassen muss, gibt es einige häufige Fehler, die ich immer wieder sehe.
Hier sind die fünf häufigsten Fehler, die bei der Implementierung agiler Methoden gemacht wurden, und meine Tipps, wie sie sich vermeiden lassen.

1. Ihr Team kommuniziert falsch und hat kein Vertrauen

Mangelndes Vertrauen zerschlägt jedes Teamprojekt, es ist Gift für das Arbeitsumfeld. Da es viele bewegliche Teile und Personen gibt, die auf den Druck, alle 1-2 Wochen neue Funktionen liefern zu müssen, zurückzuführen sind, kommt es während des agilen Prozesses zwangsläufig zur Fehlkommunikation. Daher ist es wichtig, transparent zu sein. Das bedeutet, sich auf angemessene Fristen zu einigen und dementsprechend Ziele zu erfüllen. Jeder sollte das Gefühl haben, dass zusammen auf ein gemeinsames Ziel hingearbeitet wird.

2. Sie haben einen Scrum Slave statt eines Scrum Masters

Der Scrum Master muss dem Team dienen. Dazu gehören die Beseitigung von Hindernissen, die das Entwicklungsteam haben könnte, das Coaching des Product Owners und anderer Interessengruppen sowie der Schutz des Entwicklungsteams vor Unternehmenspolitik oder anderen Ablenkungen.

In einigen Projekten habe ich Scrum Master gesehen, die versuchen, dem Team Vorschriften zu machen, indem sie alle Aktivitäten mikromanagen. Dieser Führungsstil schadet nicht nur der Teammoral und zeigt einen Mangel an Vertrauen – er verhindert auch, dass das Team seine Ziele erreicht.

Allerdings habe ich auch das umgekehrte Szenario erlebt, bei dem der Scrum Master vom Team abgekoppelt wird. In dieser Situation darf er nur an Meetings teilnehmen, so dass er ahnungslos ist und nicht weiß, was das Team tut.

Der Scrum Master sollte aufgeschlossen sein, sich aller Probleme bewusst sein und aktiv daran arbeiten, diese zu lösen, sobald sie auftreten. Er sollte die zu entwickelnde Technologie verstehen und jederzeit aushelfen. So sollte es funktionieren:

Scrum Master Diagram

Abbildung 1 – Der Scrum Master ist entscheidend für das Management von Interaktionen und Teams.

3. Ihr Product Owner ist eher ein Fußabstreifer

Der Product Owner muss eine Person sein, die über Fachkenntnisse verfügt, Technologie und die Geschäftsanforderungen versteht und eine Produktvision hat. Diese Person interagiert mit den Endnutzern und dem Entwicklungsteam und führt alle zu der benötigten Geschäftslösung. Angesichts der Rolle dieser Person benötigen Sie jemanden, der der Gatekeeper des Nutzerfeedbacks sein kann, klare Anweisungen gibt und die Erwartungen managt.

Ideal Product Owner Graphic

Abbildung 2 – Der ideale Product Owner

Bei einem meiner ersten Projekte musste mein Kunde innerhalb von zwei bis drei Wochen in die Produktion gehen und bei der Behebung von Fehlern während der Nutzerakzeptanzphase helfen. Wir haben schnell Fehler behoben, als sie auftraten, aber wir haben festgestellt, dass ein Großteil des Nutzerfeedbacks tatsächlich Feature-Wünsche waren (keine Bugfixes)! Die Nutzer reichten Feature-Wünsche innerhalb von zwei bis drei Wochen nach dem Produktionstermin ein und erwarteten, dass alles geliefert wird. Der Product Owner arbeitete nicht mit den Endanwendern zusammen, um ihre Erwartungen zu verwalten oder ein Feature oder einen Bug zu klären – er gab lediglich Informationen an das Entwicklungsteam weiter und erwartete, dass alles erledigt werden würde. Es ist nicht verwunderlich, dass sich der Termin des Projekts immer weiter verzögerte.

Es ist unerlässlich, dass der Product Owner die Vision des Projekts vorantreibt und das Geschäftsziel versteht. Aber er muss auch standhaft sein und die Erwartungen der Nutzer klar und deutlich berücksichtigen. Andernfalls wird das Projekt oder sogar die erste Phase des Projekts nie abgeschlossen. Hier kommt der Scope Creep ins Spiel.

4. Ihre Anforderungen sind sehr komplex

Je komplexer ein Projekt, desto länger dauert es und desto mehr Probleme entstehen. Bei der Bewältigung komplexer Anforderungen ist es für das Entwicklungsteam und den Scrum Master wichtig, die Lösung so gut wie möglich zu planen und zu gestalten. Das bedeutet, dass komplexe Anforderungen in kleinere Stories zerlegt und im Laufe der Zeit wiederholt werden.

Wenn das Team irgendwelche Hindernisse sieht oder wenn der Scrum Master etwas bemerkt, das in Zukunft eine Hürde darstellen wird – all diese Fragen sollten im Voraus gestellt und ein Plan entwickelt werden. Obwohl Sie nicht alle Probleme berücksichtigen können, ist es wichtig zu wissen, dass jede Änderung an der App während der Iterationen Kosten verursacht. Manchmal ändern Entwickler gegen Ende des Projekts sehr große Features. Zwar verstehen die Entwickler die Auswirkungen dieser Änderung, doch die Nutzer erwarten, dass die Dinge einfach in Ordnung sind und sich selbst reparieren. Der einzige Weg für den Erfolg eines Projekts besteht jedoch darin, weitere Iterationen hinzuzufügen und die Deadline zu verlängern.

5. Ihre Tools sind nicht so agil wie Ihr Team

Einige Werkzeuge sind auf eine agile Lieferung ausgelegt. Zum Beispiel Mendix! Mit Mendix verfügen Sie über die richtigen Werkzeuge für die agile Sprint-Planung und Projektabwicklung. Der Teamserver verwaltet alle User Stories und Sprints – unten finden Sie ein Beispiel für die User Stories und die Sprintentwicklung.

Mendix's Platform Built-in Agile Tools

Abbildung 3 – Screenshot der aktuellen Sprint User Stories

 Agile Tools Screenshot

Abbildung 4 – Fortschritt der User Stories zusammen mit einem Burndown-Diagramm

Sie benötigen keine Tabellen oder Whiteboards, um den Projektfortschritt zu verfolgen und können einfach alle Funktionen des Teamservers nutzen. Mendix macht nicht nur den Entwicklungsprozess einfacher und schneller, sondern bietet auch die richtigen Werkzeuge, um das Projekt effektiv und agil zu steuern.

Erreichen Sie Ihre Ziele mit agiler Methodik

Zusammenfassend lässt sich sagen, dass die agile Methodik hervorragend funktioniert, wenn Vertrauen im Team besteht, „ideale” Scrum Master und Product Owner bereit sind, gemeinsam an der Lösung zu arbeiten und eine Mischung der richtigen Tools und Methoden zur Optimierung des Prozesses eingesetzt werden. Insgesamt ist jedes Unternehmen anders und hat seine eigene Kultur und Entwicklungsmethoden. Für den Projekterfolg ist es wichtig, dass das Vertrauen in das Unternehmen und die Teammitglieder sowie bei Bedarf Schulungen und Unterstützung vorhanden sind.

How Low-Code Supports Agile Software Development