Wenn Sie als Auftraggeber eine Software von einem Softwarehaus entwickeln lassen, dann liegt zwar die Koordination des Entwicklungsprozesses beim Auftragnehmer; aber Sie sollten wissen, wo sie sich in den Entwicklungsprozess einbringen können – oder sogar sollten! Da SCRUM eine populäre Methode des agilen Projektmanagement ist, lohnt sich die Auseinandersetzung damit, nicht zuletzt um den Ansatz agilen Managements grundsätzlich zu verstehen. Ein grundlegendes Verständnis reicht, Sie müssen ja kein Guru werden.

„Agile“ Methoden des Projektmanagement bedeutet, es kann flexibel auf eine veränderte Anforderungssituation oder das Feedback auf Prototypen reagiert werden. Projekte dieser Art starten typischerweise mit einer groben Anforderungsspezifikation, die Anforderungen werden im Projektverlauf verfeinert. Das Projekt besteht aus mehreren kleinteiligen Entwicklungsphasen, sogenannten Iterationszyklen. Bei SCRUM heißen diese „Sprint“ und haben eine Länge zwischen 2 und 4 Wochen. Jeder Sprint endet zum vereinbarten Termin (timeboxing). Für einen solchen Iterationszyklus wird die Feinspezifikation ausgearbeitet und werden Projektziele definiert. Nach jedem Sprint wird zudem die Releaseplanung für das Gesamtprojekt aktualisiert, so dass der Projektmanager die Einhaltung von Budget und Zeitplan steuern kann.

Typisch für ein SCRUM-Projekt ist die strikte Trennung zwischen technischer Aufwandsschätzung und zeitlicher Planung. Anforderungen werden mit sogenannten story points hinsichtlich der Komplexität bei der technischen Umsetzung bewertet. Je mehr story points, desto aufwändiger. Im Verlauf eines Entwicklungsprojekts ergibt sich dann die Entwicklungsgeschwindigkeit eines SCRUM-Teams (velocity); aus beiden Parametern lässt sich der Zeitplan für ein Projekt ableiten. Eingespielte Teams mit Senior Entwicklern arbeiten story points schneller ab als Teams mit weniger Erfahrung.

Ein zentraler Begriff bei SCRUM ist das Product Backlog: hier werden alle bekannten Anforderungen und Arbeitsergebnisse erfasst, und zwar funktionale und nicht funktionale Anforderungen. Hochpriore Anforderungen werden präziser beschrieben als andere. Für einen Sprint wird hieraus ein Sprint Backlog gebildet. Da das Product Backlog lebt und Anforderungsänderungen der Normalfall sind (agiles Projektmanagement), gibt es in SCRUM kein Change Request-Verfahren; hingegen werden Product Backlogs häufig versioniert, um die Entwicklungsdynamik bei den Anforderungen abzubilden.

Die Rollenverteilung in einem SCRUM-Projekt ist wie folgt: Einen Product Owner, den ScrumMaster sowie das Team. Der Product Owner repräsentiert das Endkundenbedürfnis und steuert die Softwareentwicklung. Am Ende eines Sprints beispielsweise überprüft er die Arbeitsergebnisse und nimmt diese ab (Sprint Review). Die Rolle vereint also Produkt- und Projektmanagementaufgaben. Das ScrumTeam umfasst zwischen fünf und neun Mitgliedern, der ScrumMaster agiert als Coach für das Team.

Wo kommt nun der Projektmanager des Auftraggebers ins Spiel? Selbstverständlich zu Beginn des Projektes, wenn das Projektziel und die groben Anforderungen definiert werden (Lastenheft). Der Projektmanager beteiligt sich im Projektverlauf ebenso daran, die Anforderungen feiner zu spezifizieren und schließlich bei der Bewertung der Arbeitsergebnisse im Sprint-Review: Ein Sprint-Review sollte als Workshop aufgesetzt werden, an dem der Projektmanager teilnimmt, um Arbeitsergebnisse zu bewerten, weitere Anforderungen zu erläutern. Es versteht sich von selbst, dass das gut dokumentiert werden sollte.

Abschließend noch einige Wort zu “Agilem Projektmanagement” im Allgemeinen. Es gibt eine Vielzahl von Ausprägungen, diese reichen von stark strukturierten Prozessen mit täglichem Monitoring bis hin zu weitgehend ungeplantem Arbeiten. SCRUM basiert hierbei auf einem vergleichsweise strengen Regelwerk (beispielsweise gelten partiell fertiggestellte oder defekte Arbeitsergebnisse als nicht erledigt). Es wird vielfach hervorgehoben, dass in agilen Projekten Kollaboration und die Bedeutung des Einzelnen im Team besondere Bedeutung zugemessen wird, während Prozesse und Werkzeuge nachranginge Bedeutung haben. In diesem Sinne lassen sich auch alle Methoden des Agilen Projektmanagement auf einige Grundprinzipien zurückführen, die im 2001 veröffentlichen Agilen Manifest formuliert werden:

Individuals and interactions over processes and tools; Working software over comprehensive documentation; Customer collaboration over contract negotiation; Responding to change over following a plan. Der Autor Roman Pichler schreibt dazu: SCRUM „stellt den Menschen in den Mittelpunkt der Softwareentwicklung. Schließlich entsteht Software nur durch die Interaktion und Kollaboration von Menschen. Scrum ist nicht technologie- oder toolorientiert, sondern fordert und fördert die enge Zusammenarbeit der Beteiligten.“

Für eine Vertiefung empfehle ich eine weiterführende Lektüre. Nachfolgend die Rezension zu einem Fachbuch, das ich Einsteigern empfehlen kann: Buchempfehlung: „SCRUM – Agiles Projektmanagement erfolgreich einsetzen“ von Roman Pichler

Sebastian Zang
Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.