Definition

Scrum

Was ist Scrum?

Scrum ist ein Framework für das Projektmanagement, das Teamarbeit, Verantwortlichkeit und iterative Fortschritte in Richtung eines klar definierten Ziels in den Vordergrund stellt. Das Framework basiert auf einer einfachen Prämisse: Beginnen Sie mit dem, was sichtbar oder bekannt ist. Verfolgen Sie anschließend den Fortschritt und nehmen Sie bei Bedarf Anpassungen vor.

Scrum ist oft Teil der agilen Softwareentwicklung. Der Name leitet sich von einer Rugby-Formation ab, in der jeder eine Rolle spielt. Zu den Rollen im Softwareentwicklungs-Scrum gehören die folgenden:

  • Product Owner (Produktverantwortlicher). Diese Person fungiert als Verbindungsglied zwischen dem Entwicklungsteam und den Kunden. Der Product Owner ist dafür verantwortlich, dass die Erwartungen an das fertige Produkt kommuniziert und vereinbart werden.
  • Scrum Master. Der Scrum Master wird als Projektmoderator bezeichnet. Er sorgt dafür, dass die Best Practices von Scrum eingehalten werden. Er muss ein guter Führungskraft und Projektmanager sein und über Fähigkeiten in den Bereichen Zusammenarbeit, Konfliktlösung und Prozessverbesserung verfügen.
  • Entwicklungsteam. Die Mitglieder des Scrum-Entwicklungsteams arbeiten zusammen, um inkrementelle Versionen des Endprodukts zu erstellen und zu testen. Entwickler müssen mit Scrum und agilen Entwicklungsmethoden vertraut sein.

Branchenverbände und andere Organisationen bieten Schulungen und Zertifizierungen für diese Schlüsselrollen an. Einige Beispiele hierfür sind:

  • das Project Management Institute, das die Zertifizierung Disciplined Agile Scrum Master anbietet;
  • die Scrum Alliance, die die Zertifizierung Certified ScrumMaster anbietet;
  • Scrum.org, das ein Professional Scrum Master Training anbietet; und
  • Scrumstudy.com, das die Zertifizierung Scrum Master Certified anbietet.
Abbildung 1: Das Scrum-Team besteht aus dem Product Owner, dem Scrum Master und dem Entwicklungsteam.
Abbildung 1: Das Scrum-Team besteht aus dem Product Owner, dem Scrum Master und dem Entwicklungsteam.

Was ist der Scrum-Prozess?

Der Scrum-Prozess ermutigt Anwender, mit dem zu arbeiten, was sie haben, und kontinuierlich zu bewerten, was funktioniert und was nicht. Eine gute Kommunikation ist unerlässlich und erfolgt über Besprechungen, die als Events bezeichnet werden.

Zu den Scrum-Events gehören:

  • Daily Scrum. Dieses Event ist eine kurze, tägliche Stand-up-Besprechung, die jeden Tag zur gleichen Zeit am gleichen Ort stattfindet. In diesen Besprechungen überprüft das Team die am Vortag geleistete Arbeit und plant, was in den nächsten 24 Stunden zu tun ist. Dies ist der Zeitpunkt, an dem die Teammitglieder Probleme besprechen, die den Projektabschluss verhindern könnten.
  • Sprint. Ein Sprint ist der Zeitrahmen, in dem die Arbeit abgeschlossen werden muss – oft 30 Tage. Neue Sprints beginnen direkt nach dem Ende des vorherigen.
  • Sprint-Planungsmeeting. In diesen Meetings beteiligen sich alle an der Festlegung der Ziele. Am Ende sollte mindestens ein Inkrement – ein nutzbares Stück Software – produziert worden sein.
  • Sprint Review. Dies ist der Zeitpunkt, um das Inkrement zu präsentieren.
  • Sprint-Retrospektive. Eine Sprint-Retrospektive ist ein Meeting, das nach dem Ende eines Sprints stattfindet. Während dieses Meetings reflektieren alle über den Prozess. Es kann auch eine Teambuilding-Übung angeboten werden. Ein wichtiges Ziel dieser Veranstaltung ist die kontinuierliche Verbesserung.

