Scrum
Bei Scrum handelt es sich um eine Methode der agilen Softwareentwicklung. Das Prinzip beruht auf der weitgehenden Selbstorganisation der Teammitglieder und auf täglichen Meetings, um den Projektfortschritt festzuhalten und den neuen Tag zu planen.
Überblick über Scrum
Scrum ist eine Art des Projektmanagements, die ohne Projektmanager auskommt. Tägliche Treffen des Teams stellen die Basis für die Zusammenarbeit und die ständige Überarbeitung der Aufgaben dar. Um Scrum zu verstehen, müssen zunächst die verschiedenen Rollen und Meetings definiert werden. Im Schnelldurchlauf erklärt dieses Video das Funktionsprinzip von Scrum.
Die Rollen bei Scrum
Die an der Softwareentwicklung beteiligten Personen werden in folgende Rollen eingeteilt:
Der Product Owner ist für die Konzeption des Produkts verantwortlich. Er legt die Produkteigenschaften fest, übernimmt die Qualitätskontrolle und behält dabei den wirtschaftlichen Unternehmenserfolg im Auge. Er kommuniziert mit dem Kunden und berücksichtigt dessen Bedürfnisse bei der Entwicklung des Produkts.
- Scrum Master:
Der Scrum Master ist für den eigentlichen Scrum-Prozess verantwortlich. Er brieft das Entwicklungsteam in Hinblick auf die Grundregeln, organisiert und moderiert die Meetings. Zudem räumt der Scrum Master Störungen aus dem Weg, die die Entwickler an ihrer Arbeit hindern könnten. Allerdings handelt es sich dabei weniger um einen Vorgesetzten, sondern mehr um ein Teammitglied.
- Entwicklungsteam:
Das Entwicklungsteam arbeitet die vom Product Owner vorgegebenen Arbeitspakete (Sprints) ab. Es kümmert sich um die Umsetzung und muss sich dabei nicht an Anweisungen von außen kümmern. Das Entwicklungsteam setzt sich interdisziplinär zusammen. Dies bedeutet, dass jeder auf seinem Gebiet ein Experte ist, zugleich aber auch die Arbeitsgebiete anderer Teammitglieder kennt und gegebenenfalls mit ihnen zusammen arbeiten oder ihre Aufgaben übernehmen kann. Scrum-Teams umfassen in der Regel zwischen drei und neun Mitglieder. Um die Ziele zu erreichen, wird ein Sprint Backlog erstellt. Dieses ist eine detaillierte Auflistung aller Aufgaben, die für die Zielerreichung durchgeführt werden müssen.
- Customer:
Der Auftraggeber muss nicht zwingend eine externe Person sein, in größeren Unternehmen kommt die Rolle des Customers häufig auch einer anderen, internen Fachabteilung zu. Der Customer kommuniziert mit dem Product Owner und tauscht sich mit ihm fortwährend aus.
- User:
Die User werden die entwickelte Software später verwenden. Diese Rolle kann mit dem Customer identisch sein, häufig sind es aber beispielsweise dessen Mitarbeiter oder auch dessen Kunden.
- Management:
Das Management ist dafür verantwortlich, den Scrum-Prozess zu unterstützen und zu ermöglichen. Es stellt die erforderlichen Ressourcen zur Verfügung und unterstützt das Team.
Die Meetings bei Scrum
Scrum basiert auf drei verschiedenen Arten von Meetings. Im Rahmen des Sprint Plannings bespricht der Product Owner mit seinen Teammitgliedern die laut dem Product Backlog anstehenden Sprints. Zur Sprache kommt dabei außerdem, wie die Entwickler planen, die Arbeit zu erledigen. Die Arbeitspakete sollten sich dafür eignen, innerhalb eines Tages erledigt zu werden.
Der Daily Scrum findet täglich für höchstens 15 Minuten statt. Es handelt sich um ein Treffen des Entwicklerteams, bei dem sich diese über die anstehenden Aufgaben austauschen und sich einen Überblick verschaffen. Gibt es bei einer Aufgabe Verzögerungen, teilen die Entwickler diese eigenständig in kleinere Tasks auf.
Das dritte wichtige Meeting ist das Sprint Review, das stets bei Beendigung eines Sprints stattfindet. Dabei erhalten der Customer und der User anhand des fertiggestellten Softwarepakets die Möglichkeit des Tests. Hieraus können sich wieder neue Aufgabenstellungen ergeben, die dann wieder in das Product Backlog übernommen werden. Das Produkt wird auf diese Weise wie in einer Schleife kontinuierlich verbessert.
Vorteile
Scrum bringt für die Beteiligten eine Vielzahl von Vorteilen mit sich:
- mehr Flexibilität durch Abarbeitung großer Projekte in kleinen Teilschritten
- kurzfristige Reaktionen auf Veränderungen am Markt oder neue wissenschaftliche Erkenntnisse möglich
- effektivere Arbeit im Team durch Selbstorganisation
- aktueller Bearbeitungsstand des Projekts ständig abrufbar (hohe Transparenz)
- kontinuierlicher Verbesserungsprozess
Kritische Aspekte
Dennoch ist die Methode auch mit kritischen Augen zu betrachten. Während bei anderen Arten des Projektmanagements Abweichungen vom Soll-Zustand erst zu einem späteren Zeitpunkt zum Vorschein kommen, werden diese bei Scrum nahezu ohne Zeitverzögerung sichtbar. Für ein Scrum-Team bedeutet das ständige Feedback allerdings unter Umständen auch eine Demotivation, sofern es häufig im negativen Sinne vom Plan abweicht. Zudem nutzt die ständige Feedbackschleife auch nur dann etwas, wenn die Erkenntnisse genutzt werden, um die Arbeit zu verbessern oder zu verändern. Arbeitet das Team weiter wie gehabt, kann Scrum seinen Nutzen nicht entfalten.
Auch die Teamzusammensetzung kann Probleme bereiten. Ist das Team nicht ausreichend interdisziplinär zusammengesetzt und ausgebildet, kann es zu unerwünschten externen Abhängigkeiten kommen, durch die das Scrum-Prinzip ins Wanken gerät. Wird ein Scrum-Team aus bestehenden Mitarbeitern unterschiedlicher Hierarchiestufen zusammengesetzt, fällt es den Teammitgliedern immer wieder schwer, ihre eigentliche Hierarchieebene aufzugeben und sich als gleichberechtigtes Teammitglied anzusehen.
Weblinks