201711-davitec-agile-projektentwicklung-titel.JPG

“Festpreis-Projekte gehören der Vergangenheit an”

Dresden 29.11.2017
Beim Softwareentwickler davitec sind die Tage von Festpreis-Angeboten gezählt. Die Dresdner setzen zunehmend auf eine agile Projektentwicklung und planen dazu auch die interne Scrum-Zertifizierung.

Ein Software-Projekt startet klassischerweise mit der Erstellung eines Lasten- und Pflichtenhefts, in dem alle Anforderungen des Kunden und die geplanten Umsetzungsschritte beschrieben sind. In Zeiten immer komplexer werdender IT-Infrastrukturen stehen jedoch nur selten wirklich alle relevanten Informationen zu Beginn eines Projekts zur Verfügung. Die Folge: Im Schnitt werden nur etwa 50% der Projektschritte tatsächlich wie geplant umgesetzt. Die andere Hälfte der Anforderungen ändert sich im Laufe des Projektes. Nicht selten scheitern Projekte deswegen, verzögern sich oder werden deutlich teurer als ursprünglich veranschlagt. 

Wenn davitec heute ein Software-Projekt startet, gehören Lasten- und Pflichtenheft nicht mehr zum Standard-Prozedere. Die TYPO3-Spezialisten setzen stattdessen zunehmend auf ein agiles Vorgehen nach dem Scrum Modell, bei dem einzelne Aufgaben in Zwischenschritten, sogenannten Sprints, umgesetzt werden. Diese Zwischenergebnisse schaffen mehr Klarheit über das weitere Vorgehen, als es theoretisch in einem Lastenheft darstellbar wäre, und binden den Kunden - anders als bei klassischen Projektmethoden - in regelmäßigen Abständen ins Projekt ein. 

Die drei Kernelemente eines Scrum Prozesses sind das Product Backlog, das Sprint Backlog und das Product Increment. 

Beim Product Backlog handelt es sich um eine Anforderungsliste. Sie repräsentiert die Vision oder das Problem des Auftraggebers. Die Anforderungen und Funktionalitäten der Software werden hier in der Regel nicht technisch, sondern anwenderorientiert formuliert, beispielsweise als User Stories.

Der ProductOwner, klassisch der Projektleiter, priorisiert diese Aufgabenliste, legt Meilensteine fest und entwickelt gemeinsam mit dem Scrum Master beim Sprint Planning Meeting daraus das Sprint Backlog, die eigentliche Umsetzungsplanung für den aktuellen Sprint. Die zu erledigenden Aufgaben umfassen neben der eigentlichen Entwicklung auch Tests und Dokumentation. 

Eine “Definition of Done” legt dabei fest, wann eine Aufgabe tatsächlich als erledigt gilt und dient damit als interner Kontrollmechanismus für die Erledigung der einzelnen Aufgaben durch die Entwickler. Bevor das Product Increment als fertiges Teilstück jedoch dem Kunden zugänglich gemacht wird, wird es über verschiedene Tools getestet. Dadurch bekommen die Entwickler sofort die Rückmeldung, ob das Softwareteilprodukt funktioniert oder nicht. Erst wenn die Tests positiv verlaufen sind, wird das Teilprodukt in die Stage-Umgebung gepusht, um dem Kunden so das Arbeitsergebnis  - das Product Increment - zugänglich zu machen. 

Dr. Rico Schüppel, Geschäftsführer davitec:

“Wir haben es schon oft erlebt, dass ein Auftraggeber nachdem wir - bildlich gesprochen - die erste Etage seines neuen Hauses schon fertig hatten, auch noch einen Keller dazu bauen wollte. Man muss kein Architekt sein, um zu wissen, dass das nicht möglich ist. Um solche Situationen für uns und unsere Kunden zu vermeiden, arbeiten wir zunehmend iterativ, Schritt für Schritt. So können wir auf veränderte Anforderungen besser reagieren oder - und auch das ist gut - ein Projekt scheitert sehr viel früher, als bei einem klassischen Vorgehen. Es ist jedoch noch ein dickes Brett, das wir hier zu bohren haben. Die häufigste Angst von Auftraggebern ist es, nicht von vornherein das Projektbudget zu kennen. Dann machen wir deutlich, dass die agile Entwicklung ja gerade das Budget schont, weil nur die Dinge entwickelt werden, die dem Kunden auch einen Nutzen bringen.”

Wie der Annual State of Agile Report zeigt, nehmen agile Projekte in vielen Unternehmensbereichen und in den verschiedensten Branchen seit Jahren zu, jedoch ist hier noch Luft nach oben. Von den befragten Unternehmen werden als Hauptvorteile von agilen Projekten drei immer wieder benannt:

  • verbesserter Umgang mit sich verändernden Prioritäten: Reaktionen auf Probleme oder neue Anforderungen sind schnell möglich
  • verbesserte Produktivität: schnellere und kostengünstigere Entwicklung als bei klassischem Vorgehen und geringere Personalaufwände beim Auftraggeber
  • transparenter Projektverlauf: Fortschritte und Hindernisse werden in kurzen Intervallen von einer oder mehreren Wochen in Sprints für Entwickler und Auftraggeber dargestellt

davitec stellen bei ihren Projekten bereits jetzt weitere Vorteile der agilen Software-Entwicklung gegenüber dem klassischen Ansatz fest:

  • transparente Kosten: bekannte Unbekannte sorgen bei Festpreis-Projekten für erhebliche Aufschläge und hohe Aufwände für die Erstellung und Anpassungen von Lasten- und Pflichtenheften; bei einem agilen Vorgehen fallen hingegen nur geringe Konzeptionskosten an, der überwiegende Teil kann in die Entwicklung investiert werden
  • kontinuierliche Anpassung: Anforderungen werden nicht einmalig im Lastenheft festgelegt, sondern dauernd detailliert und angepasst
  • in relativ kurzen Zeitabständen werden Teil-Funktionalitäten und Zwischenergebnisse entwickelt und können sofort gemeinsam mit dem Auftraggeber besprochen werden
  • Risiko des Scheiterns wird reduziert; wenn doch, dann scheitert das Projekt in einem frühen Stadium (“early fail”)
  • Entwickler arbeiten eigenverantwortlicher und motivierter, da sie “nur” das Ziel kennen, aber selbst die Wege und Lösungen erarbeiten können

Um seine Mitarbeiter bzgl Scrum aus- und weiterzubilden, arbeitet davitec u.a. mit dem TYPO3 Spezialisten und Agile Coach Peter Pröll zusammen. In Kürze soll das gesamte Unternehmen Scrum-zertifiziert werden.

 

Bildquelle: davitec
 

Kommentare

Weitere Artikel von davitec

Erstes TYPO3camp Mitteldeutschland kommt nach Dresden
Turbinenspezialist CFturbo macht Wind mit nutzerfreundlicher Webseite
Vereinfachung für Multichannel Händler: Neue TYPO3 Lösung aktualisiert ebay-Shop auf Knopfdruck
Die Digitalisierungshelfer