Aus dem Kurs: Grundlagen der Programmierung: Agile Softwareentwicklung

Einführung in Scrum

Das beliebteste agile FrameWork heißt Scrum. Wahrscheinlich haben Sie schon davon gehört. Es wird oft in einem Atemzug mit der agilen Softwareentwicklung genannt. Was ist also Scrum? Es ist ein Framework, das die Entwicklung komplexer Produkte erleichtert. Weil es sich um ein FrameWork und nicht um eine Methodik handelt, ist abstrakt und nicht präskriptiv. Wenn Sie sich Scrum als Fitness Guide vorstellen, gibt es ihnen eine allgemeine Orientierung zu gesunden Essgewohnheiten und zu Entscheidungen, zur Lebensweise, sagt Ihnen aber nicht genau was Sie essen und welche Übungen Sie absorbieren sollen. Scrum kann das Team dabei unterstützen Produkte mit sich ändernden Anforderungen zu entwickeln, was es sehr effektiv für die Softwareentwicklung macht. Scrum wurde populär, als es von zwei führenden Persönlichkeiten der Softwarebranche, Ken Schwaber und Jeff Sutherland 19 auf einer Konferenz vorgestellt wurde, seitdem haben Sie es immer weiter verfeinert und Sie gelten als die offiziellen Erfinder von Scrum. Die maßgebende Quelle für Scrum ist das Scrum Guide, der unter „scrumguides.org“ verfügbar ist. Mit knapp 20 Seiten können Sie den gesamten Leitfaden in einer knappen Stunde lesen. Die Scrum-Konzepte erscheinen in der Tat so einfach, dass Sie mit Scrum in nur wenigen Stunden loslegen können. Obwohl die Hauptkonzepte relativ einfach sind, gibt es viele Feinheiten zu beachten. Es kann also länger dauern, Scrum zu implementieren und sich damit vertraut zu machen, so tun sich selbst erfahrene Scrum-Praktiker manchmal noch schwer damit, obwohl sie es schon seit vielen Jahren einsetzen. Der Scrum Guide bringt es auf den Punkt. Scrum ist einfach zu verstehen, aber schwer zu meistern. Scrum ist schlank. Im Kern besteht es aus nur drei Teamrollen, fünf Ereignissen und drei Artefakten. Artefakte kann man sich als Liefergegenstände vorstellen. Mit den einzelnen Bestandteilen werden wir uns im Laufe des Kurses noch ausführlich befassen. Das Scrum-Team umfasst die drei Rollen Product Owner, Entwicklungsteam und Scrum Master. Scrum Team stellt ein Produkt iterativ und inkrementell in Intervallen von maximal 30 Kalendertagen. Jeder sogenannte Sprint umfasst ein Produktinkrement. Jeder Sprint beginnt mit einem Ereignis namens Sprint Planning. Hier markiert das Entwicklungsteam zusammen mit dem Product Owner welche Einträge im Product Backlog umgesetzt werden. Das Scrum Team definiert dann ein Sprintziel in wenigen knapp formulierten Sätzen, um den übergeordneten Zweck des Prinz zu formulieren. Dann entwirft das Entwicklungsteam einen Plan, um diese Einträge in einen nützliches und auslieferbares Produkt umzusetzen. Dieser Plan, das Sprint Backlog ist eine Teilmenge des Product Backlogs. Es enthält Product Backlog Einträge, die für den jeweiligen Sprint ausgewählt wurden, sowie eine darauf bezogene Liste von Aufgaben für das Entwicklungsteam. Das Entwicklungsteam erstellt das Produktinkrement und synchronisiert seine Arbeit täglich in einem Event namens Daily Scrum. Der Scrum Master oder Product Owner arbeiten während des gesamten Springs mit dem Entwicklungsteam zusammen. Am Ende des Sprints verfügt das Entwicklungsteam über ein Produktinkrement, das im Kern alle bis dahin geplanten und machbaren Bestandteile des Produkts enthält. Ausgehend von dieser Überprüfung plant das Scrum-Team anhand der gewonnenen Erkenntnisse die zukünftige Arbeit. Das Scrum-Team überprüft dann das Inkrement mit einer Gruppe von Stakeholdern in einem Ereignis namens Sprint Review. Der Sprint endet mit einem weiteren Ereignisse namens Sprint Retrospektive. Hier bietet sich den Scrum Team die Gelegenheit effizienter zu werden. In diesem Ereignis wird nämlich jeder Aspekt ihres Konzepts überprüft, ausgenommen das eigentliche Produktinkrement. Das ist also Scrum in Kurzform. Wie sagt doch der Scrum Guide? Scrum ist einfach zu verstehen, aber schwierig zu meistern.

Inhalt