Die Kapazitäten der Softwareentwicklung zählen zu den kostbarsten Ressourcen von Unternehmen. Warum? Erstens: Spezialisierte Softwareentwickler sind nach wie vor eine begehrte Mangelware auf dem Arbeitsmarkt und dementsprechend schwer zu finden. Zweitens: Softwareentwickler wissen das und gehören deshalb meist zu den bestbezahltesten Mitarbeitern. Und noch ein dritter entscheidender Faktor kommt hinzu: Softwareentwicklungen sind in der Regel sehr komplexe und zeitaufwendige Prozesse, die viele „Überraschungen“ im Projektverlauf bereithalten. Sie sind – kurz gesagt – sowohl im Ganzen als auch in den Details – schwer zu überschauen und noch schwieriger von Beginn an präzise zu terminieren.
Agil, transparent und flexibel – Projektmanagement mit Scrum
Das Problem: Klassische Projektplanung führt oft zu einem unflexiblen und bürokratischen Vorgehen und produziert dabei einen administrativen Overhead. Mit viel Aufwand werden Zeitplanungen und Dokumentationen erstellt, die schon im nächsten Projektschritt nicht mehr aktuell sind. Oder aber, man hält an Planungsschritten fest, obwohl diese von der aktuellen Projektentwicklung bereits längst überholt wurden. Die Ursache dafür sind häufig Kommunikationslücken zwischen den Beteiligten.
Aufgrund dieser Erfahrungen entstand die Idee zu einem neuen methodischen Vorgehen: Das Projektmanagement wird agil – mit Scrum. Agiles Projektmanagement nach der Scrum-Methode bietet Ihnen die Möglichkeit, Kapazitäten besser zu bündeln und effektiver einzusetzen.
Gegenüber der klassischen Projektplanung hat Scrum drei zentrale Vorteile:
- Mehr Transparenz: Interaktionen sind wichtiger als Prozesse, alle Beteiligten arbeiten enger zusammen und tauschen sich regelmäßig über Entwicklungen und Änderungen aus.
- Direkte Funktions- und Prozesskontrolle: Ein gutes Ergebnis ist wichtiger als die ursprünglich formulierte Leistungsbeschreibung. Die Funktionalität des Produkts wird von den Beteiligten während des Projekts regelmäßig selbst beurteilt und das weitere Vorgehen besprochen.
- Mehr Flexibilität: Die Berücksichtigung von Veränderungen ist wichtiger als das Festhalten an einem Plan. Es gibt keine starre Projektplanung, sondern die Anforderungen an das Produkt sowie die nächsten Schritte können von den Beteiligten im Projektverlauf kontinuierlich angepasst werden.
Der Motor des Scrum-Prozesses – das Scrum-Team
Die Basis eines Scrum-Prozesses bildet das Scrum-Team. Dieses besteht aus drei Verantwortungsbereichen.
Der Product Owner
Der Product Owner ist praktisch für den wirtschaftlichen Erfolg des Produktes verantwortlich. Am Anfang bringt er die Konzeption bzw. Vision für das neue Produkt in das Team ein und entscheidet hinsichtlich Produktqualität, Auslieferungszeitpunkt und Kosten darüber, welche Produkteigenschaften wann und wie entwickelt werden.
Das Entwicklungsteam
Das Entwicklungsteam umfasst diejenigen, die konkret an dem Projekt arbeiten. Sie sind die Spezialisten und bringen das Knowhow ein, um die Funktionen und Eigenschaften des neuen Produkts zu entwickeln. Sie können auch am besten den für die jeweiligen Entwicklungsschritte erforderlichen Zeitaufwand abschätzen. Da sich das Entwicklungsteam eng und gleichberechtigt untereinander abstimmen muss, sollte es nicht mehr als 3 bis 9 Personen umfassen.
Der Scrum-Master
Der Scrum-Master hat hauptsächlich eine moderierende Funktion. Er unterstützt das Team, achtet auf die Einhaltung der Scrum-Regeln, hilft bei Problemen und schützt das Team vor störenden Einflüssen von außen.
Von der Theorie zur Praxis – Projektplanung mit Scrum
Die Grundidee von Scrum besteht darin, ein großes Projekt – salopp gesagt – in kleine handliche Stücke aufzuteilen. Die Projektplanung kann sich dadurch auf das Wesentliche konzentrieren und Aufgaben flexibler priorisieren. Bei einem Scrum-Prozess unterscheidet man folgende Phasen:
Das Produkt-Backlog
Ein Scrum-Prozess startet in der Regel mit einer Produkt- bzw. Marketing-Idee, die im sogenannten Produkt-Backlog festgehalten wird. Das Produkt-Backlog ist ein Katalog derjenigen Anforderungen, die vom Scrum-Team umgesetzt werden sollen. Wichtig: Diese Anforderungen werden vom Product Owner erstellt und müssen von ihm auch priorisiert werden!
Das Refinement
Die Anforderungen des Produkt-Backlogs sind in erster Linie theoretischer Natur, man könnte Sie auch als „Wunschliste“ definieren. Deshalb wird jede Anforderung des Katalog im sogenannten Refinement hinsichtlich ihrer praktischen Realisierbarkeit überprüft. Hier kommt das Expertenwissen der einzelnen Scrum-Mitglieder zum Tragen. Schwierigkeiten, falsche Priorisierungen oder wichtige Punkte, die noch nicht berücksichtigt wurden, können durch das Refinement schneller erkannt und frühzeitig in der Projektplanung berücksichtigt werden. Im Zuge des Refinements wird unter Umständen der Anforderungskatalog des Produkt-Backlogs noch einmal neu priorisiert. Es können natürlich auch Anforderungen gestrichen oder neue hinzugefügt werden.
Die Planning-Meetings
Ist der überarbeitete Anforderungskatalog des Refinement festgelegt, muss auch dieser zuerst einmal priorisiert werden. Auf dieser Grundlage kann das Projekt dann in überschaubare Arbeitsschritte – die sogenannten „Sprints“ aufgeteilt werden. Ziel des Planning-Meetings ist es, dass das Scrum-Team ein gemeinsames Verständnis für das Projekt und die einzelnen Aufgaben entwickelt. Dabei wird entschieden, wer was macht, wer mit wem zusammenarbeitet und welche Aufgaben in einem Sprint bearbeitet werden können.
Im daran anschließenden Sprint Planning wird dann definiert, welche Tasks innerhalb eines Arbeitsschrittes bearbeitet werden können. Das Sprint-Backlog hält die Aufgabenverteilung fest und bildet die Grundlage für das Herzstück des Scrum-Prozesses – die Sprints.
„Der Sprint“ – Das Herzstück eines Scrum-Prozessen
Während eines Sprints wird die eigentliche Arbeit geleistet. Um die Projektphase überschaubar zu halten, ist die Dauer eines Sprints – je nach Projekt – auf 1 bis max. 4 Wochen begrenzt. Das Scrum-Team (Das Entwicklerteam inklusive Scrum-Master und Product-Owner) trifft sich täglich zu einem Daily Standup. In diesem werden die Arbeitsergebnisse vorgestellt und die nächsten Schritte besprochen. Auch eventuell auftauchende Probleme können in diesem Rahmen sofort zur Sprache gebracht werden. Das Daily Standup dient zum schnellen Informationsaustausch, es ist daher auf eine Dauer von max. ca. 15 min. beschränkt.
Am Ende eines Sprints steht das Sprint Review, in dem das Scrum-Team seinen Auftraggebern die Ergebnisse präsentiert. Im Sprint Review kann beurteilt werden, ob die gesetzten Ziele erreicht worden sind, ob bzw. an welchen Stellen noch Verbesserungsbedarf besteht und ob eventuell geplante Projektphasen geändert, angepasst oder neu priorisiert werden müssen.
Sinnvoll und hilfreich ist auch eine Sprint Retrospektive. Dabei handelt es sich um einen Erfahrungsaustausch aller Beteiligten zum Sprint-Prozess selbst. Die Sprint Retrospektive dient dazu, Verbesserungspotentiale zu finden. Was lief gut, was nicht? Wo gab es Probleme? Was könnte/sollte/müsste man optimieren. Etc…
Die Vorteile von Scrum
Agile Projektplanung nach der Scrum ist natürlich keine Erfolgsgarantie. Wie Sie sehen, bietet Ihnen die Scrum-Methode jedoch einige entscheidende Vorteile gegenüber der klassischen Projektplanung.
- Durch die kürzeren und kompakteren Prozessschritte können Sie sehr viel schneller auf Veränderungen reagieren und im Bedarfsfall gegensteuern. Zeit- und kostenintensive Hindernisse und Fehlplanungen lassen sich oftmals schon im Ansatz erkennen und vermeiden.
- Durch transparentere Prozesse und schnelleren Informationsaustausch arbeiten Teams effizienter zusammen und die Motivation der Mitarbeiter steigt.
- Knappe Ressourcen, insbesondere die von Softwareentwicklern, können von Ihnen sehr viel flexibler eingesetzt werden. Spezialisiertes Knowhow ist nicht mehr durch langfristige Projekte gebunden, sondern steht dort zur Verfügung, wo es am dringendsten gebraucht wird.
- Wissen, das Sie aus einem Scrum-Prozess gewinnen, können Sie dafür nutzen, Arbeitsabläufe künftig noch effektiver und effizienter zu machen.
Haben Sie schon Erfahrungen mit Scrum gemacht oder haben Sie schon einmal darüber nachgedacht, die Scrum-Methode selbst anzuwenden? Dann schicken Sie uns einen Kommentar.
Sie möchten mehr über Scrum und agile Softwareentwicklung wissen? Hier finden Sie weiterführende Informationen:
Das Manifest für Agile Softwareentwicklung
Agile Softwareentwicklung
Scrum auf einer Seite erklärt
Bildnachweis: Fotolia, Lizenz: Host Europe