Eines unserer Entwicklungsteams beim Scrum-Daily

Einblicke in die agile Softwareentwicklung mit Scrum

Viele Softwareprojekte, die nach dem Wasserfallmodell entwickelt werden, stoßen mit dem bisherigen Projektmanagement an ihre Grenzen. Agile Softwareentwicklung gilt oft als die Lösung für dieses Problem – schnell und flexibel sollen die Ergebnisse erarbeitet werden. In diesem Beitrag geben wir Ihnen Einblicke in die Softwareentwicklung mit Scrum, die seit 2011 beim ERP-System GODYO P4 Anwendung findet.

Agile Verfahren werden in immer mehr Unternehmen etabliert – allen voran Scrum. Durch  fortschreitende Digitalisierung entstehen Wünsche und Anforderungen an eine Software, die  heute noch niemand genau benennen kann. Damit erhöht sich das Risiko, eine Lösung am  künftigen Bedarf vorbei zu entwickeln. Agile Softwareentwicklung ist eine gute Alternative für dieses Problem: Lösungen und Ergebnisse sollen schnell und flexibel erarbeitet werden, da sich innere und äußere Bedingungen während einer Entwicklungsphase ändern können.

Kurzübersicht – Agile Softwareentwiccklung mit Scrum

Was ist Scrum?

Bei klassischen Projektmanagementverfahren wird der komplette Funktionsumfang am Anfang festgelegt und allzu oft am Ende festgestellt, dass das Ergebnis so nicht gewünscht war. Mit Scrum wird eine Software iterativ weiterentwickelt und dem  Kunden mit Zwischenergebnissen präsentiert. Feedback kann so frühzeitig in die Planung und Weiterentwicklung einfließen und dafür sorgen, dass am Ende das gewünschte Ergebnis erzielt wird. Die Entwicklung findet dabei in mehrwöchigen Sprints statt. Für jeden Sprint wird ein Aufgabenpaket  festgelegt, das vom Entwicklungsteam möglichst selbständig abgearbeitet wird. Der Product-Owner des ERP-Systems GODYO P4 sorgt dabei für die Definition der Aufgaben und steht für Rückfragen jederzeit zur Verfügung.

Nach Abschluss des Sprints bewertet das Team den Sprint in einer Retrospektive und zieht ggf. Rückschlüsse, die in die Planung des nächsten Sprints einfließen. Nach jedem Sprint steht eine neue, getestete Version der unseres ERP-Systems GODYO P4 zur Verfügung.

Weniger Bürokratie und Pläne, mehr Flexibilität durch Scrum

Damit agile Softwareentwicklung funktioniert, ist eine Umstellung bei allen Prozessbeteiligten erforderlich. Konkret bedeutet das den Verzicht auf lange Pflichtenhefte und Entwicklungszyklen. Das Anpassen von Plänen und das Verwalten von Change-Requests wird ersetzt durch Flexibilität und kontinuierliche Releases, die den stetigen Fortschritt der Entwicklung dokumentieren. Da sich diese Entwicklungsmethode radikal von traditionellen Verfahren unterscheidet, muss die Entscheidung für agiles Vorgehen bewusst getroffen werden. Anstatt das Entwicklungsergebnis am Ende einmal abzunehmen, werden Ergebnisse regelmäßig beurteilt und das weitere Vorgehen besprochen. Das erfordert insbesondere von Entscheidern Engagement und die Bereitschaft, sich in diesen Prozess einzubringen.

Risiken managen und Schritt für Schritt abbauen

Weder das Endergebnis des Projektes noch der Weg dahin sind vorher bekannt und definiert. Das bedeutet auch, dass nicht in jedem Fall schon alle kritischen Bereiche, die während der Entwicklung  auftauchen  können,  vorhersehbar  sind.  Vielmehr  wird  versucht,  auftretende  Risiken  zu  managen und diese Schritt für Schritt abzubauen.