Was sind Scrum-Artefakte?

Ein Artefakt ist etwas von historischem Interesse, das eine erneute Überprüfung rechtfertigt. In der Scrum-Produktentwicklung werden Artefakte verwendet, um zu sehen, was bereits erledigt wurde und was noch in der Warteschlange steht.

Es ist sinnvoll, sich die Scrum-Artefakte in Sprint-Planungsmeetings anzusehen. Zu den Scrum-Artefakten gehören:

  • Produkt-Backlog. Dies bezieht sich auf das, was noch zu tun ist. Während einer Produkt-Backlog-Grooming-Sitzung arbeitet das Entwicklungsteam mit dem Business Owner zusammen, um die zurückgestellten Aufgaben zu priorisieren. Das Produkt-Backlog kann während eines Prozesses namens Backlog-Verfeinerung optimiert werden.
  • Sprint-Backlog. Dies ist eine Liste von Aufgaben, die erledigt werden müssen, bevor ausgewählte Produkt-Backlog-Elemente geliefert werden können. Diese sind in zeitbasierte User Stories unterteilt.
  • Produktinkrement. Dies bezieht sich auf das, was während eines Sprints erreicht wurde – alle Produkt-Backlog-Elemente – sowie auf das, was während aller vorherigen Sprints erstellt wurde. Das Produktinkrement spiegelt den erzielten Fortschritt wider.
  • Burn Down. Ein Burn Down Chart ist eine visuelle Darstellung der noch zu erledigenden Arbeit. Ein Burn Down Chart hat eine Y-Achse, die die Arbeit anzeigt, und eine X-Achse, die die Zeit anzeigt. Im Idealfall zeigt das Diagramm einen Abwärtstrend, da die noch zu erledigende Arbeit im Laufe der Zeit auf Null sinkt.
Abbildung 2: Das Scrum-Framework zeigt, wie die Elemente von Scrum sich um das Scrum-Team drehen.
Abbildung 2: Das Scrum-Framework zeigt, wie die Elemente von Scrum sich um das Scrum-Team drehen.

Vorteile der Scrum-Methodik

Zu den wichtigsten Vorteilen von Scrum gehören:

  • Qualitativ hochwertige Produkte. Der Sprint-Retrospektive-Teil des Scrum-Prozesses beinhaltet Feedback und kontinuierliche Verbesserung. Dadurch liefern Entwicklungsteams, die diese Methodik anwenden, qualitativ hochwertige Produkte.
  • Teamarbeit. Scrum schafft zusammenhängende Softwareentwicklungsteams, die effektiv kommunizieren, Termine einhalten und Probleme gemeinsam lösen. Die Mitglieder vertrauen und respektieren sich gegenseitig und wissen, dass ihre Zeit wertvoll ist. Dies kann bedeuten, dass das tägliche Scrum auf ein striktes Zeitfenster begrenzt wird. Einige Softwareentwicklungsteams integrieren einen Hacking-Sprint in ihren Prozess. Dieser ermöglicht es den Entwicklern, an neuen Konzepten zu arbeiten, neue Ideen auszuprobieren und Verantwortung für Produkte zu übernehmen.
  • Flexibilität. Mit Scrum müssen Teams ihre Tools und Prozesse an neue Gegebenheiten anpassen, sobald diese auftreten. Produktdefinitionen können sich im Laufe der Entwicklung ändern, und effektive Teams setzen diese Änderungen innerhalb weniger Iterationen um. Regelmäßige Product-Backlog-Meetings ermöglichen es einem Team, Prioritäten neu zu ordnen, bevor Produkte in den Sprint übernommen werden.
  • Geringeres Risiko. Scrum konzentriert sich auf ein vorhersehbares, nachhaltiges Lieferrisiko und konsistentes Feedback, das Teams die Möglichkeit gibt, Risiken frühzeitig und häufig zu minimieren. Kurze Sprints ermöglichen es Teams, schnell zu scheitern, wenn eine Idee nicht funktioniert, wodurch das Risiko eines Scheiterns überschaubar bleibt.
  • Verkürzte Markteinführungszeit. Scrum zielt darauf ab, Produkte und deren Funktionen in vorhersehbaren Schritten mithilfe klar definierter Sprints zu veröffentlichen. Das gesamte Produkt muss nicht fertiggestellt sein, damit Funktionen veröffentlicht werden können. Sprints sind so konzipiert, dass mit jedem Inkrement lieferbare Funktionen hinzugefügt werden. Komplette Produkte, die aus diesen ausgelieferten Funktionen bestehen, werden als komplexe Produkte bezeichnet.
  • Höhere Kapitalrendite (ROI). Die kombinierten Vorteile von Scrum führen zu einem höheren ROI. Kontinuierliches Feedback führt zu weniger kostspieligen Fehlern in späteren Phasen des Prozesses und zu einem besseren Produkt mit weniger Mängeln. Verkürzte Markteinführungszeiten und inkrementelle Releases sorgen für schnellere Umsätze.

