Scrum – Kleine Happen und kurze Sprints.
Scrum ist einer der bekanntesten agilen Prozesse für die Softwareentwicklung. Das Konzept basiert auf der Annahme, dass sich komplexe Software nicht wie standardisierte Produkte “am Fließband” herstellen lässt. Anstatt den aussichtslosen Versuch zu unternehmen, ein großes Projekt zuerst bis ins Detail komplett durchzuplanen, setzt Scrum auf die Idee von kleinen, aufeinanderfolgenden Schritten.
Kurze Sprints zum Zwischenziel.
Zu Beginn jedes Scrum-Projektes werden in einer Liste (Product Backlog) alle Anforderungen des Kunden an die Software dokumentiert und nach Prioritäten für die Umsetzung unterteilt. Dadurch entstehen kleine Aufgabenpakete, die entsprechend ihrer Priorisierung nach und nach in Funktionalitäten umgesetzt werden. Dies geschieht in kurzen, zwei bis vier Wochen dauernden Zyklen (Sprints), an deren Ende jeweils eine Präsentation (Review) des erreichten Leistungsumfanges steht.
Sprint statt Marathon: Lieber in kleinen Schritten bei der Softwareentwicklung schnell voran kommen, als bei der endlosen Planung großer Etappen zu stolpern und deshalb nie ins Ziel zu gelangen.
«Sashimi» heißt mundgerecht.
Dabei handelt es sich um weit mehr als die bekannten Meilensteine in der Softwareentwicklung. Denn das innerhalb eines Sprints fertiggestellte Teilstück der Software ist in sich abgeschlossen und zu 100 Prozent produktiv einsetzbar inklusive der notwendigen Dokumentation und Tests. Für diese fertigen Teilfunktionalitäten hat sich in Anlehnung an die japanische Küche auch der Begriff “Sashimi” etabliert. Denn genau wie bei den kleinen Fisch-Filetstücken, handelt es sich um kunstvoll zubereitete, mundgerechte Häppchen, die fertig zum “Verzehr” sind.
Schneller Überblick statt teurer Fehlinvestitionen.
Die inkrementelle Vorgehensweise bei Scrum bringt zahlreiche Vorteile für die Beteiligten. So erhält der Kunde mit Scrum in möglichst kurzer Zeit funktionierende Teillösungen, die zuerst seine wichtigsten Anforderungen abdecken und schrittweise um die fehlenden Features ergänzt werden. Darüber hinaus lassen sich so bereits frühzeitig Aussagen über die Tragfähigkeit einer Softwarearchitektur oder einer Technologieentscheidung treffen sowie die korrekte Umsetzung der fachlichen Anforderungen in Form von Teilergebnissen schnell bewerten. So vermeidet Scrum teure und langwierige Fehlentwicklungen und ermöglicht rechtzeitige Anpassungen der Software und der ihr zugrunde liegenden Konzepte.
Das Team weiß es besser.
Dazu trägt auch die klare Rollenverteilung innerhalb eines Scrum Projektes bei. Der Scrum Master ist verantwortlich für den störungsfreien Ablauf und die Transparenz des Projektes. Der Product Owner bildet die Schnittstelle zwischen Kunde und Entwicklungsteam. Zusammen mit dem Kunden definiert, priorisiert oder ändert er die fachlichen Anforderungen an die Software und klärt für das Entwicklungsteam schnellstens alle fachlichen Fragen. Das Scrum Team setzt die Anforderungen in Software um. Durch die selbstorganisierte Arbeitsweise des Teams entsteht eine Dynamik, die sich schnell an sich wandelnde komplexen Aufgaben anpassen und diese optimal abbilden kann.