In der Serie "The Way of the Intercepting Fist" rät Bruce Lee einem Schüler, wie Wasser zu sein. "Leere deinen Geist, sei formlos. Formlos, wie Wasser. Wenn man Wasser in eine Tasse gibt, wird es zur Tasse. Wenn man Wasser in eine Flasche füllt, wird sie zur Flasche". Diese Worte des Kung-Fu-Meisters beziehen sich nicht nur auf die Kampfkunst, sondern auch auf das Leben und damit auf das Projektmanagement, insbesondere das agile Projektmanagement.
Erfahren Sie mehr darüber, was Scrum ist!
Das Festhalten an starren Projektrahmen ist einschränkend — ebenso wie die Nichtanpassung an den Gegner oder sich ändernde Lebenssituationen.
Denken Sie daran, dass die ursprüngliche Idee möglicherweise nicht den Erwartungen der Beteiligten entspricht. Deshalb lohnt es sich, über Scrum und agiles Projektmanagement in Sprints nachzudenken.
Was ist Sprint?
Ein Sprint ist eine Arbeitsphase in einem Projekt, die bis zu vier Wochen dauert. Wir planen es unter Berücksichtigung des Budgets, und das Wichtigste für uns sind die im Product Backlog enthaltenen Bedürfnisse, für die der Product Owner verantwortlich ist.
Was ist ein Product Backlog?
Ein Product Backlog ist eine geordnete Liste von Bedürfnissen, d. h. von Anforderungen und Funktionalitäten wie Anwendungsfällen.
Scrum, oder fliegende Verbesserungen
"Im Falle des Scrums endet jeder Sprint erfolgreich. Wenn wir am Ende des Sprints von den Stakeholdern Feedback zu Funktionen erhalten, die nicht ihren Erwartungen entsprechen, ist das kein Problem", sagt Paweł Lasek, Scrum Master und Agile Coach bei Link4, in einem Interview mit The Story Journal.
Der Experte sagt, dass eine bestimmte Funktionalität schnell ersetzt oder aufgegeben werden kann, was Geld spart. Dadurch können Fehlentscheidungen schon zu Beginn des Prozesses erkannt werden. Beim Wasserfallmodell hingegen müssen wir länger warten, bis wir eine Stellungnahme des Marktes erhalten.
Woraus besteht das Wasserfallmodell?
Das Wasserfallmodell, eine traditionelle Projektmanagementmethode, erfordert eine genaue Dokumentation und den Abschluss einer vorherigen Phase, um zur nächsten überzugehen. In Scrum hingegen können Analyse, Entwicklung und Tests gleichzeitig stattfinden.
Die Wasserfallmethode besteht aus mehreren Phasen:
1. Anforderungsspezifikation — wir definieren die detaillierten Anforderungen an das zu entwickelnde System.
2. Gestaltung — wir erstellen einen genauen Systementwurf, der die vorgegebenen Anforderungen erfüllt.
3. Einsatz — wir setzen das Projekt in einer bestimmten Entwicklungsumgebung ein und vergessen dabei nicht, einzelne Module zu testen.
4. Testen — wir integrieren Module, testen Subsysteme und Software.
5. Wartung — wir lassen die Benutzer die Software nutzen und beheben dann Fehler, nehmen Änderungen vor und erweitern die Systemfunktionen.
Flexibler Scrum-Ansatz
Die Offenheit für ständige Veränderungen erhöht die Chancen für ein erfolgreiches Projekt. Jake Knapp, der Schöpfer des Design-Sprints, eines der Derivate der agilen Methodik, erzählt in seinem Buch "Sprint" die Geschichte der Entstehung der Website von Blue Bottle Coffee.
Die Website erlebte 15 Entwürfe. Ein Entwurf, der das Erscheinungsbild des Online-Shops an das von Blue Bottle Coffee anlehnt, wurde von den Mitarbeitern als der beste bewertet.
Diese Lösung war originell. Außerdem wurde das Erscheinungsbild von Blue Bottle Coffee weithin gelobt, was für das Unternehmen sprach. Also wurde ein einfacher Prototyp erstellt. Es stellte sich jedoch heraus, dass die Kunden das Design als "billig" und "nicht vertrauenswürdig" empfanden und stattdessen die beiden anderen, konventionelleren Prototypen bevorzugten.
Es wäre ein großer Fehler, ausschließlich auf ein Design zu setzen, das dem Team am besten gefällt. Die Flexibilität sorgte für den Erfolg: Die Einführung der neuen Website von Blue Bottle Coffee verdoppelte den Umsatz.
Bedenken Sie jedoch, dass Scrum und agile Projektmanagementpraktiken nicht in jedem Unternehmen funktionieren (mehr dazu erfahren Sie im vorherigen Artikel über schlanke Softwareentwicklung, "Lean Management"). Ein Unternehmen, das von den Vorteilen der agilen Methodik profitiert, braucht Mitarbeiter, die keine Angst haben, Verantwortung zu übernehmen, und für die es selbstverständlich ist, neue Ideen einzubringen.
"Ein Mitarbeiter, der sich einem Scrum-Team anschließt, sollte gerne in einer Gruppe arbeiten. Einerseits ist es zum Teil individuelle Arbeit, aber ein Teamziel begleitet uns. Es ist definitiv eine größere Verantwortung als beim Wasserfallmodell, bei dem eine Person nur für ihren Teil der Arbeit verantwortlich ist", sagt Paweł Lasek.
Anders als bei der Wasserfallmethode wird bei Scrum davon ausgegangen, dass Analyse, Entwicklung und Tests gleichzeitig stattfinden können. Menschen, die an das Wasserfallmodell gewöhnt sind, sollten mehr Flexibilität zeigen.
"Solche Mitarbeiter müssen manchmal ihre Komfortzone verlassen und Dinge tun, die sie vorher nicht getan haben. Nehmen wir an, ich bin ein Tester oder Analytiker — bisher bestanden meine Aufgaben entweder im Testen oder im Analysieren. Jetzt, wo ich mit einem Scrum-Projekt konfrontiert bin, werden meine Kompetenzen nicht unbedingt benötigt, um das Ziel des Teams zu erreichen", sagt der Scrum Master.
Jeff Sutherland, der unter anderem eine wichtige Rolle bei der Entwicklung des agilen Managements gespielt hat, ist Mitverfasser von "The Scrum Guide", das in den 1990er Jahren entstand, um die Prinzipien von Scrum, also des agilen Projektmanagements, zu beschreiben und einzuführen. | Foto: commons.wikimedia.org
Was ist agiles Projektmanagement?
Die agile Methodik wurde in den 90er Jahren im Silicon Valley geboren, während der Name offiziell erst 2001 auftauchte, als das "Agile Manifest" veröffentlicht wurde. Das Manifest entstand während eines Treffens von siebzehn Vertretern amerikanischer Softwareentwicklungsunternehmen, die eine Beschreibung der agilen Methodik erstellten — Prinzipien, die die Arbeit an Projekten vereinfachen sollten.
Im Mittelpunkt des agilen Projektmanagements stehen die kontinuierliche Bereitstellung von Software und die ständige Anpassung an Veränderungen.
Das "Agile Manifest" besagt, dass Menschen und Interaktionen mehr wert sind als Prozesse und Werkzeuge und dass funktionierende Software wichtiger ist als eine detaillierte Dokumentation. Die Zusammenarbeit mit dem Kunden ist wichtiger als die Aushandlung von Verträgen, und die Reaktion auf Veränderungen ist wichtiger als die Umsetzung des festgelegten Plans.
Agile ist das Gegenteil des Wasserfallmodells, das auf starren Schemata beruht und sich nicht an veränderte Kundenbedürfnisse anpasst. Agile ist in gewissem Sinne die Antwort auf Funktionsstörungen, die die Arbeit schwierig machen und dazu führen, dass die Mitarbeiter ihr Potenzial nicht ausschöpfen, was den Projekten schadet.
Vorteile des agilen Projektmanagements
Zu den Vorteilen der agilen Methodik und von Scrum gehören die folgenden:
- Flexible Prioritätensetzung
- Kontinuierliche Bereitstellung
- Häufiges Feedback
- Abfallvermeidung
- Frühzeitige Identifizierung von Problemen
- Verstärktes Engagement der Mitarbeiter
In Scrum halten wir mit dem Kunden Schritt
Ein grundlegendes Element der agilen Methodik ist Scrum. Unter Scrum verstehen wir die agile Produktentwicklung. Seine Vorbereitung besteht aus kleinen Etappen (Sprints), dank derer regelmäßig Änderungen eingeführt werden. Scrum ist ein sehr beliebter Ansatz für Softwareentwicklungsprojekte.
Ein Sprint beginnt mit einer Idee, dann folgt ein einsatzbereites Produkt, eine Kundenberatung, eine Überprüfung und eine Retrospektive. Überprüfung bedeutet, zu entscheiden, worauf man sich im nächsten Sprint konzentrieren will, und Retrospektive bedeutet, das Team zu bewerten, um seine Arbeit zu verbessern.
Unterschiede zwischen agilem und Wasserfall-Ansatz
Entscheidet sich der Kunde dafür, auf die ursprüngliche Lösung zu verzichten und eine andere zu wählen? Das ist kein Problem. Prototypen sind ebenfalls ein charakteristisches Merkmal von Scrum, die an den Benutzern getestet und bei Bedarf geändert werden können.
"Das "Agile Manifest" beschreibt die Denkweise der agilen Softwareentwicklung. Die Softwareentwicklung ist ein komplexer Prozess, d. h. ein Prozess, bei dem viele Dinge unbekannt sind. Agile basiert jedoch auf einem empirischen Ansatz und nicht auf der Vorhersage, die für die Wasserfallmethode charakteristisch ist", schätzt Paweł Lasek ein.
Im Scrum spielt ein Team mit unterschiedlichen und sich ergänzenden Kompetenzen eine wichtige Rolle. Die Teammitglieder sind jedoch nicht alles, denn um ein Produkt zu schaffen, brauchen wir einen Product Owner und einen Scrum Master, der wie ein Kapitän auf einem Schiff dafür sorgt, dass die Mannschaft das Ziel erreicht.
"Bei der Wasserfallmethode verbringen wir viel Zeit mit der Analyse, weil wir wollen, dass das Endergebnis so gut wie möglich ist. Wir versuchen vorherzusagen, ob das Produkt attraktiv sein wird", beschreibt Paweł Lasek.
"Beim agilen Ansatz wiederum prüfen wir, ob ein bestimmtes Element funktioniert oder nicht. Das tun wir, indem wir sie auf den Markt bringen und so ein Feedback erhalten. Wir betrachten das Feedback als den einzigen wertvollen Indikator in Bezug auf Daten. Das ist der grundlegende Unterschied zwischen der agilen Methode und der Wasserfallmethode, bei der in der Regel viele Wochen, Monate oder sogar Jahre mit der Analyse verbracht werden, bevor etwas freigegeben wird", fügt der Scrum Master von Link4 hinzu.
Die Mitarbeiter liefern das Produkt nicht am Ende der Arbeit ab, sondern präsentieren in kleinen Intervallen, den Sprints, die darauffolgenden — funktionierenden — Versionen.
Paweł Lasek erklärt, dass der agile Ansatz uns dazu zwingt, ein MVP (Minimum Viable Product), also ein erstes, vereinfachtes Produkt, so schnell wie möglich zu veröffentlichen.
All dies, um schnelles Feedback zu erhalten und sich darauf basierend an den Markt anzupassen. Paweł Lasek ist der Meinung, dass dies der größte Vorteil des Scrum-Ansatzes gegenüber der Wasserfallmethode ist.
"Ein weiterer Vorteil ist die Effektivität in einem komplexen Umfeld. Wir dürfen nicht vergessen, dass wir viele Unbekannte haben. Wir können den Entwicklungsprozess eines bestimmten Produkts nicht von Anfang bis Ende vorhersehen. Es gibt Anwendungen oder andere digitale Produkte, die sich als technisch kompliziert erweisen. Der empirische Ansatz und das gleichzeitige Arbeiten sind bei der Arbeit an solchen Produkten am besten", ist Paweł Lasek überzeugt.
Die gleichzeitige Analyse, Prüfung, Entwicklung oder Bereitstellung ermöglicht es uns, viele Risiken in Echtzeit zu erfassen und sie sofort zu behandeln. Bei der Wasserfallmethode warten wir oft bis zur letzten Phase, um festzustellen, ob etwas nicht funktioniert. Mit Scrum sparen wir also Zeit.
Am Ende eines Sprints erhalten wir ein fertiges Produkt, wobei das "fertige Produkt" ein konventioneller Begriff ist — es kann z. B. ein funktionierender vereinfachter Prototyp sein. Auf diese Weise weiß der Kunde, ob die Richtung des Projekts seinen Erwartungen entspricht. Anders sieht es aus, wenn wir die Wasserfallmethode anwenden, wir sehen nicht, wie die Arbeit an dem Projekt voranschreitet, und nach einem Jahr erhalten wir eine Endversion, die nicht unseren Erwartungen entspricht.
All dies macht Scrum zu einem idealen Ansatz, wenn wir mit den sich ändernden Kundenanforderungen Schritt halten wollen. Anforderungen haben viele Definitionen erlebt, aber wir werden eine der genauesten zitieren, die aus dem Buch "Softwareanforderungen" von Karl Wiegers und Joy Beatty stammt:
"Anforderungen sind eine Spezifikation dessen, was implementiert werden soll. Sie beschreiben, wie sich das System verhalten soll, oder eine Eigenschaft oder ein Attribut des Systems. Sie können ein Hindernis für den Entwicklungsprozess des Systems darstellen."
Ein Product Owner erstellt eine Liste von Anforderungen für den Sprint und präsentiert am Ende die Ergebnisse der Arbeit den Kunden und Benutzern, um Feedback einzuholen. Dem geht eine Sprintplanung voraus, die wir auf maximal acht Stunden begrenzen — wenn der Sprint einen Monat dauert.
Bei einer solchen Planung beantworten wir die folgenden Fragen:
- Was kann als Inkrement aus einem kommenden Sprint geliefert werden?
- Auf welche Weise werden wir die Arbeit verrichten, um den Zuwachs zu erreichen?
Was ist ein Produktinkrement?
Ein Produktinkrement ist das, was das Team am Ende eines Sprints abliefern sollte, d. h. ein funktionierendes Produkt, das im Vergleich zur Version des vorherigen Sprints um neue Fähigkeiten (Funktionalitäten) erweitert wurde.
12 Grundsätze des agilen Projektmanagements
1. Unsere oberste Priorität ist die Kundenzufriedenheit durch die frühzeitige und kontinuierliche Bereitstellung von wertvoller Software.
2. Bereitschaft zur Änderung der Anforderungen, auch in einem späten Stadium der Entwicklung. Agile Prozesse nutzen Veränderungen, um dem Kunden Wettbewerbsfähigkeit zu bieten.
3. Liefern Sie häufig funktionierende Software, in Abständen von mehreren Wochen oder Monaten. Je öfters, desto besser.
4. Geschäfts- und Entwicklungsteams müssen während der gesamten Projektlaufzeit eng zusammenarbeiten.
5. Schaffen Sie Projekte rund um motivierte Menschen. Bieten Sie ihnen das nötige Umfeld und die Unterstützung und vertrauen Sie darauf, dass sie ihre Aufgabe erfüllen.
6. Der effektivste und effizienteste Weg, Informationen an das Entwicklungsteam und innerhalb des Teams weiterzugeben, ist das persönliche Gespräch.
7. Arbeitssoftware ist die grundlegende Messgröße für den Fortschritt.
8. Agile Prozesse ermöglichen eine nachhaltige Entwicklung. Sponsoren, Entwickler und Benutzer sollten in der Lage sein, ein gleichmäßiges Arbeitstempo zu halten.
9. Die ständige Konzentration auf technische Perfektion und gutes Design erhöht die Agilität.
10. Einfachheit — die Kunst, den Arbeitsaufwand zu reduzieren — ist entscheidend.
11. Die besten architektonischen Lösungen, Anforderungen und Projekte entstehen in selbstorganisierten Teams.
12. In regelmäßigen Abständen analysiert das Team die Möglichkeiten zur Verbesserung seiner Effizienz und passt dann seine Aktivitäten den Schlussfolgerungen an.
Die nicht offensichtliche Rolle eines Scrum Masters
Die Rolle des Produkteigentümers ist ganz klar. Was ein Scrum Master in agilen Projekten macht, ist jedoch nicht so offensichtlich. Manchmal werden ihre Aufgaben mit denen eines Projektmanagers verwechselt; die Aufgaben eines Scrum Masters haben jedoch einen völlig anderen Charakter.
"Die Rolle des Scrum-Masters wird in Organisationen missverstanden. Trotz der verschiedenen Kurse und der Fülle an Wissen, das im Internet zu finden ist. Wir wissen, was das Entwicklungsteam tut; es weiß, wie man ein Produkt entwickelt. Wir kennen auch die Rolle des Product Owners, dessen Aufgabe es ist, anzugeben, was erstellt werden soll und wie das Produkt aussehen soll", erklärt Paweł Lisek.
Wenn es um die Rolle des Scrum Masters geht, stößt man auf Mythen und Fragezeichen, meint der Spezialist. Diese Orientierungslosigkeit wird durch die Tatsache verursacht, dass es bei Wasserfallprojekten die Rolle eines Projektleiters gibt, der für das gesamte Projekt verantwortlich ist und alles zusammenhält.
Einerseits hilft der Scrum Master, die Arbeit der agilen Teams zu planen, andererseits ist er dafür verantwortlich, wie die Mitarbeiter ihre Aufgaben erfüllen. Bei der Scrum-Methode gibt es eine solche Rolle nicht, da das Scrum-Team dank der Selbstorganisation keine Koordination benötigt.
"Die Betreuung des Scrum-Prozesses ist eine der wichtigsten Aufgaben des Scrum-Masters, damit Scrum entsprechend der Beschreibung im "Scrum Guide" eingesetzt wird. Und obwohl dieser Leitfaden leicht zu verstehen ist, erweist er sich in der Umsetzung als schwierig. In einem solchen Ausmaß, dass der Scrum Master benötigt wird. Andernfalls wären die Teams nicht in der Lage, die Aufgabe allein zu bewältigen. Ich bin seit vielen Jahren Scrum Master und erlebe oft, wie viele Änderungen in Bezug auf Rollen und Verantwortlichkeiten in einer Organisation vorgenommen werden müssen, damit Scrum überhaupt eine Chance hat, Ergebnisse zu erzielen", sagt Paweł Lasek.
Was macht ein Scrum Master, das nicht zur Rolle eines Projektmanagers gehört?
Paweł Lasek erörtert für The Story Journal, wofür seiner Meinung nach der Scrum Master zuständig ist.
Und zwar die folgenden:
1. Sie moderieren Meetings und Scrum-Veranstaltungen.
2. Sie unterstützen die Selbstorganisation.
3. Sie sind ein Coach des Teams und der Hüter des Scrum-Prozesses. Wenn wir einem Scrum-Framework haben (Scrum ist keine Methodik oder Methode, sondern ein Framework), können die Teams Techniken anwenden, die sie für angemessen halten.
Und obwohl der Scrum Master keine Techniken vorschreibt, sorgt er dafür, dass Frameworks wie Inspektion, Anpassung und Transparenz eingesetzt werden. Es ist perfekt, wenn wir in all dem Vertrauen finden können.
Die Rolle des Scrum-Masters besteht darin, dafür zu sorgen, dass alle Arten von Informationen innerhalb des Unternehmens transparent kommuniziert werden können, die zuvor aus irgendeinem Grund undurchsichtig waren. Menschen dazu zu bringen, einander zu vertrauen, ist eine der schwierigsten Aufgaben.
Was sind Anpassung und Kontrolle?
Die Anpassung erfolgt, wenn wir Abweichungen von den erwarteten Projektergebnissen feststellen und Änderungen vornehmen. Die Inspektion ist eine regelmäßige Kontrolle des Arbeitsfortschritts.
4. Der Scrum Master ist kein Manager. Ein weit verbreiteter Mythos ist, dass der Scrum Master ein Manager ist (ein Projektmanager oder ein Produktionsmanager) oder dass er das Team leitet. Das ist nicht der Fall. Der Scrum Master ist eine Führungspersönlichkeit, die dient. Sie versuchen, die vom Team gemeldeten Hindernisse zu beseitigen, das feststellt, dass einige Probleme bei der Softwareentwicklung in den Bereichen Mensch-Interaktion und Prozesse-Werkzeuge aufgetreten sind.
5. Sie arbeiten mit einer Organisation zusammen, um sie "beweglicher" zu machen. Mit anderen Worten: Sie arbeiten an allen bisherigen Prozessen. Der Scrum Master muss stets das "Agile Manifest" vor Augen haben — Menschen und Interaktionen stehen über Prozessen und Tools und funktionierende Software über detaillierter Dokumentation.
6. Auch wenn das "Agile Manifest" nur vier Sätze enthält und der "Scrum Guide" siebzehn Seiten umfasst, hat der Scrum Master ein enormes Arbeitspensum zu bewältigen, damit Organisationen vom Wasserfall-Ansatz zur agilen Projektmanagement-Methodik wechseln können.
Das bedeutet, dass viele verschiedene Dinge geändert werden müssen: von den Strukturen in der Organisation und im Team bis hin zu den hierarchischen Entscheidungsprozessen, die vorher bestanden. Entscheidungen werden vom Team getroffen, in dem jeder auf der gleichen Hierarchiestufe steht.
Es gibt niemanden, der über die anderen herrscht, jeder hat seine Aufgaben, und alle haben ein gemeinsames Ziel.
7. Der Scrum Master arbeitet auch mit dem Product Owner zusammen. Sie helfen dem Product Owner bei der Vorbereitung des Backlogs in Bezug auf die Festlegung von Zielen und Hypothesen, die validiert werden müssen und auf die der MVP hinweist.
Neue Product Owner brauchen oft viel Unterstützung bei der Arbeit nach den agilen Projektmanagement-Methoden und der Kommunikation mit dem Scrum-Team. Dies erfordert, dass der Scrum Master die Arbeit des Product Owners, des Entwicklungsteams und der Organisation selbst durch Beobachtung unterstützt.