Was ist Scrum?
Scrum ist ein Verwaltungs-Framework, das Teams benutzen, um sich selbst zu organisieren und auf ein gemeinsames Ziel hinzuarbeiten. Es beschreibt eine Reihe von Meetings, Tools und Rollen für eine effiziente Projektdurchführung. Ähnlich wie eine Sportmannschaft, die für ein großes Spiel trainiert, erlauben Scrum-Praktiken den Teams, sich selbst zu verwalten, aus Erfahrungen zu lernen und sich an Veränderungen anzupassen. Software-Teams benutzen Scrum, um komplexe Probleme kostensparend und nachhaltig zu lösen.
Was ist die Scrum-Methodik?
Bestimmte Prinzipien und Werte kennzeichnen die Scrum-Methodik:
Scrum-Prinzipien für den Projekterfolg
Transparenz
Teams arbeiten in einer Umgebung, in der sich jeder der Herausforderungen bewusst ist, mit denen andere konfrontiert sind. Regelmäßige persönliche Gespräche zwischen funktionsübergreifenden Teammitgliedern und Projektverantwortlichen verhindern Missverständnisse und Informationsengpässe.
Überprüfung
Das Framework sieht regelmäßige Überprüfung vor, damit die Teammitglieder ihre Fortschritte prüfen können. Die Projektmanager nutzen die Erkenntnisse aus diesen Besprechungen für Schätzungen und die Zukunftsplanung. Infolgedessen können Projekte effizienter, innerhalb des Budgets und des Zeitplans durchgeführt werden.
Anpassung
Die Teammitglieder können die Aufgaben auf der Grundlage der sich ändernden Kundenanforderungen neu priorisieren. Sie entscheiden, welche Aufgaben Sie zuerst erledigen und welche Sie in Zukunft wieder aufgreifen wollen.
Scrum-Werte für Projektteams
Scrum-Teams befolgen fünf Kernwerte.
Verbindlichkeit
Die Mitglieder des Scrum-Teams verpflichten sich zu zeitbasierten Aufgaben und Zielen und sind bestrebt, sich kontinuierlich zu verbessern, um die beste Lösung zu finden.
Mut
Scrum-Teams zeigen Mut, indem sie offene, herausfordernde Fragen stellen. Sie führen ehrliche und transparente Gespräche, um die beste Lösung zu finden.
Zielorientierung
Während eines bestimmten Zeitraums arbeiten die Teammitglieder an einem Produktaufgabenkatalog. Sie werden sich auf die ausgewählten Aufgaben konzentrieren, um innerhalb eines begrenzten Zeitrahmens Ergebnisse zu liefern.
Offenheit
Die Mitglieder des Scrum-Teams sind offen für neue Ideen und Möglichkeiten, die das individuelle Lernen und die Gesamtqualität des Projekts fördern.
Respekt
Die Teammitglieder respektieren die Projektmanager, sich gegenseitig und den Scrum-Prozess. Diese Kultur des Respekts schafft einen Geist der gegenseitigen Zusammenarbeit und Kooperation innerhalb des Teams.
Wie funktioniert Scrum?
Scrum ist ein Framework, das leicht zu erlernen, aber schwierig zu beherrschen ist. Die Mitbegründer von Scrum, Jeff Sutherland und Ken Schwaber, haben die zugrunde liegenden Konzepte in The Scrum Guide erläutert. Der Leitfaden gibt einen detaillierten Überblick über die Scrum-Prozesse und wie man sie effektiv umsetzt.
Die Essenz von Scrum ist ein sich selbst organisierendes Team, das in einem zeitlich begrenzten Zeitraum, dem so genannten Sprint, Kundennutzen liefert. Scrum definiert Artefakte, Rollen und Ereignisse, die mit jedem Sprint verbunden sind. Sehen wir uns diese Dinge im Detail an.
Was sind Scrum-Artefakte?
Scrum-Teams verwenden Tools, sogenannte Scrum-Artefakte, um Probleme zu lösen und Projekte zu verwalten. Scrum-Artefakte liefern Teammitgliedern und Beteiligten wichtige Planungs- und Aufgabeninformationen. Es gibt drei primäre Artefakte:
Produktkatalog
Der Produktkatalog ist eine dynamische Liste von Funktionen, Anforderungen, Verbesserungen und Korrekturen, die für den Projekterfolg abgeschlossen werden müssen. Es ist im Wesentlichen die Aufgabenliste des Teams, die ständig überarbeitet und neu priorisiert wird, um sich an die Marktveränderungen anzupassen. Der Produktverantwortliche pflegt und aktualisiert die Liste, indem er irrelevante Elemente entfernt oder neue Kundenanfragen hinzufügt.
Sprintkatalog
Das Sprintkatalog ist die Liste der Elemente, die vom Entwicklungsteam im aktuellen Sprintzyklus fertiggestellt werden müssen. Vor jedem Sprint wählt das Team aus dem Produktkatalog die Punkte aus, an denen es arbeiten wird. Ein Sprintkatalog ist flexibel und kann sich während eines Sprints weiterentwickeln.
Inkrement
Das Inkrement ist ein Schritt in Richtung eines Ziels oder einer Vision. Es ist das nutzbare Endprodukt aus einem Sprint. Teams können verschiedene Methoden anwenden, um ihre Sprintziele zu definieren und zu demonstrieren. Trotz der Flexibilität darf das grundlegende Sprintziel – das, was das Team mit dem aktuellen Sprint erreichen möchte – nicht beeinträchtigt werden.
Manche Teams entscheiden sich zum Beispiel dafür, am Ende des Sprints etwas an ihre Kunden zu übergeben, sodass ihr Sprintziel mit der Freigabe der Softwareänderung abgeschlossen ist. Andere Teams arbeiten vielleicht an der Fertigstellung einer Reihe von Funktionen, die gemeinsam veröffentlicht werden. In diesem Fall wäre das Sprintziel abgeschlossen, wenn eine Funktion erfolgreich getestet wurde.
Was sind Scrum-Rollen?
Ein Scrum-Team braucht drei spezifische Rollen: einen Produktverantwortlichen, einen Scrum-Leader und ein Entwicklungsteam.
Produktverantwortlicher
Der Produktverantwortliche sorgt dafür, dass das Entwicklungsteam den größten Wert für das Unternehmen liefert. Sie verstehen die sich ändernden Bedürfnisse von Endbenutzern und Kunden und stellen diese in den Vordergrund. Effektive Produktverantwortliche tun Folgendes:
- Sie geben dem Team klare Anweisungen, welche Funktionen als nächstes bereitgestellt werden sollen.
- Sie überbrücken die Kluft zwischen dem, was das Unternehmen will, und dem, was das Team versteht.
- Sie legen fest, wann und wie oft Veröffentlichungen stattfinden sollen.
Scrum-Leader
- Planen der für jeden Sprint benötigten Ressourcen.
- Ermöglichen anderer Sprint-Ereignisse und Team-Meetings
- Anführen der digitalen Transformation innerhalb des Teams
- Kümmern um die Schulung des Teams bei der Einführung neuer Technologien
- Kommunizieren mit externen Gruppen, um Herausforderungen zu lösen, mit denen das Team als Ganzes konfrontiert sein könnte
Scrum-Entwicklungsteam
Das Scrum-Team besteht aus Testern, Designern, UX-Spezialisten, Ops-Ingenieuren und Entwicklern. Die Teammitglieder verfügen über unterschiedliche Fähigkeiten und bilden sich gegenseitig weiter, sodass keine Person zu einem Engpass bei der Erledigung der Arbeit wird.
Jeff Bezos, der Gründer von Amazon, empfiehlt bei der Entscheidung über die Teamgröße die Zwei-Pizzen-Regel: Ein Team sollte so klein sein, dass es sich zwei Pizzen teilen kann.
Scrum-Entwicklungsteams tun Folgendes:
- Zusammenarbeiten, um einen erfolgreichen Abschluss des Sprints zu gewährleisten
- Einsetzen für nachhaltige Entwicklungspraktiken
- Sich selbst organisieren und ihre Projekte mit einer offensichtlichen Wir-Haltung angehen
- Vorantreiben der Planung und Schätzung des Arbeitsvolumens, das sie für jeden Sprint erledigen können.
Was sind Scrum-Ereignisse?
Scrum-Ereignisse oder Scrum-Zeremonien sind eine Reihe von aufeinanderfolgenden Treffen, die Scrum-Teams regelmäßig durchführen. Zu den Scrum-Ereignissen gehören die folgenden:
Sprint-Planung
Bei diesem Ereignis schätzt das Team die Arbeit ein, die im nächsten Sprint abgeschlossen werden soll. Die Mitglieder definieren Sprintziele, die spezifisch, messbar und erreichbar sind. Am Ende der Planungsbesprechung weiß jedes Scrum-Mitglied, wie jedes Inkrement im Sprint bereitgestellt werden kann.
Sprint
Ein Sprint ist der Zeitraum, in dem das Scrum-Team gemeinsam an der Fertigstellung eines Inkrements arbeitet. Ein Sprint dauert in der Regel zwei Wochen, die Dauer kann aber je nach den Bedürfnissen des Projekts und des Teams variieren. Je komplexer die Arbeit und je mehr Unbekannte, desto kürzer sollte der Sprint sein.
Tägliches Scrum oder Stand-up
Ein tägliches Scrum ist ein kurzes Treffen, bei dem die Teammitglieder den ktuellen Stand melden und den Tag planen. Sie berichten über die geleistete Arbeit und äußern sich zu etwaigen Herausforderungen bei der Erfüllung der Sprintziele. Es wird auch Stand-Up genannt, weil es darauf abzielt, die Besprechung so kurz wie möglich zu halten, so als würden sich alle nur kurz im Stehen treffen.
Sprintbewertung
Am Ende des Sprints kommt das Team zu einer informellen Sitzung zusammen, um die geleistete Arbeit zu überprüfen und sie den Beteiligten zu präsentieren. Der Produktverantwortliche kann den Produktkatalog auch auf der Grundlage des aktuellen Sprints überarbeiten.
Sprintrückblick
Das Team kommt zusammen, um zu dokumentieren und zu diskutieren, was während des Sprints funktioniert hat und was nicht. Dabei geäußerte Ideen fließen zwecks Verbesserung in den nächsten Sprint ein.
Warum ist Scrum in der Softwareentwicklung wichtig?
Alle Arten von Teams, z. B. die Personal-, Marketing- und Designabteilung, setzen Scrum effektiv ein. Scrum ist jedoch in der Softwareentwicklung und in Ingenieurteams weiter verbreitet. So können Teams schneller auf veränderte Anforderungen reagieren, ohne dass Kosten und Budgets außer Kontrolle geraten. Das ist aus den folgenden Gründen wichtig:
Wegen der Fähigkeit, auch in schwierigen Situationen die Qualität beizubehalten
Qualitätssicherungsprüfungen sind in das Scrum-Framework integriert. Die Teams legen die Anforderungen zu Beginn eines jeden Sprints fest. Die Teams bewerten auch den Lebenszyklus der Software oder des Produkts umfassend, während sie eine Teamvision zum Begriff „Erledigt“ entwickeln. Das bedeutet, dass die Anforderungen relevant bleiben und innerhalb eines kurzen Zeitrahmens erfüllt werden können. Regelmäßiges Feedback der Produktverantwortlichen und Sprintbewertungen ermöglichen eine kontinuierliche Verbesserung des Teams während des gesamten Projekts.
Steigerung der Rentabilität
Scrum-Teams priorisieren die Anforderungen auf der Grundlage des Kundennutzens und der Risikoanalyse. Das Hauptaugenmerk liegt auf der Entwicklung eines ersten funktionierenden Produkts, das auf den Markt gebracht werden kann, um frühzeitig Kundenfeedback einzuholen. Die Scrum-Entwicklung zeichnet sich durch weniger kostspielige Fehler, Teameffizienz und einen Fail-Fast-Ansatz aus, der auf lange Sicht Geld spart.
Zufriedenere und produktivere Teams
Relevante Metriken, die die Schätzung verbessern
Scrum-Teams wählen ihre eigenen Metriken zur Messung der Projektleistung. Sie schätzen den Zeitplan, das Budget und die Qualitätskriterien auf der Grundlage ihrer Erfahrungen und Fähigkeiten. Der Produktverantwortliche hat die Kontrolle, denn Schätzungen sind relativ. Teams erhalten zu Beginn des Projekts mehr Unterstützung und werden mit der Zeit auf natürliche Weise schneller. Die Projektbeteiligten überprüfen die Arbeitsergebnisse und geben regelmäßig Feedback, um sicherzustellen, dass das Projekt auf Kurs bleibt.
Scrum im Vgl. mit Agile – was ist der Unterschied?
Agile bezieht sich auf eine Denkweise in der Softwareentwicklung. Es ist eine Philosophie, die auf organisatorischer Ebene angewandt wird, um jedes Teammitglied dazu zu bringen, sich auf die kontinuierliche Verbesserung und die Bereitstellung von Mehrwert für die Kunden zu konzentrieren. Scrum ist ein Framework für die Erledigung von Aufgaben im Rahmen von Agile. Scrum verwendet alle Kernprinzipien von Agile, um Methoden zur Erleichterung eines Projekts zu definieren, aber es ist wichtig zu wissen, dass Agile nicht immer Scrum bedeutet. Viele verschiedene Methoden verfolgen einen agilen Ansatz an das Projektmanagement.
Wie können Scrum-Entwicklungsteams DevOps übernehmen?
- Automatisieren von Softwaretests und Schreiben neuer Tests für jede Funktionsentwicklung
- Verwenden eines Technologiepakets und von Tools, die eine kontinuierliche Bereitstellung unterstützen
- Freigeben von Änderungen an die Produktion am Ende eines jeden Sprints
Nächste Schritte auf AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.