15. November 2022

The art of SCRUM

Wenn Sie in der Softwareentwicklungsbranche tätig sind, dann haben Sie sicher schon von SCRUM gehört. SCRUM ist ein agiler Softwareentwicklungsprozess, der Teams hilft, effektiver zusammenzuarbeiten. Er basiert auf einer Reihe von Grundwerten, die Zusammenarbeit, Flexibilität und kontinuierliche Verbesserung betonen. SCRUM kann in jeder Branche eingesetzt werden, eignet sich aber besonders gut für Softwareentwicklungsprojekte, da es Teams dabei hilft, komplexe Aufgaben aufzuschlüsseln und sie auf überschaubare Weise zu erledigen. In diesem Blog-Beitrag wird näher erläutert, was SCRUM ist und wie Ihr Team davon profitieren kann. 

Was ist der Scrum-Prozess?

Die Struktur des Scrum-Prozesses besteht aus elf Hauptbestandteilen. Es gibt drei Rollen, drei Elemente und fünf Live-Events. Um die Vorteile der Scrum-Methode voll ausschöpfen zu können, müssen die Teammitglieder lernen, die zugrunde liegenden Konzepte umzusetzen und zu verstehen. Scrum wird manchmal als ein „Rinse and Repeat“-Ansatz bezeichnet. Nur die vier Inspektions- und Anpassungsereignisse innerhalb des als Sprint bezeichneten Hauptcontainerereignisses werden wirklich bereut. Dabei werden die Lieferartefakte und die Verfahren des Scrum-Teams, einschließlich der bei der Lieferung verwendeten technischen Methoden, einzeln überprüft und angepasst.  

Es ist von entscheidender Bedeutung, dass die Artefakte in Scrum während des Sprints von den jeweiligen Rollen gehandhabt werden, die für das entsprechende Element verantwortlich sind. Außerdem muss sichergestellt werden, dass die Sprint-Ereignisse den erwarteten Wert für den Scrum-Prozess bringen. Wenn niemand das Product Backlog besitzt und verfeinert, wird die Vorhersage, woran als nächstes gearbeitet wird und auf welche Dinge man sich bei der Ausarbeitung konzentrieren sollte, schwieriger. Das Entwicklungsteam kann leicht verstehen, welche Dinge verfeinert werden müssen, da der Product Owner die Vision für das Produkt vorgibt und die Product Backlog Elemente anordnet. Dies gibt Aufschluss darüber, was in den einzelnen Punkten ausgeführt werden muss, bevor sie als abgeschlossen erklärt werden können.

Was sind die Rollen in Scrum?

Scrum wird häufig in der agilen Softwareentwicklung eingesetzt. Es ist nach einem Rugby-Setup benannt, bei dem jeder seinen Beitrag leistet. Zu den Scrum-Rollen in der Softwareentwicklung gehören die folgenden:   

Productowner. Diese Person fungiert als Bindeglied zwischen dem Entwicklungsteam und seinen Kunden. Der Product Owner ist dafür verantwortlich, die Erwartungen an das fertige Produkt zu kommunizieren und zu vereinbaren.  

Scrum Master. Der Projektmoderator wird als Scrum Master bezeichnet. Er sorgt dafür, dass die besten Praktiken von Scrum umgesetzt werden. Sie müssen effektive Führungskräfte und Projektmanager sein, die in der Lage sind, zusammenzuarbeiten, Konflikte zu lösen und Prozesse zu verbessern.  

Entwicklungsteam. Die Mitglieder des Scrum-Entwicklungsteams arbeiten zusammen, um inkrementelle Versionen des Endprodukts zu entwerfen und zu testen. Scrum und die agilen Entwicklungsmethoden müssen von den Entwicklern verstanden werden.  

Was sind Scrum-Artefakte?

Ein Artefakt ist alles, was von historischer Bedeutung ist und erneut untersucht werden sollte. Artefakte werden in der Scrum-Produktentwicklung verwendet, um zu sehen, was bereits fertiggestellt wurde und was noch in der Warteschlange steht. 

 

