Scrum
Was ist Scrum?
Definition
Der Begriff Scrum stammt aus dem Englischen und bedeutet „angeordnetes Gedränge“. Er bezieht sich auf die Mannschaftssportart Rugby. Dort versammeln sich die Teams dicht gedrängt um einen Ball und geben ihn Stück für Stück weiter, um die gegnerische Ziellinie zu erreichen und den Ball herüber zu befördern. Dabei bestimmen sie selbst die Taktiken und Methoden ihres Vorgehens.
Diese Methode kann mit Scrum auf die agile Produktentwicklung und das agile Projektmanagement übertragen werden. Agile bedeutet „flink“ und bezieht sich auf schnelle Arbeitsprozesse, um die Produktentwicklung zu optimieren und die Effizienz zu steigern. Es wird als eine Art vorgegebenen Rahmen (Framework) verstanden und gibt klar definierte Rollen und Abläufe vor. Die Arbeitsweise ist dabei häufig iterativ. Das bedeutet, dass sich die Abläufe schrittweise wiederholen.
Scrum ist ein Modell, dass durch die agile Softwareentwicklung bekannt geworden ist. Die Transparenz und Veränderungsgeschwindigkeiten werden unter Verwendung agiler Techniken erhöht. Zudem wird auf einen schnelleren Einsatz des Systems gesetzt, um Fehler schon während des Entwicklungsprozesses erkennen zu können.
Heutzutage wird Scrum nicht nur in der Softwareentwicklung eingesetzt, sondern auch innerhalb anderer Branchen verwendet.
Geschichte
Die japanischen Wissenschaftler Ikujirō Nonaka und Hirotaka Takeuchi legten mit ihren Erkenntnissen im Bereich des Wissensmanagement den Grundstein der weiteren Entwicklung von Scrum. Der US-amerikanische Entwickler Jeff Sutherland führte auf dieser Basis eine neue Rolle für die Projektleiter ein, die eher zu Teammitgliedern wurden und den moderierenden Part übernahmen. Ken Schwaber, ebenfalls Softwareentwickler in den USA, formalisierte zusammen mit Sutherland die Scrum Methode im Jahr 1993.
Im Jahr 1995 wurde ein Konferenzbeitrag über Scrum auf der OOPSLA (Object-Oriented Programming, Systems, Languages and Applications) gehalten.
Das agile Manifest wurde im Jahr 2001 von Sutherland, Schwaber und 15 anderen Entwicklern verfasst und besteht aus vier grundlegenden Werten, die das Scrum Modell repräsentiert:
- Individuen und Interaktionen werden in Bezug auf ihre Wichtigkeit höher eingestuft als es Prozesse und Werkezeuge sind.
- Außerdem muss vorausgesetzt werden, dass die Software funktioniert. Die Dokumentation dieser spielt dabei eine kleinere Rolle.
- Auf die gute Zusammenarbeit mit dem Kunden kommt es an. Sie ist wichtiger als die Vertragsverhandlungen.
- Wenn sich Veränderungen innerhalb des Prozesses ergeben, muss auf diese reagiert werden. Dieser Akt wird als wichtig eingestuft und steht vor der Planbefolgung.
2002 publizierten Schwaber und der Softwareentwickler Mike Beedle ein Buch mit dem Titel “Agile Software Development with Scrum”. Dieses Buch ist als eine Art Scrum Guide zu verstehen und befasst sich mit der agilen Softwareentwicklung und der richtigen Umsetzung der Scrum Methode.
Wie funktioniert Scrum?
Als Basis wird von einer zentralen Grundannahme ausgegangen, die besagt, dass Projekte (ob in der Softwareentwicklung oder in anderen Bereichen) häufig komplex sind und nicht bis ins Kleinste geplant werden können. Durch den groben Rahmen, der durch den Einsatz von Scrum entsteht, werden dem Team verpflichtende Hilfsmittel, ein klares Rollenkonzept und ritualisierende Meetings geboten. Die Organisation der Rollenvergabe und des Ablaufs findet innerhalb des Teams statt.
Verpflichtende Hilfsmittel (“Artefacts”)
Verpflichtende Hilfsmittel werden auch Artefakte genannt und bestehen aus Konzepten und Tools, die vom Scrum-Team dazu verwendet werden, ihre Ziele im Blick zu behalten und diese erreichen zu können. Beispiele für Artefakte sind der sogenannte „Product Backlog“ oder das „Sprint Backlog“. Der „Product Backlog“ beinhaltet alle Anforderungen an das Produkt. Im Bereich der Softwareentwicklung sind dort alle Anforderungen der zu erstellenden Software festgehalten. Das „Sprint Backlog“ sammelt alle Product Backlog Inhalte eines jeweiligen Scrum Sprints. Der Scrum Sprint wird als Zeiteinteilung verstanden und wird dazu verwendet, ein Zwischenprodukt (Inkrement) zu entwickeln. Im Sprint Backlog wird der Plan festgehalten, wie das Sprint-Ziel erreicht werden soll.
Klares Rollenkonzept (“Roles”)
In Scrum werden drei Rollen unterschieden:
- Product Owner
Der Product Owner ist für die Gestaltung des Produkts zuständig. Dabei achtet er darauf, den Nutzen zu maximieren und wirtschaftlichen Erfolg zu erzielen. Der Product Owner arbeitet mit dem Product Backlog und hält darin alle Eigenschaften und Anforderungen des Produkts fest. Zudem aktualisiert er den Product Backlog regelmäßig. Er steht im regelmäßigen Austausch mit den Stakeholdern und geht auf deren Wünsche und Bedürfnisse ein. - Scrum Master
Der Scrum Master gibt keine Anweisungen, sondern nimmt die Rolle eines Coaches ein, der Störungen oder Hindernisse, wie Uneinigkeiten innerhalb des Teams, beseitigt. Der Scrum Master hat weitere Aufgaben, wie beispielsweise die Kontrolle über die Einhaltung der Scrum Regeln und die regelmäßige Überprüfung derer. - Umsetzungsteam
Im Bereich der Softwareentwicklung besteht das Umsetzungsteam aus Entwicklern und anderen Experten (Marketing, Webdesign), die sich um die Produktfunktionalitäten kümmern. Dabei müssen die vereinbarten Anforderungen an das Produkt im Vordergrund stehen. Die Organisation obliegt dem Team, welches im Optimalfall interdisziplinär besetzt ist, um ohne Einflüsse von außen arbeiten zu können. Ein Scrum-Team sollte die Anzahl von zehn Mitgliedern in der Regel nicht überschreiten, da ansonsten der Koordinierungsaufwand steigen kann. Für einen Scrum Sprint werden die einzelnen Einträge des Product Backlogs in kleinere Arbeitsschritte (Tasks) unterteilt und im besten Fall innerhalb eines Tages vom Umsetzungsteam bearbeitet. Das Ergebnis stellt im Anschluss daran das Sprint Backlog dar. - Stakeholder
Neben diesen drei Rollen existieren die „Stakeholder“. Sie stellen alle Personen dar, die in Kontakt zu dem Scrum-Team stehen oder in irgendeiner Form von deren Arbeit profitieren.
Beispiele für Personen, die klassische Stakeholder darstellen, sind die Kunden, die Anwender oder das Management.
Den Kunden wird das Produkt nach dem abgeschlossenen Prozess zur Verfügung gestellt. Je nach Art des Produkts können die Kunden interne Fachabteilungen abbilden oder externe Personen sein. Zuständig für die Kundenbetreuung während des gesamten Entwicklungsprozesses ist der Product Owner.
Die Anwender sind die Menschen, das das Produkt benutzen. Die Anwender können, müssen aber nicht die Kunden sein. Um das Produkt zu testen, ist es wertvoll, ein Review mit den Anwendern durchzuführen. Dadurch kann die Software vor Fertigstellung getestet werden. Somit bekommen die Entwickler wertvolles Feedback der Kunden und Anwender schon während des Prozesses, um das Produkt stetig zu optimieren.
Das Management kümmert sich in erster Linie um die Erfüllung der Rahmenbedingungen wie beispielsweise die Bereitstellung der Räume und Arbeitsmittel.
[youtube:_GqoL4M-Xwk]
Meetingformate (“Events”)
Als Kernelement von Scrum können die ritualisierenden Meetingformate angesehen werden. Diese laufen in ähnlichen Rhythmen und Zeitfenstern ab. Beispiele für die regelmäßigen Meetings sind das Sprint Planning Meeting oder das Daily Scrum Meeting.
Beim Sprint Planning werden die Fragen gestellt, was im Sprint entwickelt werden kann und wie die Umsetzung dieser Arbeit erfolgt. Zwei Teile des Sprint Plannings können dabei unterschieden werden: die Festlegung des Was und die Festlegung des Wie. Die Dauer des Meetings beträgt maximal zwei Stunden innerhalb einer Sprint-Woche.
Das Daily Scrum Meeting findet häufig zu Beginn des Tages statt und dauert ca. 15 Minuten. Anwesend sind der aktive Part, der das Entwicklerteam darstellt und Product Owner und Scrum Master, die eher die Rolle der stillen Anwesenden einnehmen. Ziel ist es, Informationen untereinander auszutauschen und über den aktuellen Stand der Arbeit zu sprechen. Dafür werden die Dinge aufgezählt, die zuletzt erreicht wurden und die, die erreicht werden sollen. Dadurch kann zum Beispiel erkennbar werden, dass eine Aufgabe länger dauert als geplant. Die Aufgabe kann im Anschluss daran direkt an die Gegebenheiten angepasst werden.
Ein Treffen, welches nach jeder Iteration durchgeführt werden sollte und bei dem es darum geht, in die Vergangenheit zu blicken, wird Retrospektive genannt. Bei der Retrospektive geht es darum, herauszufinden, welche Prozesse fehlerbehaftet waren und wie Hindernisse in der nächsten Iteration vermieden werden können.
Wann ist Scrum sinnvoll?
Es gibt verschiedene Voraussetzungen, die für den erfolgreichen Einsatz von Scrum wichtig sind. Hierzu gehören die Teamgröße, Teamfähigkeit, das Vertrauen des Managements in das Projektteam, und das passende Projektziel.
Die Scrum Teams sollten aus nicht mehr als zehn Mitgliedern bestehen.
Diese sollten in der Lage sein, interdisziplinäre Aufgaben zu übernehmen und über Spezialwissen verfügen. Dabei kommt es auf die richtige Zusammensetzung an.
Das Projektmanagement muss das nötige Vertrauen aufbringen und dem Projektteam Raum für den Prozess lassen, um frei arbeiten zu können. Die jeweiligen Rollen werden nicht vom Management vergeben, sondern intern auf die Personen verteilt. Auch die Aufgaben werden durch die Teams definiert.
Entscheidend ist außerdem das Projektziel. Wenn das Produkt beispielsweise eine Software mit vielen Features darstellt, kann Scrum verwendet werden, da es möglich ist, den Entwicklungsprozess in kleinere, iterative Arbeitsschritte zu unterteilen.
Weitere Methoden der agilen Softwareentwicklung
Neben der agilen Methode Scrum existieren weitere Frameworks, die durch die agile Softwareentwicklung entstanden sind. Zu ihnen gehören beispielsweise das Extreme Programming, Kanban und die Crystal Methode.
Extreme Programming
Extreme Programming wird auch XP genannt und fokussiert das Lösen einer Programmieraufgabe. Geplante Vorgehen rücken bei dieser Methode in den Hintergrund. Fortlaufende Iterationen (Wiederholungen) ermöglichen, dass die Anforderungen des Kunden in kurzen Entwicklungszyklen und mit schnellen Reaktionszeiten erreicht werden können.
Kanban
Die Kanban Methode ist ein weiteres agiles Vorgehen, bei dem die Anzahl der parallelen Arbeiten soweit begrenzt werden, dass kürzere Durchlaufzeiten realisiert werden können und Fehler und Probleme schnell sichtbar werden.
Kanban ähnelt dem Vorgehensmodell Scrum in vielen Punkten, unterscheidet sich jedoch in der Art und Weise der Ausführung. Während beispielsweise bei Scrum die Iterationen gleiche Längen besitzen und vorgeschrieben sind, können unter Verwendung von Kanban Iterationen optional erfolgen und sich in der Dauer voneinander unterscheiden.
Crystal
Crystal stellt eine Familie von agilen Methoden dar, die sich anhand der Größe und Komplexität des Produkts ausrichten. Entwickelt wurde die Crystal Familie in der Mitte der 1990er Jahre durch den US-amerikanischen Informatiker Alistair Cockburn, der ebenfalls an der Erstellung des agilen Manifests beteiligt war.
Jede Familie und ihre Methoden bekommen innerhalb des Crystal Ansatzes eine Farbe, die sich unter anderem anhand der Teamgröße definiert. So steht beispielsweise Crystal Clear für ein Team, welches aus maximal sechs Teammitgliedern besteht, Crystal Brown umfasst bis zu 200 Teammitglieder und Crystal Violet kann mit bis zu 1000 Teammitgliedern arbeiten.
Ausblick
Laut einer Statista-Umfrage lag die Arbeitsmethode des agilen Projektmanagements im Jahr 2018 für die tägliche Arbeit mit einem Skalenwert von 3,4 im mittleren Bereich. Dies bedeutet, dass sie für viele Unternehmen eine relevante Arbeitstechnik darstellt.
Der Trend der Nutzung der agilen Methoden in Unternehmen ist steigend. Eine umfangreiche Studie der Hochschule Koblenz ist durch die Zusammenarbeit der Hochschule mit Scrum.org und GMP entstanden und befasst sich unter anderem mit der Nutzung, der Verbreitung der Erfolge von agilen Arbeitsprozessen. Im Jahr 2020 nahmen über 600 Personen aus über 20 Ländern an der Studie teil.
Ein Ergebnis stellte zum Beispiel die Gründe dar, warum agile Ansätze in Firmen häufig verwendet werden. Diese sind die Produkteinführungszeit, die Qualität und die Risiko-Reduktion. Außerdem wurde durch die Befragten angegeben, dass durch die agilen Methoden Ergebnisse verbessert wurden und effizienter gearbeitet wurde.
Scrum bei TenMedia
Auch die Softwareagentur TenMedia aus Berlins Mitte, verkehrsgünstig gelegen zwischen Alexanderplatz und Rosa-Luxemburg-Platz, setzt bei der Softwareentwicklung auf den Einsatz von Scrum. Als vordergründig betrachten wir die Zusammenarbeit mit dem Kunden auf Augenhöhe. Die Erstellung von Individualsoftware ist von den Anforderungen des Kunden an das Produkt geprägt. Wir arbeiten intensiv an der Umsetzung der Anforderungen und halten alle Beteiligten durch Daily Scrum Meetings und Sprints während des Entwicklungsprozesses transparent auf dem Laufenden. Auch unsere Kunden haben die Möglichkeit, die Sprints mitzuverfolgen und das Produkt noch vor Fertigstellung zu testen.
Haben Sie eine spannende Projektidee und Interesse daran, Ihr Produkt mit uns zu realisieren? Wir freuen uns auf eine unverbindliche Kontaktaufnahme, die per E-Mail oder Telefon erfolgen kann.