Agile Softwareentwicklung mit Scrum

  1. Produkt-Backlog
    Im Produkt-Backlog werden alle Anforderungen und Aufgaben für die Weiterentwicklung unseres ERP-Systems priorisiert, spezifiziert, geschätzt und gesammelt.
  2. Sprint Planung
    Bei der GODYO Business Solutions AG wird das ERP-System GODYO P4 in 2-wöchigen Sprints entwickelt. In der Sprint-Planung werden alle Aufgaben für den anstehenden Sprint festgelegt und gemeinsam besprochen.
  3. Sprint-Backlog
    Im Sprint-Backlog befinden sich alle eingeplanten Aufgaben für den aktuellen Sprint. Welche Aufgabe von wem erledigt wird, stimmen die Teammitglieder untereinander ab.
  4. Sprint-Durchführung
    Während des Sprints werden die eingeplanten Aufgaben bearbeitet. Sobald eine Aufgabe erledigt und mit automatischen Tests abgesichert wurde, wird diese von einem anderen Entwickler manuell nachgetestet.
  5. Daily
    Im Daily berichtet jeder Entwickler kurz und knapp über seinen aktuellen Stand, bei der Ihm zugewiesenen Aufgabe. Dabei sollte möglichst darauf geachtet werden, dass das Daily nicht länger als 15 Minuten beansprucht.
  6. Review
    Im Review geben die Entwicklungsteams aus Client und Datenbank Einblicke in die aktuelle Entwicklungsarbeit. Das Support- und Consulting-Team bekommt somit einen Überblick über alle Änderungen und Anpassungen.
  7. Neue Softwareversion
    Nach jedem Sprint steht eine neue Version des ERP-Systems GODYO P4 für unsere Kunden zur Verfügung.
  8. Retrospektive
    In der Retrospektive wird der vergangene Sprint besprochen. Positive und negative Aspekte werden schriftlich festgehalten. Bei negativen Punkten werden punktuell Maßnahmen erarbeitet, um eine Wiederholung zu vermeiden.
Typisches Scrumboard mit den eingeplanten Aufgaben

Agil: ganz oder gar nicht

Eine Vorgabe bei Scrum ist es, die Entwicklerteams interdisziplinär zu organisieren, damit sie unabhängig von außenstehenden Personen agieren können. Das Team sollte so zusammengestellt werden, dass möglichst alle erforderlichen Kompetenzen abgedeckt sind. Flache Strukturen sorgen hier für flexible Lösungen und schnelle Entwicklungen. Wenn alle Teammitglieder eng zusammenarbeiten und Kompetenzen optimal auf die in der Planung festgelegten Aufgaben verteilen, wird eine flexible und schnelle Softwareentwicklung gewährleistet. Die Arbeitsorganisation und Aufwandsschätzungen werden ebenfalls vom Entwicklerteam selbst vorgenommen. Gemeinsame Standards stellen sicher, dass alle Teammitglieder ein gemeinsames Verständnis über Absprachen, Notizen und Ziele haben.

Das Vorgehen des Entwicklungsteams sowie der aktuelle Entwicklungsstand werden durch kontinuierliche teaminterne Überprüfungen und die regelmäßigen Abnahmen der Kunden sichergestellt. Auch wenn Überprüfungen äußerst wichtig sind, liegt der Fokus dennoch auf der eigentlichen Entwicklungsarbeit, welche nicht durch zu viele Überprüfungen wieder beeinträchtigt werden soll. Wir können aber sagen, dass durch regelmäßige Prüfungen eine exzellente Softwarearchitektur gefördert wird, was zur Agilität beiträgt.

Bei der Softwareentwicklung mit Scrum kann es vorkommen, dass das Vorgehen oder die Aufgabenstellung angepasst werden muss,  wenn eine Überprüfung vermuten lässt, dass eine gegenwärtige Abweichung vom Ziel zu einem inakzeptablen Produkt führt.  Auch  die  Abstimmung  mit  internen  und  externen  Dienstleistern  bezüglich  Terminen  und  Budgets  können  durch die agilen Prozesse eine Herausforderung sein.

Die 12 Prinzipien der agilen Softwareentwicklung

  • Zufriedene Kunden durch schnelle Entwicklung
  • Wettbewerbsvorteil durch agile Prozesse
  • Kurzfristige Auslieferung funktionierender Software
  • Intensive Zusammenarbeit während der Projektphasen
  • Schaffen eines motivierenden Umfelds
  • Face-to-Face-Kommunikation bei Absprachen
  • Primäres Maß  für  Fortschritt  ist  die  funktionierende  Software
  • Nachhaltige Entwicklung durch gleichbleibenden Arbeitsrhythmus
  • Fokus liegt auf Design und Technik
  • Einfachheit ist essentiell
  • Teams arbeiten selbstorganisiert
  • Steigerung der Effizienz durch Reflektieren der eigenen Arbeit

Fazit zur agilen Softwareentwicklung mit Scrum

Sind die Rahmenbedingungen für agile Softwareentwicklung vorhanden und werden diese vom Unternehmen unterstützt, dann sind Scrum & Co. leistungsfähige Methoden für die moderne Softwareentwicklung.