Viewing entries tagged
field

Comment

Fazit aus Speech von @JeffSutherland über Einsatz von #StoryPoints oder #Stunden in @Scrum

Noch immer erlebe ich oft Diskussionen ob Stories mittels den abstrakten #StoryPoints oder aber mittels den etwas greifbareren Stunden geschätzt werden sollen. Eine kurze Zusammenfassung der Speech von @JeffSutherland am @Scrum Master Certification Course vom 26. April 13 in Zürich.

Aus menschlicher Sicht scheint die Aufwandschätzung in Stunden nachvollziehbarer und vorderhand einfacher. Die Studie von Microsoft aus dem Jahre 2012 hat aber einen wesentlichen Mangel bei Aufwandschätzungen anhand von Stunden ausgemacht. Diese konnte nachweisen, dass im Gegensatz zur Schätzung via StoryPoints die Aufwandschätzung mittels Stunden eine massiv höhere Standardabweichung aufweist im Verhältnis zum Detaillierungsgrad der Anforderungen. D.h. eine Schätzung mittels StoryPoints bleibt sich mit zunehmender Verdichtung der Anforderung in etwa gleich. Dies ist insbesondere auch für die Kunden essentiell, da nicht immer nachgebessert werden muss.
2013-05-25_21-03-15
Vorausschätzung hierfür ist jeweils, eine gewisse Kontinuität im Team und natürlich eine gemeinsame Referenzschätzung (Vergleiche auch Artikel Distributed Scrum 1 -  Planning Poker).
Interessant fand ich, dass gemäss Erhebungen von ScrumAlliance  mittels StoryPoints ca. 48x effizienter geschätzt wird. Zudem ist aus psychologischen Sicht auch ein Vorteil, wenn sich die Teammitglieder mit jeder abgeschlossenen StoryPunkte gewinnen, anstelle Stunden abarbeiten zu müssen.
Why should you still use estimations in hours if by story points it's 50 times faster and much more accurate?
Jeff Sutherland, co-inventor of SCRUM, Zurich 26.4.13
Nun gilt es die Kunden, als auch das interne Management zu überzeugen auf StoryPoints zu wechseln (Vergleiche auch Artikel Scrum – Ein umdenken im Sales Prozess). Ich kann dies jedem Scrum Team nur empfehlen.
Mehr Details siehe auch im Artikel von Jeff Story Points: Why are they better than hours?

Comment

Comment

Distributed Scrum 1 - Planning Poker in virtuellen Teams

Bei verteilten Scrum Teams bzw. einem #DistributedScrum oder #ScrumOfScrum kam schnell die Frage auf wie ein #PlanningPoker durchgeführt werden kann?-Wie so oft war für uns die Einfachste die Beste Lösung.
708454fb3a4c311a62c44197c56afde5
Das Wichtigste im Planning Poker, auch um Beeinflussungen zu verhindern, ist das zeitgleiche Schätzen. Bei verteilten Teams gestaltet sich dies schwierig. Wir hatten zuerst Tools recherchiert, u.a.:
  • Jira Plugins, siehe https://marketplace.atlassian.com/search?q=planning+poker
  • Webtools, bspw. http://www.planningpoker.com
  • Apps, u.a. https://play.google.com/store/apps/details?id=com.pxr.planningpoker
Doch was uns aufgrund der Einfachheit überzeugt hat, bzw. sich bewährt hat, ist das Schätzen via Google Spreadsheet. Hierfür hatten wir ein Sheet wie folgt aufgesetzt (bitte kopiert dieses, falls ihr es nutzen wollt):
ab6a3bc265e5efb6d85fc9dbb0f30741
Dabei ist das Vorgehen analog zu normalem Planning Poker. Zuerst wird die Story vorgestellt, hierfür wird im Spreadsheet die entsprechende ID eingetragen. Dann tragen alle ihre persönliche Schätzung ein und auf Kommando wird gemeinsam mit ENTER quittiert. Über farbliche Formatierung lassen sich noch analoge Schätzungen visualisieren und sofort sind die minimalen bzw. maximalen Schätzungen ersichtlich. Die dann wie gewohnt im Team besprochen werden.

Comment

Comment

Scrum - Ein umdenken im Sales Prozess 3, Kooperationsmodell "Money for nothing"

