Mittwoch, 9. Mai 2007

Release 1.0 erfolgreich ausgeliefert

Am Montag 07.Mai 07 haben wir den ersten Release (Ecktorp) im neuen Scrum Projekt planmässig ausgeliefert. Alle Features, die geplant waren, wurden firstgerecht fertigestellt und in Produktion genommen. Der Kunde ist sehr zufrieden und hat mit dem Team die weiteren Schritte definiert.

Trotzdem der Release erfolgreich war, hatten wir einige Problem, die ich hier kurz erläutern möchte.

  1. Sprint-Planung
    Von Begin an war klar, dass wir einen ersten Release nach ca. 3 Wochen in Betrieb nehmen werden. Das Produktbacklog bot genug Arbeit für ca. 3 Releases. Der Kunde hat ein Priorisierung der Features vorgegeben und das Team hat die Arbeit zunächst auf einen Sprint mit 3 Wochen mit 25 Story Points geplant. Ein weiterer Release steht in 2 Wochen an, was uns zur Frage bringt, wie man dass in eine Sprint Planung einbezieht. Wir haben für den 2. Release (Anneboda) zwei Sprints a eine Woche geplant. Die Problematik besteht nun darin, eine realistische Planung aufzustellen, denn man hat keinen Vergleich für die Sprint Geschwindigkeit (Velocity). Unsere Annahme ist, dass wir pro Woche 12 Story Points realisieren können. Wir werden sehen ...
  2. Resourcenplanung
    Sprint 1 wurde mit einem Team von 4 Entwicklern geplant. Wir haben die User Stories aufgeteilt und parallel an Features gearbeitet. Nach ca. 1 1/2 Wochen hat sich die Resourcenlage leider verschlechtert - es wurden 2 Teammitglieder abgezogen. Nun, was ist passiert? Ein Scrum Teammitglied arbeitet weitestgehend eigenverantwortlich. Wenn jemand das Team während des Sprints verlässt, hinterlässt man begonnen Arbeit in einem mehr oder weniger unklarem Zustand. Wir haben also in der Hälfte des Sprints die Strategie zur Abarbeitung der User Stories verändert und auf Stabilität statt Menge gesetzt - sprich den Umfang reduziert. Der Rest vom Team hat die liegengebliebene Arbeit (grossteils durch Überstunden) auf DONE bringen können. So haben wir es trotz nicht geplanter Lage geschafft, alle gewünschten Features fertigzustellen. Das hat nur funktioniert, weil das Team bereits mit dem Scrum Vorgehensmodell vertraut ist und technologisch sattelfest ist. Wenn das Know-How nicht homogen verteilt ist, ist eine solche Lage durchaus als riskant einzustufen.
  3. Prototype
    In der Offerte wurden bereits Screen/Design Vorschläge offeriert. Unmittelbar zum Projektbeginn hat der Kunde das Design abgenommen. Daraufhin wurde ausserhalb des Scrum Teams ein HTML Prototype realisiert. Als das Scrum Team die Arbeit aufgenommen hatte, ergaben sich die ersten Probleme. Das Design war für eine Website, nicht aber für eine Webapplikation ausgelegt. Klassiker, wie Links, die einen Form Submit auslösen, Breadcrumb Trail in einer Applikation, Dialoge, die keine Dialoge sind, etc. wurde falsch gemacht. Somit konnte das Team nur verzögert mit der Arbeit beginnen. Dazu kam, dass der Kunde das Design abgenommen hatte und nunmehr bereits nach wenigen Tagen schon ein Re-Design besprochen werden musste, bevor überhaupt Features realisiert werden konnten. Der Kunde war sichtlich irritiert - verständlich! Daher die Empfehlung einen Applikationsdesigner von Beginn an einzusetzen. Es ist sicher auch hilfreich ein Developer über das Design schauen zu lassen - das hat sich in der Vergangenheit immer bewährt.
Was vielleicht noch erwähnenswert ist: wir haben die Scrum Rituale auf eine Minimum beschränkt. Wir machen täglich ein 15-minütiges Stand-up Meeting, Sprint und Release Planung und eine Retrospective bei einem Bier am Abend. Wir setzten Target Process ein, beschränken uns aber nur auf die Funktionen für Release und Sprint Planung, sowie User Stories und Bugs. Sonst kommen keine weiteren Tools zum Einsatz.

Keine Kommentare: