Agile Software-Entwicklung

Mit Scrum Cooking zum Projekterfolg

04.11.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.
Scrum - die agile Projektmanagement-Methode
Foto: doubleSlash Net-Business

Die agile Softwareentwicklung nachScrumhat 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 nachagilen Vorgaben.

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