Bei Vertragsverhandlungen bezüglich Buchung eines Scrum Teams hatte @JeffSutherland @Scrum Master Certification Course Zurich einen etwas radikaleren Ansatz, wie Scrum verkauft werden könnte, vorgestellt. Gemäss Jeff ist dies nur mit erfahrenen Scrum Teams eine Option.
Im Kooperationsmodell "Money for nothing" bucht der Kunde nicht bloss über einen definierten Zeitpunkt ein Scrum Team, sondern hat auch die Möglichkeit dieses bei Zielerreichung zu stoppen bzw. zurück zu geben. Konkret bucht der Kunde bspw. für 10 Sprints ein Scrum Team à 3 Personen. Daraus resultieren Fixkosten pro Sprint von beispielsweise CHF 100'000.- bzw. über CHF 1Mio. für 10 Sprints.
7e46fa53eb7e5df6757b8e6b551d4d1c
Da der PO/Kunde die Umsetzung hinsichtlich Features mit höchstem Business Value steuert ist bspw. nach 5 Sprints 80% des Business Values erreicht und der Kunde entscheidet sich die Umsetzung zu stoppen. Der Kooperationsvertrag sieht nun vor, nicht die restlichen 5 Sprints à CH 100'000.-, sondern dem Lieferanten nur ein zu definierenden "Penalty" für den Arbeitsausfall bspw. 30% also CHF 150'000.- zu bezahlen.
Dieses Vorgehen kann in zeitlich beschränkten Projekten eine win-win Situation für Kunde und Lieferant sein. Da der Kunde weniger bezahlt als für alle 10 Sprints bezahlen würde aber eigentlich nicht mehr Funktionalität benötigt. Andererseits für den Lieferanten, der das Scrum Team stellt, der einen Teil des Umsatzausfalls vergütet kriegt.

Comment

1 Comment

Scrum - Ein umdenken im Sales Prozess

Sowohl Stakeholder, als auch Sales Manager verlangen nach ausgewiesenen Lieferobjekten die geschätzt, offeriert und abgegrenzt werden können. Insbesondere wenn es sich um Projekte im Fixpreis handelt wird seitens des Software Lieferanten sehr viel Energie in die Definition des Skopes investiert um sich abzusichern. Scrum bietet hier einen revolutionären Ansatz diese Mittel besser -nämlich in die Produktentwicklung- einzusetzen.
Generell ging ich früher bei der Ausarbeitung einer Offerte immer in zwei Schritten vor:
1. Kurzanalyse Grobkonzept
2. Detailanalyse
Im 1. Schritt wurde jeweils geprüft ob die Projektanfrage ins Portfolio passt, Timing für Erstellung der Offerte bzw. Umsetzung realistisch sind und die nötigen Ressourcen zur Verfügung stehen. In der Detailanalyse wurde durch ein technischer Senior Consultant die Lieferobjekte im Detail ausgewiesen, eine Lösung skizziert und die Lieferobjekte einzeln geschätzt inkl. Definition von Abgrenzungen. Dieser 2. Schritt war seit jeher immer sehr aufwändig. Es stellte sich zudem heraus, dass die erste Einschätzung des Projektvolumen aus Schritt 1 und die detaillierte Schätzung aus Schritt 2 meist nicht gross abwich.
Als Konsequenz entschieden wir uns daher in der Offerte von Scrum Teams auf den 2. Schritt zu verzichten und stattdessen Kapazitäten zu offerieren. Die KOSTEN definieren sich dabei neu aus der SUMME von verwendeten RESSOURCEN X RATE X TIME.
Hierfür sind folgende Eingangsparameter nötig:
  • RESSOURCEN: Benötigten Ressourcen/Profile anhand Anforderungen inkl. deren Velocity
  • RATE:  Rate pro Ressource, wobei von einer maximalen Buchung ausgegangen wird
  • TIME, die Nutzungsdauer bzw. das Projektvolumen resultiert aus der Einschätzung des Grobkonzeptes bei Berücksichtigung des Endtermins und der eingesetzten Ressourcen inkl. Buffer
Nachfolgend ein abstraktes Rechenbeispiel zur Kalkulation der Kapazitäten und der Projektkosten:
scrum_visual.001
Setzt man nun diese Parameter in obiges Rechenbeispiel ein erhält der Kunde eine Kostenplanung pro Sprint inkl. Kostendach fürs Gesamtprojekt. Bei youngculture setzen wir diese Kalkulation schon seit 2004 ein und diese wurde vom Markt sehr gut aufgenommen. Da die Vorgehensweise nach Scrum nachweislich nach einem working Inkrement verlangt ist zudem gewährleistet, dass der Kunde zum Projektende innerhalb des definierten Kostenrahmens ein Produkt erhält mit höchst möglichen Business Value. Aber dazu mehr in einem späteren Beitrag.

1 Comment

Comment

Was macht ein erfolgreiches Scrum Team aus?