Die Beziehung zwischen Scrum und Agile

Agile ist eine Methode zur Entwicklung und Projektplanung. Sie basiert auf einer übergreifenden Philosophie oder einem Rahmenwerk, das die darunter liegenden Methoden bestimmt, wie im Agile Manifesto erläutert. Scrum ist eine von mehreren Agile-Methoden.

Scrum kann als praktische Methode zur Umsetzung von Agile betrachtet werden. Wie Agile enthält auch Scrum eine Reihe von Werten und Prinzipien. Entwicklungsteams integrieren Scrum in ihre Agile-Strategie, um ihr eine zusätzliche Ebene der Spezifität zu verleihen.

Eines der Prinzipien der agilen Entwicklung ist, dass Teammitglieder regelmäßig darüber diskutieren, wie sie effektiver arbeiten können, und ihr Verhalten entsprechend anpassen. Scrum beinhaltet einen formalen Prozess, der Teams dabei unterstützt. Tägliche Meetings ermöglichen es den Teams, über die in den nächsten 24 Stunden zu erledigenden Aufgaben nachzudenken und ihre Vorgehensweise auf der Grundlage erwarteter oder aufgetretener Hindernisse anzupassen.

Ein weiterer Grundsatz von Agile ist die Erkenntnis, dass die beste Arbeit von selbstgesteuerten Teams geleistet wird. Scrum Master tragen dazu bei, dass dies gelingt. Sie geben den Teams das, was sie für ihre Arbeit benötigen, und lassen ihnen die Freiheit, ihren eigenen Weg zu gehen. Anschließend agieren sie als unterstützende Führungskräfte, die den Teams dabei helfen, Probleme zu lösen, Ziele zu erreichen und Konflikte beizulegen.

Die Geschichte von Scrum

Die Grundlage für das Scrum-Framework wurde 1986 in einem Artikel der Harvard Business Review mit dem Titel The New New Product Development Game von Hirotaka Takeuchi und Ikujiro Nonaka vorgestellt. Die Autoren beschrieben zwei Ansätze für das Management der Produktentwicklung. Einige Teams sind wie Läufer in einem Staffellauf, die den Staffelstab weitergeben, während sie in einer geraden Linie arbeiten. Andere Teams sind wie Rugbyspieler, die an einem einzigen Spiel teilnehmen und sich die Bälle nach Bedarf hin und her passen.

Takeuchi und Nonaka kamen zu dem Schluss, dass der Staffellauf-Ansatz, wie er im Phased Program Planning System der NASA verwendet wurde, veraltet war. Der Rugby-Ansatz würde Unternehmen die Werkzeuge an die Hand geben, die sie benötigen, um in einer multinationalen Geschäftswelt bestehen zu können, so ihre These.

