Difference between revisions of "Planningsspel voor ontwikkelprojecten"

From AardRock Wiki
Jump to navigation Jump to search
Line 24: Line 24:
==context==
==context==


Dit patroon is eerder beschreven in het boek eXtreme Programming explained (embrace change) door Kent Beck. En nog eerder op de c2.com wiki .
Dit patroon is eerder beschreven in het boek eXtreme Programming explained (embrace change) door Kent Beck en ook in {{pattern|Scrum}} wordt een soortgelijk planningsproces gebruikt. Het vindt zijn oorsprong dus in _software_ ontwikkelprojecten, maar is in principe ook geschikt voor andere projecten waar het belangrijker is om om te gaan met verandering en onzekerheid dan het te vermijden.
En nog eerder op de c2.com wiki .
Zie {{pattern|Gummiberen}} voor een alternatieve manier om nummering te bepalen (fibonacci reeksen).
Zie {{pattern|Gummiberen}} voor een alternatieve manier om nummering te bepalen (fibonacci reeksen).

Revision as of 18:52, 28 November 2006

Neem een set indexkaarten, de klant vertelt een wens in de vorm van een verhaaltje (in het engels: user story) (Klant_schrijft_verhaaltje). De titel van dit verhaaltje komt bovenop de indexkaart te staan. In het midden van de indexkaart kan eventueel een zin met wat meer detail staan, of een tekening die beschrijft wat de klant wil (in het geval van software kan het een schets van een scherm of webpagina zijn). Acherop het kaartje kunnen eventueel Acceptatietests of Acceptatiecriteria geschreven worden. Als klanten en ontwikkelaars beter op elkaar ingespeeld zijn volstaat vaak de titel van het verhaaltje, in combinatie met het volgende:

Een verhaaltje is een belofte voor verdere communicatie tijdens de uitvoering van het werk. Het is dus geen volledige specificatie van het werk dat gedaan moet worden. We gaan ervanuit dat het realiseren van een verhaaltje een spel van samenwerken en uitvinden is. Het is dus de bedoeling dat klant en leverancier Samen_werken, in plaats van tegen over elkaar gezet te worden (zoals met een Programma_van_eisen nog wel eens wil gebeuren).Klanten en leverancier zijn Gezamenlijk_eigenaar van het resultaat – deze manier van werken is dus Resultaat_gericht.

(je kunt het project zien als een tijdelijke Cooperatie tussen klanten en ontwikkelaars) De Ontwikkelaars_adviseren_de_klant, maar nemen geen beslissingen. De Klant_bepaalt_waarde. Adviseren gebeurt voornamelijk door vragen (bijvoorbeeld door de Socratische_methode toe te passen), soms door uit te leggen wat er mogelijk is – liever nog door Laat_zien_wat_kan (show, don't tell). Hier zit een spanningsveld tussen Klantgericht_werken en Technologische_innovatie – aan de ene kant wil je doen wat de klant wil, maar de klant weet niet altijd wat er mogelijk is (tegen welke kosten). Als het goed loopt, lost dit planningsproces het vanzelf op, omdat gaandeweg de klant een beter gevoel krijgt voor wat er mogelijk is, en de ontwikkelaars een beter gevoel krijgen voor wat de klant wil en wat de klant echt nodig heeft.

Als de klant een aantal verhaaltjes heeft vertelt, en de titels op kaartjes heeft geschreven, is het tijd voor Ontwikkelaars_bepalen_complexiteit. De gedachte achter deze stap is dat plannen eenvoudiger is in termen van relatieve complexiteit of moeilijkheid. De eenvoudigste manier om dit te doen is de Verhalen op volgorde van moeite te leggen. Het eenvoudigste verhaal gaat bovenaan, en zo verder naar beneden. Verhalen die even complex zijn kunnen naast elkaar gelegd worden.

Nadat Verhalen_in_volgorde_van_complexiteit zijn gelegd, kunnen er Gummiberen op geschreven worden. Gummiberen zijn een aantal 'punten' voor Verhalen. Een verhaal met een lager aantal Gummiberen is eenvoudiger dan een verhaal met een groter aantal Gummiberen.

Hoeveel Gummiberen schrijf je op een verhaal? Er zit hier een verschil tussen de eerste keer dat je het Planningsspel speelt en latere keren – de eerste keer moet je vanaf niets bepalen hoe veel Gummiberen te geven aan een verhaal. Een eenvoudige manier om dit te doen is de eenvoudigste story 20 punten te geven, en daarna met 30,40 etc. verder te nummeren.

De tweede en volgende keren kun je kijken naar Verhalen_van_de_vorige_ronde en Relatieve_complexiteit bepalen door verhalen van deze Ronde te leggen naast die van de vorige.

Na Ontwikkelaars_bepalen_complexiteit is het tijd voor Klant_bepaalt_waarde. Hiervoor doen de klanten voor waarde hetzelfde als de ontwikkelaars voor complexiteit – kaartjes op volgorde leggen. In dit geval komen de meest waardevolle Verhalen bovenaan.

Ook hier is het mogelijk om soortgelijk als aan Gummiberen punten op de kaartjes te schrijven, in dit geval Waardepunten geheten. Heel soms is het mogelijk voor klanten om waarde in Euros op te geven. Meest voorkomend is de Verhalen in volgorde Aan_de_muur_hangen, of bij voorbeeld in een Wiki of een Online_verhalenverzamelbak te zetten.

Na deze stap geven de ontwikkelaars een schatting over hoeveel Verhalen ze in de komende Ronde kunnen doen. Voor de eerste Ronde is dit een gokje, voor volgende Rondes kan de Snelheid van de vorige Ronde gebruikt worden. Snelheid is eenvoudigweg het aantal Gummiberen per Ronde.

De lijst van verhalen, op volgorde van waarde gelegd noemen we een Restpuntenlijst.

context

Dit patroon is eerder beschreven in het boek eXtreme Programming explained (embrace change) door Kent Beck en ook in Scrum wordt een soortgelijk planningsproces gebruikt. Het vindt zijn oorsprong dus in _software_ ontwikkelprojecten, maar is in principe ook geschikt voor andere projecten waar het belangrijker is om om te gaan met verandering en onzekerheid dan het te vermijden. En nog eerder op de c2.com wiki . Zie Gummiberen voor een alternatieve manier om nummering te bepalen (fibonacci reeksen).