Wie in klassischen Projektmethodiken bspw. nach Wasserfall basiert  der Erfolg von agilen Projekten v.a. auch auf der richtigen Zusammenstellung des Scrum Teams. Gerade wenn man das erste Projekt mit Scrum durchführt können folgende Erfahrungen hilfreich sein.
Typischerweise ist man beim Setup eines Scrum Projektes, v.a. wenn es sich allenfalls um das Erste handelt, meist mit  den Artefakten von Scrum beschäftigt und wie diese in Kooperation mit dem Kunden implementiert werden sollen. Beispielsweise wie ist das Testing in den Entwicklungsprozess einzupassen, oder Stories zu komponieren, etc. Dabei geht häufig vergessen, dass der Erfolgt von Scrum nicht nur in der Methodik zu suchen ist, sondern meines erachtens auch mit grossem Anteil auf den Paradigmenwechsel zurückzuführen ist. Nachfolgend nochmals eine Zusammenfassung wichtiger Prinzipien & Werte von Scrum:
  • Team-Spirit: Das Team steht im Zentrum, Scrum setzt auf Selbstorganisation und Stärkung der Übernahme von Verantwortung durch alle Team Mitglieder
  • Transparenz & Vertrauen: Die Grundlage für die enge Zusammenarbeit zwischen Team und Kunde bildet die gegenseitige Transparenz bzw. das Vertrauen
  • Kunde & -Bedürfnisse im Fokus: Das Team geht auf den Kunden ein und macht technische Objekte für den Kunden verständlich (User Stories) bzw. präsentiert diese in der Sprache des Kunden
  • Agile == Evolution: Sowohl auf der technischen Ebene, als auch auf den Kooperationsprozess bezogen bittet Scrum Hand sich kontinuierlich zu Verbessern
  • Dinge abschliessen: Es wird erst mit Neuem gestartet wenn Offenes, im Sinne von Done, abgeschlossen ist.
  • Geschäftswert maximieren: Der Business Case bzw. Kundennutzen steht im Zentrum von Scrum und wird entsprechend in der Priorisierung mit dem Kunden mitberücksichtigt
Scrum stärkt über diese Prinzipien das Team und dessen Selbstverantwortung und bezieht den Kunden näher in den Entwicklungsprozess mit ein. Die kurzen Zyklen machen den Scope überschaubar und reduzieren die Risiken. Diese Prinzipien verteilen die Rollen von Grund auf neu und erfordern entsprechend passende Charakteristiken der Teammitglieder mit komplementären Kompetenzen. Nachfolgend möchte ich auf die aus meiner Sicht wichtigsten Charaktereigenschaften der verschiedenen Rollen von Scrum hinweisen:
Stakeholders (SH)
Sprechen das Budget und setzen das Vertrauen in den agilen Prozess bei zum Teil noch ungenauen Lieferobjekten. Im Wissen, ein funktionstüchtiges Produkt mit dem maximierten Businessnutzen zu erhalten. Dabei gewähren Sie entsprechende Entscheidungskompetenzen insbesondere an den Product Owner.
Product Owner (PO)
In enger Zusammenarbeit mit dem Business steuert er voraus schauend die agile Entwicklung und das Scrum Team. Dabei stellt er den Business Nutzen in den Vordergrund und hat idealer Weise sowohl einen  technischen, sicher aber einen fachlichen Hintergrund. Er ist ein ausgewiesener Team Player, der die Vorschläge des Teams annimmt und Team Entscheide mitträgt.
Scrum Master (SM)
Hat praktische Erfahrung in der Anwendung von Scrum und im Coaching von -Teams. Er ist im Team als Prozess Owner akzeptiert und stellt die "richtige" Implementation von Scrum und somit auch die die Performance/Velocity des Teams sicher. Der SM fungiert dabei als vollständiges Team Mitglied und ist nicht zwingend dessen Team Leader.
Team Members (TM)
Die TM ergänzen sich komplementär sowohl durch ihre Erfahrung (Junior - Senior Level) als auch durch ihre technischen Fähigkeiten (Entwickler, Fester, IT-Support, Architekt, etc). Sie zeichnen sich durch ihren ausgeprägten Kundenfokus und die proaktive, jederzeit transparente Kooperation aus. Alle TM sind gierig Neues von anderen Mitgliedern zu lernen um als Team sich stetig weiter zu entwickeln.
Wird nur eine Rolle unpassend besetzt kann dies bereits den Projekterfolg gefährden. Dabei muss sich das Scrum Team in den Retrospektive Meetings auch jeweils selbst hinterfragen und den Mut aufbringen allfällige "Fehlbesetzungen" zu korrigieren.
Ist das Team zudem multikulturellen Mitgliedern muss dies noch speziell berücksichtigt werden, da diese Komponente das Verständnis der Zusammenarbeit noch weiter hemmen, oder zumindest die Ramp-up-Phase verlängern kann.
Viel Spass bei der Teamzusammenstellung!

Comment