Jeff Sutherland, John Scumniotales und Jeff McKenna probierten 1993 die Scrum-Softwareentwicklung bei Easel Corp., einem Softwareunternehmen, aus. 1995 präsentierten Ken Schwaber und Sutherland zusammen mit anderen – darunter McKenna und Scumniotales – ein Papier mit dem Titel SCRUM Development Process (PDF). Das Ergebnis war eine grundlegende Veränderung, die Entwickler die Wirksamkeit des klassischen Wasserfall-Modells der Softwareentwicklung in Frage stellen ließ.

Laut dem 15th State of Agile Report von Digital.ai ist Scrum heute die beliebteste agile Methodik. Die Umfrage unter der globalen Entwicklergemeinde ergab, dass 66 Prozent der Befragten angaben, diese Methodik zu verwenden, und 15 Prozent gaben an, eine Scrum-Variante zu nutzen.

Eine aktualisierte Version des Scrum Guide (PDF) von Sutherland und Schwaber wurde im November 2020 veröffentlicht. Der Leitfaden enthält die offizielle Definition von Scrum.

Säulen und Werte von Scrum

Die drei Säulen von Scrum sind Anpassung, Überprüfung und Transparenz.

  1. Anpassung. Das Team überarbeitet kontinuierlich seine Herangehensweise an Probleme und nimmt neue Probleme in Angriff, sobald sie auftreten.
  2. Überprüfung. Das Team reflektiert und bewertet kontinuierlich seine Leistung.
  3. Transparenz. Das Team arbeitet in einer offenen Umgebung, in der alle Mitglieder Einblick in die Prozesse der anderen haben und sich der Herausforderungen bewusst sind, denen andere gegenüberstehen.

Die fünf Kernwerte von Scrum unterstützen die Säulen. Diese sind:

  1. Selbstverpflichtung. Das Team ist selbstgesteuert und alle sind entschlossen, die vereinbarten Aufgaben zu erfüllen.
  2. Mut. Das Team arbeitet als Einheit und steht gemeinsam für Erfolge und Misserfolge ein. Die Mitglieder tun das Richtige und nehmen schwierige Probleme in Angriff.
  3. Fokus. Ablenkungen werden minimiert und das Team konzentriert sich auf die Aufgaben, die heute erledigt werden müssen.
  4. Offenheit. Das Team nimmt sich Zeit, um Erfolge und Verbesserungsmöglichkeiten zu besprechen.
  5. Respekt. Die Teammitglieder haben unterschiedliche Stärken, und die Stärken jedes einzelnen Mitglieds werden respektiert. Niemand wird beschuldigt, wenn es darum geht, herauszufinden, wie etwas verbessert werden kann, das nicht funktioniert.
Abbildung 3: Die drei Säulen von Scrum werden manchmal auch als die drei Säulen des Empirismus bezeichnet.
Abbildung 3: Die drei Säulen von Scrum werden manchmal auch als die drei Säulen des Empirismus bezeichnet.

Skalierung von Scrum auf mehrere Teams

Scrum und ähnliche agile Methoden sind für ein Team konzipiert. Wenn IT-Organisationen versuchen, diese Frameworks auf mehrere Teams zu skalieren, können Probleme auftreten. Diese Methoden bieten beispielsweise keine Anleitung für die teamübergreifende Zusammenarbeit am Ende eines Sprints.

Das Scaled Agile Framework (SAFe) bietet eine Reihe von Prinzipien, Prozessen und Best Practices, um dieses Problem zu lösen. Ein Vergleich verschiedener SAFe-Methoden kann Erkenntnisse liefern, die beim Umgang mit agilen Frameworks auf Unternehmensebene hilfreich sind.

Erfahren Sie mehr über Softwareentwicklung