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
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.

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.
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.

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.