Erfolgreiche Softwareprojekte mit agilen Methoden (Scrum)

Agile Entwicklungsmethoden ermöglichen Software, die sich flexibel an die Anforderungen unserer Kunden anpasst. Erfahren Sie mehr zu dem Scrum-Prinzip und was es leistet.

bilder/Fotolia_79725147_S_Scrum.jpg

Softwareprojekte sind komplex. Auch wenn an der Konzeption des Pflichtenheftes ein halbes Jahr gefeilt wird, sind danach trotzdem viele Details weiterhin unbekannt. Außerdem lässt sich immer wieder Optimierungspotential bei der Umsetzung erkennen. In der Zwischenzeit kann es zu wechselnden Anforderung kommen, die die weitere Bearbeitung verzögern oder können.

Für ein ideales Produkt ist es deshalb nicht möglich, wortgetreu nach dem Pflichtenheft vorzugehen. Eine monatliche Änderung des Pflichtenheftes zieht jedoch großen bürokratischen Aufwand nach sich, der mit viel Zeit und Kosten verbunden ist.

Scrum ist ein geeigneter Ansatz in der Softwareentwicklung, der dem Rechnung trägt und dafür sorgt, dass man in solchen wechselnden Umgebungen dennoch effizient zu einem Ergebnis kommt.

 

Was ist Scrum?

Scrum ist ein Vorgehensmodell zur agilen Softwareentwicklung.

Eine hervorragende Einführung in das Scrum-Prinzip ist dieses Video: https://youtu.be/ZUwo8tKoYnQ

 

Bei der Entwicklung sind verschiedene Personen beteiligt:

Der Produkt Owner vertritt die Seite des Auftraggebers. Das bedeutet, dass er die Anforderungen vorgibt und ob die Umsetzung allen Wünschen entspricht. Er kümmert sich unter anderem um die Priorisierung von Aufgaben und unterstützt das Team bei Rückfragen.

Der Scrum Master trägt die Verantwortung im Entwicklungsprozess. Er ist die Schnittstelle zwischen PO und Team indem er für ausreichend Informationsfluss sorgt. Auch das Beseitigen von Hindernissen und unberechtigten Störungen während eines Sprints zählt zu seinen Aufgaben.

Das Scrum-Team besteht in der Regel aus fünf bis zehn Personen, die sich um die Umsetzung der Projekte kümmern. Sie entscheiden selbst, wie sie ihre Aufgaben untereinander aufteilen und organisieren sich deshalb selbst.

 

Kernansatz beim Scrum ist es, das Projekt in viele kleine Sprints (typischerweise je 2 Wochen) zu unterteilen. Dabei soll immer eine lauffähige Version mit kleinen Verbesserungen fertiggestellt werden. Nach jedem Sprint reviewen die Teammitglieder. Das bedeutet, dass von den umsetzenden Entwicklern der Projektstand dem PO mit allen Akzeptanzkriterien demonstriert wird. Der Vorteil für den PO liegt darin, dass er direkt Informationen zu dem aktuellen Stand erhält und Probleme, die sich während der Entwicklung ergeben haben, besprochen werden können.

 

Vorteile Sprints:

  • Aufteilung der Aufgaben in Etappen
  • Ausschließliche Konzentration auf die definierten Aufgaben
  • Laufender Informationsaustausch
  • Möglichkeit für den Kunden, entstandenes Teilprodukt bereits einzusetzen


 

Die nächsten ToDos stimmt das Team zusammen mit dem PO im Planning ab. Hier werden das weitere Vorgehen sowie genaue Funktionen der Software und Erweiterungen definiert. Der PO hat dabei Einfluss darauf, wie detailliert die Vorgaben für das Endprodukt sein sollen. Dies ist einer der Vorteile gegenüber des klassischen Pflichtenheftes. Noch während der Entwicklung sind jederzeit Anpassungen möglich, ohne dass im Nachhinein durch zusätzliche oder unnötig gewordene Funktionen ein großer Aufwand entsteht.

 

Vorteile Planning:

  • Laufende Anpassung der Anforderungen
  • Klärung von Fragen
  • Genaue Beschreibung der Funktionalitäten von Seiten des PO
  • Selbständige Koordination der Aufgaben von Seiten des Entwicklertreams

 

Weitere Informationen gibt in in Wikipedia: https://de.wikipedia.org/wiki/Scrum

oder scrum-master.de: http://scrum-master.de/Scrum-Einfuehrung

 

Scrum bei K&K Software AG

Wir haben Scrum eingeführt, als ein Kundenprojekt sich immer weiter verzögerte. Der Grund dafür war, dass technische Details nicht ausreichend im Vorfeld geklärt waren. Auch gab es keinen Abgleich zwischen Pflichtenheft und Anforderungsrealität. Dies führte zu Problemen in der Zeitplaneinhaltung, da sich immer wieder Änderungen an Funktionalitäten und Anforderungen ergaben.

Der Wechsel auf Scrum brachte das Projekt wieder auf Kurs und wurde erfolgreich abgeschlossen. Wir konnten damit dem Kunden die Möglichkeit geben aktiv als Product Owner mitzuarbeiten. Dadurch konnte er zu jedem Zeitpunkt in die Entwicklung eingreifen und Anpassungen vornehmen sowie die Priorisierung von Entwicklungsabschnitten beeinflussen.

 

Dieser Erfolg aus der Software-Entwicklung hat auch andere Bereiche unseres Unternehmens geprägt. Deshalb haben wir agile Methoden auch für unseren Internet- und Systemhaus-Bereich eingeführt.

Ein Team (unser Scrum-Team) arbeitet zu 100% nach Scrum-Standard mit einem dedizierten Scrum-Master.

Die anderen Teams haben agile Methoden übernommen. Dazu zählen:

  • 7- oder 14-tägige Jour-Fixe
  • tägliche Daily-Meetings
  • offene Taskboards
  • Reviews

Beitrag vom 06.05.2016

Kommentar abgeben: