Moderne Software-Entwicklung

Mit Scrum schrittweise zum Erfolg

Setzt man in der Software-Entwicklung auf Scrum, kann dies zu einer höheren ­Transparenz und besseren Wertschöpfung führen.

Schritte am Strand

Schritt für Schritt zum Erfolg: Scrum gehört zu den Mitteln der Wahl.

Geht es um moderne Vorgehensmodelle zur Software-Entwicklung, gehört Scrum heute zu den Mitteln der Wahl. Die Studie „IT Project Success Rates Survey“ (Dezember 2013) der US-Beratungsgesellschaft Scott Ambler & Associates hat gezeigt, dass moderne Methoden, wie beispielsweise Scrum, im Durchschnitt effektiver sind als traditionelle Vorgehensweisen wie etwa das Wasserfallmodell. Ein hochwertiges Produkt liefern, einen angemessenen Return on Investment erzielen oder die zeitgerechte Lieferung gewährleisten – all diese Ziele lassen sich mit modernen Entwicklungsansätzen wirkungsvoller erreichen als mit herkömmlichen.

Was ist das Erfolgsgeheimnis? Was Scrum betrifft, so ist es die Aufteilung eines größeren Projekts in viele kleine Projekte, deren Priorisierung anhand der Kriterien wirtschaftlicher Nutzen, Risiko und Notwendigkeit sowie die Auslieferung definierter Features in einem nutzbaren Zustand nach festen Zeiträumen von zwei bis vier Wochen. Früher wurden Verbesserungswünsche und neue Funktionalitäten gesammelt und für das nächste Release einer Standardsoftware vorgesehen. Für individuelle Kundenanforderungen „dazwischengeschoben“ war weder Platz noch Zeit. Natürlich war die Software-Entwicklung auch damals nicht planlos, aber es gab keinen festen zeitlichen Rhythmus (Sprint), nach dem eine auslieferbare Version einer definierten Funktionalität vorliegen muss. Mit Scrum wird der Aufwand geschätzt, die einzelnen Schritte geplant, sukzessive abgearbeitet und das fertige Feature geliefert – oder gar auf dem Kundensystem entwickelt. Dabei kann genau gesagt werden, ob eine Funktionalität erst im nächsten Release kommt oder in einem der regelmäßigen „Service Packages“. Der Empfänger weiß genau, (a) wie der Stand seiner Wünsche ist, wenn es „Standard“ ist, oder (b) wo seine Entwicklung steht, die er individuell beauftragt hat.

Folgendes Praxisbeispiel illustriert die Unterschiede in den Vorgehensweisen „früher“ und „heute“: Ein Kunde aus dem Automotivesektor fragt nach einem Kennzahlenpflegeprozess, der auch außerhalb des Systems Nutzern ohne Systemzugang zur Verfügung steht. Bei der traditionellen Software-Entwicklung werden die Anforderungen in einem Lastenheft festgehalten und anhand dessen von einem Entwickler realisiert. Nach der Entwicklungszeit, die insbesondere bei Standarderweiterungen nicht fest definiert ist, wird das Feature an den Kunden ausgeliefert. Zwischenzeitliche Feedbackschleifen mit dem Kunden sind in diesem Prozess nicht vorgesehen.

Das Resultat in Stichworten: schwierige Planbarkeit; feste Ressourcen gebunden; keine Teamentwicklung; kein verbindlicher Auslieferungstermin („Ist für Release X.X vorgesehen“); Auslieferung durch Servicepacks während einzelner Releases nicht möglich; hoher Zeitdruck, dadurch teilweise geringere Qualität der Auslieferung; kein Know-how-Transfer, da nur ein (bis zwei) Entwickler an dem Thema arbeiten; Auswirkungen auf andere Bereiche des Systems nicht abschätzbar.

Bei derselben Aufgabe wird beim Einsatz der Scrum-Methodik die Anforderung – in kleine „User Storys“ unterteilt – beschrieben, die jeweiligen Aufwände geschätzt und der verbindliche Auslieferungstermin festlegt. Nach der abschließenden Planung aller „Storys“ werden diese nach und nach in die Tat umgesetzt. Dabei werden nicht alle „Storys“ parallel, sondern jeweils einzeln entwickelt, bis sie auslieferbar sind. So erhalten alle Beteiligten bereits nach dem ersten Feature einen Eindruck hinsichtlich Aussehen, Verbesserungsbedarf oder Auswirkungen auf andere Features. Nach vollständiger Entwicklung, diversen Tests und Abnahme durch den „Product Owner“ wird das Feature per Service-Pack zum geplanten Zeitpunkt ausgeliefert. Das Resultat in Stichworten:

  • Entwicklung ist sofort einsatzfähig
  • höhere Qualität durch Kontrollen und Tests
  • Auswirkungen auf andere Bereiche des Systems besser -abschätzbar
  • besserer Informationsfluss und Know-how-Transfer aufgrund der Kontrollmechanismen
  • 
aussagekräftige Planung, da keine weiteren Features (Storys) in laufenden Sprint aufgenommen werden
  • hohe Terminverbindlichkeit
  • Entwicklung kann auch während eines laufenden Releases ausgeliefert werden
  • höhere Transparenz über den Status der Entwicklung.

Scrum hat eine höhere Produkt- und Servicezufriedenheit zur Folge, wie Kundenumfragen der Zetvisions AG zeigen. Nach der Einführung von Scrum im November 2009 ist die Produktzufriedenheit für eine Beteiligungsmanagementsoftware von 2010 bis 2014 insgesamt um 28 Prozent gestiegen. Dabei liegt die Zufriedenheit mit dem „Funktionsumfang“ auf einer Skala von null bis zehn im Jahr 2014 bei 7,94, was gegenüber 2010 einer Steigerung um 27 Prozent gleichkommt. Eine ähnliche Entwicklung zeigt die Servicezufriedenheit: Sie hat insgesamt von 2010 bis 2014 um knapp 17 Prozent zugelegt; der Einzelaspekt Flexibilität/Erweiterungsmöglichkeiten lag zuletzt bei 7,33, ein Zuwachs von 30 Prozent gegenüber dem Stand vier Jahre zuvor.


Tipps für eine effiziente Software-Entwicklung

  > Verständnis für die Sprint-Planung: Anforderungen müssen termingerecht aufgegeben werden. In eine bestehende Planung für den nächsten Sprint können keine weiteren Anforderungen aufgenommen werden.
  > Definition der Anforderungen und Prüfung des avisierten Auslieferungszustands: Es muss am Anfang genau festgelegt werden, (a) was gewünscht und (b) was dazu geliefert wird. Der Kunde muss prüfen, ob das, was geliefert werden soll, exakt dem entspricht, was er sich wünscht.
  > Zugang zu den Kundensystemen: Dieser ist zeitgerecht ­sicherzustellen, wenn auf diesen Systemen bis zum Termin X etwas entwickelt werden soll.
  > Funktionalitätstest: Ausgelieferte Funktionalitäten sind zeitnah zu testen; es hilft nicht, wenn „vorn“ schnell ent­wickelt und „hinten“ spät getestet wird.


Bildquelle: Thinkstock/iStock

©2020Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok