Agile Softwareentwicklung

Mit Scrum Cooking zum Projekterfolg

16.09.2014 von Hanna Frei
Agile Softwareentwicklungsmethoden sind auf dem Vormarsch und etablieren sich zunehmend. Das Potenzial lässt sich aber nur dann ausschöpfen, wenn man sich an die Regeln hält.

Die agile Softwareentwicklung nach Scrum hat klare Vorteile: Dank kurzer Entwicklungszyklen kann das Team flexibel auf neue Anforderungen reagieren. Und weil der Kunde direkt in den Prozess eingebunden ist, werden seine Vorgaben optimal umgesetzt. Wie die Projektmanagement-Methode im Einzelnen funktioniert, zeigt das Scrum Cooking. Hier kochen Teams nach agilen Vorgaben.

Scrum - die agile Projektmanagement-Methode
Foto: doubleSlash Net-Business

Scrum Cooking

Der Begriff Scrum stammt aus dem Rugby und bedeutet "Gedränge". In der Softwareentwicklung bezeichnet er eine agile Projektmanagement-Methode, die sich auch für andere Fachabteilungen eignet. Beim "Scrum Cooking" können Unternehmen herausfinden, ob Scrum zu ihren Projekten, Strukturen und Mitarbeitern passt. Angeboten werden die Kurse vom Beratungs- und Softwarehaus doubleSlash, Friedrichshafen, das für Konzerne wie Siemens, BMW und die Deutsche Post nach Scrum entwickelt und auch seine gesamte Produktentwicklung danach umsetzt.

Um die Prozesse und Rollen von Scrum zu erfahren, bereiten die Mitarbeiter ein mehrgängiges Menü nach der agilen Methode zu. Das dient auch der Teambildung und ist vor allem dann wichtig, wenn die Teams noch nicht lange zusammenarbeiten und kein einheitliches Verständnis von Agilität haben. Beim Scrum Cooking zeigt sich, wie gut die Mitarbeiter mit ihren jeweiligen Rollen zurechtkommen, die sie später - in der agilen Entwicklung - einnehmen sollen.

Scrum Cooking - Der schmackhafte Türöffner für die agile Projektmanagement-Methode.
Agilität spielerisch erfahren
Die Teilnehmer erlernen die agile Projektmanagement-Methode bei der Zubereitung eines 3-Gänge-Menüs. Zusammenhänge und Rollen in der Softwareentwicklung werden den Teilnehmern spielerisch näher gebracht.
Scrum Cooking startet mit der Teambildung
Jedes Mitglied bekommt eine Rolle zugeteilt, wie im realen Scrum-Prozess. Die Rezepte und Zutaten werden im Vorfeld abgestimmt und bereitgestellt. Nach einer theoretischen Einführung startet das erste Sprint Planning.
Der Product Owner stellt die User Story vor
Der Product Owner ist das Sprachrohr zum Kunden - beim Scrum Cooking fungiert er als Restaurantbesitzer. Er hat die Speisefolge mit dem Kunden abgestimmt und daraus User Stories für die Gänge abgeleitet. Jede User Story definiert detailliert, was das Team umzusetzen hat.
Aus der User Story kreiert das Team die Aufgaben
Beim Spint Planning wird die User-Story so verständlich dargestellt, dass das Team sie in Form von konkreten Aufgaben (Tasks) abarbeiten kann. Dabei wird die User Story in Tasks übersetzt – von der Auswahl der Zutaten bis zur Tischgestaltung. Bei Unklarheiten wendet sich das Team an den Product Owner. Stehen alle Aufgaben fest, werden sie auf dem Scrum-Board in die „To-Do“-Spalte geklebt.
Im Sprint werde die User Stories umgesetzt
Im Sprint arbeiten die Köche die Tasks nacheinander ab. Je nach Status werden die Aufgaben am Scrum-Board in die „In Progress“-Spalte verschoben oder auf „done“ gehängt. Am Ende des Sprints müssen alle Anforderungen aus der User Story umgesetzt sein – das Ergebnis ist ein fertiges Gericht.
Der Scrum Master überwacht den Scrum-Prozess
Der Scrum Master ist beim Scrum Cooking der Küchenchef: Er überwacht den Prozess. Da die Teams selbstorganisiert arbeiten, muss er dafür sorgen, dass die Prozesse eingehalten werden und muss die erforderlichen Materialien und Tools bereitstellen.
Vom abgeschlossenen Sprint zum Review
Am Ende des Sprints sollte der Gang fertiggestellt sein. Er wird anschießend vom Kunden, also dem Gast, in der so genannten Review verkostet und bewertet. Sein Feedback wird aufgenommen und direkt im nächsten Sprint berücksichtigt.
Retrospektive für Teammitglieder und Scrum Master
Nach jedem Sprint reflektieren Team und Scrum Master, was gut gelaufen ist und was besser werden kann. Ziel ist, den nächsten Gang zu verbessern und den Kunden so zufrieden zu stellen. Zum anderen soll das Arbeiten im Team so effizienter werden. Anschließend starten die Teilnehmer das Sprint Planning für den nächsten Gang.
Das Scrum-Board zeigt den Prozessfortschritt
Scrum Cooking ist eine spielerische und gleichzeitig lehrreiche Methode, um die Schritte des agilen Scrum-Prozesses praktisch zu erleben und besser zu verstehen. Es fördert den Teamcharakter und eignet sich damit auch für neu gebildete Teams.