In Sprint Planning Meetings ist es von Vorteil, Scrum-Artefakte zu untersuchen. Die folgenden sind Scrum-Artefakte: 

 

Produkt-Backlog. Dies bezieht sich auf das, was noch zu tun ist. Während einer Product Backlog Grooming Session arbeitet das Entwicklungsteam mit dem Product Owner zusammen, um die Arbeit im Backlog zu priorisieren. Die Verfeinerung des Backlogs ist ein Verfahren, das eine Feinabstimmung des Product Backlogs ermöglicht. 

Sprint-Backlog. Hierbei handelt es sich um eine Liste von Aufgaben, die vor der Lieferung ausgewählter Product Backlog Items erledigt werden müssen. Diese sind in zeitliche Abschnitte unterteilt. 

Produktinkrement. Dies bezieht sich sowohl auf das, was während eines Sprints getan wurde (alle Product Backlog Items), als auch auf das, was während aller vorangegangenen Sprints entwickelt wurde. Das Produktinkrement zeigt an, wie weit das Projekt fortgeschritten ist. 

Ausbrennen. Ein Burn-Down-Diagramm ist eine grafische Darstellung der Menge an Arbeit, die noch zu erledigen ist. Ein Burn-Down-Diagramm hat eine Y-Achse für die Arbeit und eine X-Achse für die Zeit. Im Idealfall zeigt das Diagramm eine abnehmende Tendenz, da die verbleibende Arbeitsmenge mit der Zeit auf Null sinkt.  

Die Vorteile der Scrum-Methodik

Zu den wichtigsten Vorteilen von Scrum gehören die folgenden: 

Qualitätsprodukte. Der Scrum-Ansatz beinhaltet Feedback und kontinuierliche Verbesserungen in der Sprint-Retrospektive. Infolgedessen erzeugen Entwicklungsteams, die diesen Prozess anwenden, qualitativ hochwertige Produkte. 

● Teamarbeit. Scrum fördert den Zusammenhalt von Softwareentwicklungsteams, die effektiv kommunizieren, Termine einhalten und zusammenarbeiten, um Herausforderungen zu lösen. Die Mitglieder vertrauen und respektieren sich gegenseitig und erkennen den Wert ihrer Zeit an. Dies kann bedeuten, dass das tägliche Scrum auf einen bestimmten Zeitrahmen begrenzt wird. Einige Softwareentwicklungsteams integrieren einen Hacking Sprint in ihren Entwicklungsprozess. Er ermöglicht es den Entwicklern, an neuen Konzepten zu arbeiten, mit neuen Ideen zu experimentieren und die Verantwortung für die Projekte zu übernehmen. 

● Flexibilität. Scrum-Teams müssen ihre Werkzeuge und Methoden an die sich ändernden Bedingungen anpassen, sobald diese eintreten. Produktdefinitionen können sich im Laufe der Entwicklung ändern, und gute Teams können solche Änderungen in wenigen Iterationen umsetzen. Regelmäßige Product-Backlog-Meetings ermöglichen es einem Team, Prioritäten zu ändern, bevor Elemente in Sprints verschoben werden. 

● Geringeres Risiko. Scrum legt den Schwerpunkt auf eine vorhersehbare, nachhaltige Liefergeschwindigkeit und kontinuierliches Feedback, was es den Teams ermöglicht, Risiken frühzeitig und häufig zu steuern. Kurze Sprints ermöglichen es den Teams, schnell zu scheitern, wenn eine Idee nicht funktioniert, was das Risiko eines Fehlschlags verringert. 

