Gestern hielt Jeff Sutherland einen Vortrag zu “Hyperproductive Teams with Scrum”. Hier die nach unserer Meinung wichtigsten Aussagen und Erkenntnisse von Jeff:
Was ist Scrum?
Scrum is a pattern language for hyperproductive teams.
Scrum is a tool to deploy lean software development effectively.
Wie steigert man die Produktivität des Teams?
- Die Korrektheit der Vorhersage enes Gantt-Charts zum Release-Termin basiert auf der Kenntnis des Team-Geschwindigkeit (engl. team velocity)
- Die Prozesseffizienz ist der Quotient aus Time-To-Done und Time-To-Deliver – also der Umsetzungszeit über der Auslieferzeit. Wenn Sie die Daten zu benötigter Zeit der Umsetzung sowie Startdatum und Auslieferungsdatum in Ihrem Projekt sammeln, können Sie Ihre Prozesseffizienz errechnen. Jeff sagt, dass die durchschnittliche Prozesseffizienz von Teams (ungeachtet von Scrum) ca. 15% beträgt. Die Prozesseffizienz unterlegt den Anteil an Verschwendung im Prozess mit einer konkreten Zahl.
- Team-weites Wissen erhöht die Team-Geschwindigkeit
- Messen Sie nicht Verschwendung oder Fehlfunktion ohne den Schwerpunkt auf die Erfassung der positiven Faktoren Produktivität und Erfolg zu legen.
- Anweisung für Messung und Maßnahmen
- Messen Sie die Team-Geschwindigkeit (täglicher und durchschnittlicher Wert (2 Sprint Durchschnitt)
- Messen Sie die Prozesseffizienz (täglicher und durchschnittlicher Wert (2 Sprint Durchschnitt)
- Wenn der aktuelle Wert über dem Durchschnitt liegt, identifizieren Sie die Ursache und beheben das Problem (engl. impediment)
- Die Lieferung von hoher Produktqualität bedingt eine hohe Qualität aller Zwischenprodukte (einschließlich Anforderungen, Abschätzungen, Infrastruktur, Code, Build-Ergebnisse usw.)
- Top 3 Gründe für die Reduktion der Team-Geschwindigkeit
- Ungenügende Release- bzw. Sprint-Backlog-Planung (Anforderungen, die nachgebessert werden müssen oder nachträglich in den Sprint aufgenommen werden)
- Nicht ausreichende Definition des “Ready”-Zustands (Bereits durchgeführte Regressionstests und Reviews vor der Auslieferung an fachliche Tester)
- Ablenkung von Entwicklern durch eine ineffiziente oder gar nicht lauffähige Build-Umgebung
Insbesondere den letzten Punkt fand ich überraschend. Nicht, dass es ein oft vorkommendes Hindernis für Entwickler ist – das sehen wir in unseren Prozessverbesserungsprojekten deutlich – sondern, dass es bei Jeff unter den Top 3 Gründen für die Verlangsamung von Teams auftaucht. Ein Grund mehr für unternehmensweite, laufende Build-Prozesse.