Klar aufgeteilte Rollen und Prozesse

Teamarbeit steht bei Scrum im Mittelpunkt. Damit nicht "viele Köche den Brei verderben", müssen die Rollen allerdings klar verteilt sein:

Der Product-Owner ist das Sprachrohr zum Kunden. Wie ein Restaurantbesitzer nimmt er dessen Wünsche und Anforderungen auf. Der Scrum Master ist der "Küchenchef": Er überwacht den gesamten Prozess und stellt sicher, dass das Team die einzelnen Aufgaben effektiv abarbeitet. Die Teams arbeiten weitgehend selbstorganisiert. Das fördert die Motivation und das Engagement der Mitarbeiter. Der Kunde steht im ständigen Austausch mit dem Product Owner und gibt regelmäßig Feedback. So kann das Team bereits im frühen Entwicklungsstadium reagieren und eventuelle Fehler korrigieren.

Bei Scrum geht es um Teamarbeit, aber auch klare Rollenverteilung und strukturierte Abläufe.
Foto: liubomirt - Fotolia.com

Nicht nur die Rollen, auch die Abläufe sind klar festgelegt: Im so genannten Sprint Planning bespricht der Product Owner mit dem Team die Kundenanforderungen, also die Menüfolge, die Zusammensetzung der Speisen, die Gewürze etc. sowie optische Aspekte wie Tischdekoration und Beleuchtung. Daraus leiten die Teammitglieder ihre jeweiligen Aufgaben ab und arbeiten sie in kurzen Entwicklungszyklen, so genannten Sprints, ab. In der Softwareentwicklung dauert ein Sprint in der Regel nur zwei bis drei Wochen. Dadurch können die Entwickler Anpassungen schnell vornehmen und flexibel auf neue Anforderungen reagieren. Ähnlich ist es beim Srum Cooking: Ob Sonderwünsche bei der Zubereitung oder bei der Tischdekoration - in der sogenannten Review gibt der Kunde sein Feedback zum ersten Gang. Dieses Feedback fließt unmittelbar in die Zubereitung des nächsten Gangs ein. Das Team und der Scrum Master reflektieren in der so genannten Retrospektive den Sprint und leiten gegebenenfalls Verbesserungen daraus ab. Dann geht es ins nächste Spint Planning - die Vorbereitung des Hauptgangs.

Kundenzufriedenheit und Wissenstransfer

Tägliche kurze Meetings und zahlreiche Feedbackschleifen fördern die Transparenz. Auch beim Scrum Cooking wird die Reihenfolge, in der die Tasks abgearbeitet werden sollen, genau besprochen. Die Aufgaben stehen auf Kärtchen, die am Scrum-Board hängen - je nach Status in der "In Progress"-Spalte oder auf "Done". Wer vor einem Problem steht - etwa nicht weiß, wie er den Fenchel schneiden soll - bespricht sich im Team. So wird das Wissen aller Teilnehmer voll ausgeschöpft. Auch die interdisziplinäre Zusammensetzung der Teams aus Entwicklern, Testern und Konzeptern fördert den Wissenstransfer.

Die Vorteile von Scrum im Überblick
Schneller als Plan-Build-Run
Die Anforderungen an Software verändern sich im Laufe der Entwicklung oft erheblich - anders als bei einem Auto zum Beispiel. Dem tragen agile Methoden wie Scrum Rechnung.
Besseres Ineinandergreifen
Bei traditioneller Softwareentwicklung greifen Zahnräder oft nicht ineinander, sondern sie rotieren nebeneinander vor sich hin. Scrum sorgt für nahtlosere Prozesse.
Jeder spricht mit jedem
Bei vielen Softwareprojekten mangelt es an gelungener Kommunikation, bei Scrum ist regelmäßiges Feedback für alle Beteiligten Pflicht.
Mehr Qualität
Mit Hilfe von Scrum entwickelte Software ist in der Regel besser als andere, weil hier frühzeitig das Feedback der Kunden integriert wurde.
Chaos führt nicht zu Panik
Chaotisch ist Scrum insofern, als sich der damit verbundene Prozess nicht einfach mit einem Pfeil beschreiben lässt, der links auf dem Blatt Papier anfängt und irgendwo rechts aufhört. Sondern er ist mehrdimensional. Wenn sich alle an bestimmte Regeln halten, läuft trotzdem nichts aus dem Ruder.
Im Mittelpunkt: Der Mensch
Scrum heißt Gedränge. Und es bedeutet, den Menschen in den Mittelpunkt zu stellen in dem Sinne, dass ihm die Methode ermöglicht, effizient und gleichzeitig kreativ zu arbeiten.
Automatisierte Tools statt Selbstgestricktes
Oft verwendet jede Abteilung eigene Anwendungen, um Entwicklungsschritte zu dokumentieren, zum Beispiel Excel. Automatisierte, vor allem einheitliche Tools beschleunigen hier die Abläufe erheblich.
Nicht nur am Ende testen
Zeitgemäße Entwicklungsumgebungen erlauben es, auch einzelne Module zwischendurch zu testen, um immer auf dem neuesten Stand zu sein.

Ein wesentlicher Unterschied zu anderen Projektmanagement-Methoden ist die Einbeziehung des Kunden: Er steht ständig für Feedback zur Verfügung - darauf muss er sich bewusst einlassen. Das ist zeitintensiv und setzt auch das Commitment seines Vorgesetzten voraus. Aber der Aufwand lohnt sich: Der Auftraggeber hat permanent Einblick in den Stand der Entwicklung und kann seine Anforderungen passend einsteuern. Am Ende erhält er ein Ergebnis, das er selbst mitgestaltet hat.

Grundsätzlich ist es auch möglich, Scrum-Prozesse in das traditionelle Projektmanagement einzubinden. Speziell in Großvorhaben ist das sinnvoll, da hier zwar meist ein großer Bedarf an klassischem Projektcontrolling besteht, aber Teilprozesse auch sinnvoll agil unterstützt werden können. Für BMW beispielsweise setzte doubleSlash die Entwicklung von ConnectedDrive und des Produktkonfigurators nach Scrum um - eingebettet in die klassische Produktentwicklung.