● Verkürzte Markteinführungszeit. Scrum verspricht, Produkte und Funktionen in vorhersehbaren Schritten zu liefern, indem genau definierte Sprints verwendet werden. Es ist nicht notwendig, das gesamte Produkt fertigzustellen, bevor neue Funktionen freigegeben werden. Sprints sind dazu gedacht, in jedem Schritt lieferbare Funktionen einzuführen. Komplexe Elemente sind ganze Produkte, die aus diesen gelieferten Merkmalen bestehen. 

● Erhöhte Investitionsrentabilität (ROI). Die kombinierten Vorteile von Scrum führen zu einem höheren ROI. Ständiges Feedback führt zu weniger kostspieligen Fehlern im späteren Verlauf des Prozesses und zu einem besseren Produkt mit weniger Fehlern. Kürzere Markteinführungszeiten und inkrementelle Releases führen zu höheren Einnahmen. 

Die Verbindung zwischen Scrum und Agilen Methoden

Agilität ist eine Entwicklungs- und Projektmanagementmethodik, deren Grundwerte und Leitsätze im Agilen Manifest beschrieben sind. Scrum ist eine Art von agiler Methodik. 

 

Scrum kann als realistischer Ansatz zur Umsetzung von Agilen Methoden betrachtet werden. Aus den Grundwerten des Agilen Manifests werden Arbeitsprozesse abgeleitet. Somit wird Scrum verwendet, um eine agile Strategie zu konkretisieren. 

 

Eines der Konzepte der agilen Entwicklung ist, dass die Teammitglieder häufig darüber diskutieren sollten, wie sie effektiver arbeiten können, und dann ihr Verhalten entsprechend ändern. Scrum verfügt über einen definierten Prozess, der den Teams dabei hilft, dies zu tun. Tägliche Besprechungen ermöglichen es den Teams, über die Arbeit nachzudenken, die in den nächsten 24 Stunden erledigt werden muss, und ihre Strategie auf der Grundlage von vorhergesagten oder erfahrenen Hindernissen anzupassen. 

 

Ein weiteres agiles Konzept ist die Erkenntnis, dass selbstgesteuerte Teams die beste Arbeit leisten. Scrum Master tragen dazu bei, dies zu ermöglichen. Sie geben den Teams die Werkzeuge an die Hand, die sie zur Erfüllung ihrer Aufgaben benötigen, und lassen ihnen die Freiheit, ihren eigenen Weg zu gehen. Als dienende Führungskräfte trainieren sie die Teams, Probleme zu lösen, Ziele zu erreichen und Meinungsverschiedenheiten zu lösen.  

Scrum: Säulen und Werte 

● Anpassung. Die Herangehensweise des Teams an Probleme wird ständig überarbeitet, und es nimmt sich neuer Probleme an, sobald sie auftreten. 

● Überprüfung. Das Team prüft und kommentiert ständig seine Leistung. 

Transparenz. Das Team arbeitet in einer offenen Atmosphäre, in der alle Mitglieder Zugang zu den Prozessen der anderen haben und sich der Schwierigkeiten bewusst sind, die Andere haben. 

 

Die Säulen werden durch die fünf Kernideale von Scrum unterstützt. Sie lauten wie folgt: 

 

Commitment. Das Team ist selbstgesteuert, und jeder verpflichtet sich, die vereinbarte Aufgabe zu erfüllen. 

● Mut. Das Team funktioniert als eine Einheit und hat Erfolg oder Misserfolg als eine Einheit. Die Mitglieder tun das Richtige und packen auch schwierige Themen an. 

● Konzentration. Ablenkungen sind minimal, und das Team konzentriert sich auf die Aufgaben, die heute erledigt werden müssen. 

● Offenheit. Das Team verbringt Zeit damit, zu besprechen, wo es sich hervorgetan hat und wo es sich verbessern muss. 

● Rücksichtnahme. Die Teammitglieder haben unterschiedliche Stärken, und die Stärken der einzelnen Mitglieder werden geschätzt. Wenn es darum geht, herauszufinden, wie man das, was nicht funktioniert, verbessern kann, wird niemand zur Verantwortung gezogen.