Scrum einfach erklärt

In der Softwareentwicklung ist Scrum nicht mehr wegzudenken. Ein paar Grundkenntnisse sind deshalb auch ausserhalb von Fachkreisen von Vorteil.

Scrum kann als Projektmanagement-Framework beschrieben werden. Dieses schliesst Meetings, Tools und Rollen ein, die gemeinsam das Strukturieren und Managen der Teamarbeit unterstützen. Scrum wird von Softwareentwicklern genutzt, allerdings kann das Prinzip und die gewonnenen Erkenntnisse auf alle Arten von Teamwork angewendet werden.

In der letzten Version von Scrum 2020 haben die Entwickler alle Referenzen zur Softwareentwicklung entfernt, da sich das Framework auch für andere Bereiche einsetzen lässt.

Das Thema wird hier sehr verkürzt dargestellt und dient lediglich als Ausgangspunkt für deine weiteren Recherchen. Empfehlenswert ist hier sicherlich der offizielle Scrum Guide (siehe Links weiter unten).

Was ist Scrum

Scrum ist ein Framework, das die Zusammenarbeit in Teams unterstützt. «Scrum» steht im Rugby für «Gedränge» – und genau wie ein Rugbyteam, welches für ein grosses Spiel trainiert, sind Teams mit Scrum in der Lage, durch gemachte Erfahrungen zu lernen. Solche Teams organisieren sich auf der Suche nach Lösungen selbst, sie beheben Probleme und reflektieren Erfolge und Niederlagen. Dadurch wollen sich Teams kontinuierlich verbessern.

Das Scrum Team ist interdisziplinär und entscheidet eigenständig darüber, wer was wann macht. Ein Team besteht meist aus weniger als zehn Personen. Aus jedem Sprint (fixe Zeiteinheit), geht ein Inkrement hervor. Ein Inkrement ist ein Teilergebnis, das nützlich sein soll.

Scrum kann grundsätzlich auch ausserhalb der Softwareentwicklung angewendet werden. Eigentlich immer, wenn etwas Komplexes entstehen soll.

The Scrum Framework Poster (Scrum.org)

Scrum-Begriffe

Die nachfolgende Liste der Scrum-Begriffe ist stark gekürzt und dient nur als Grobübersicht.

Scrum-Team

StakeholderEin Stakeholder ist jeder der ein Interesse am Projekt hat. Das kann vom Entwickler bis zum Kunde jeder sein.
Product OwnerKümmert sich um das Produkt-Ziel und das Produkt-Backlog. Erstellt die Einträge im Product-Backlog. Legt die Reihenfolge im Backlog fest.
DeveloperDeveloper implementieren, also setzen die einzelnen Schritte um. Sie erstellen sich den Plan für die einzelnen Sprints selbständig (Sprint Backlog).
Scrum-MasterEr überwacht den Prozess und ist dafür zuständig so genannte Hindernisse, also Impediments aus dem Weg zu räumen.

Scrum-Artifacts

Product-BacklogDer Backlog wird vom Product Owner verwaltet. Im Backlog werden alle Anforderungen ihrer Priorität nach geordnet. Der Product Owner entscheidet nach Absprache mit den verschiedenen Stakeholdern über die Prioritäten im Backlog.
Sprint-BacklogDas Sprint-Backlog wird durch die Developer verwaltet.
IncrementAlle Increments bilden das Produkt. Am Ende jedes Sprints wird ein Increment geliefert. Jedes Increment soll wertvoll und einsatzbereit sein.

Scrum-Events

SprintEin Sprint repräsentiert ein fixes Raster, eine Zeiteinheit, üblicherweise 2-3 Wochen. Entscheidend: Der Abschnitt dauert immer gleich lang.
Sprint PlanningWas, wie und warum soll etwas umgesetzt werden?
Sprint RetrospectiveHier wird analysiert, wie der letzte Sprint gelaufen ist.
Sprint ReviewBei Reviews werden die Increments, also das Ergebnis eines Sprints angeschaut.
Daily ScrumDauert nicht länger als 15 Minuten. Jeder Entwickler nimmt teil. Das Meeting findet jeden Tag zur selben Zeit am selben Ort statt. Im Unterschied zu früheren Scrum Versionen, ist bei der aktuellen, die Struktur nicht genau vorgegeben.

Meine persönliche Erfahrung mit Scrum

Als ich vor ein paar Jahren die Aufgabe bekam, ein grösseres System zu entwickeln, habe ich die gesamte Infrastruktur und Vorgehensweise, sowie die Rekrutierung übernommen. Schnell fiel die Wahl auf Scrum und ich war von Anfang an sehr begeistert von diesem Framework. Ein Buch von Boris Glogger (Buchtitel: Wie schätzt man in agilen Projekten) diente mir als Ausgangspunkt. Die Entwickler, mit denen ich zusammenarbeiten durfte, hatten ebenfalls Erfahrungen mit Scrum gemacht.

Als grösste Herausforderung empfand ich die zeitliche und räumliche Teilung des Entwicklungsteams und den dadurch entstehenden Overhead bei der Kommunikation und Planung. Ich war mit der Qualität der Increments sehr zufrieden, jedoch ist auch Scrum keine Wunderwaffe und gilt mehr zu beachten.

Ich kann allen empfehlen, sich eingehend mit Scrum zu beschäftigen, gerade bei den ersten Projekten solltest du dich auf die Basics konzentrieren.

Welche Erfahrungen machst du mit Scrum?