Kennisbank

Clean Agile, de Bill of Rights van klanten

De Bill of Rights

In 1689 legde de Bill of Rights in Engeland de basis voor een parlementaire democratie. In de VS wordt direct aan de eerste 10 amendementen van de grondwet gedacht. In de softwareontwikkeling kennen we echter ook een Bill of Rights. In 2001 werden er namelijk twee Bill of Rights bedacht om de verwachtingen te beschrijven die een klant en een softwareontwikkelaar ten opzichte van elkaar mogen hebben.

Een aantal bedenkers van het Agile Manifesto hebben de Customer Bill of Rights en de Developer Bill of Rights hiervoor uitgewerkt. Ze zijn niet zo bekend, maar wel heel krachtig. Vanuit deze rechten wordt duidelijker wat Agile ontwikkelen wel is en wat het niet is. Het kennen van deze wederzijdse rechten draagt bij aan een begrip vanuit de klant voor de ontwikkelaar en vice versa.

Customer Bill of Rights

In dit artikel heb ik de Customer Bill of Rights opgenomen met per statement een korte toelichting. Het begrip klant is in deze context degene die verantwoordelijk is voor planning en budget of degene die er voor betaalt of er voordeel van heeft.

1. Je hebt recht op een totaalplan en om te weten wat, wanneer en tegen welke kosten wordt gerealiseerd.
Agile werken sluit een plan vooraf niet uit. Natuurlijk is er een plan nodig dat zo nauwkeurig en precies is als dat praktisch haalbaar is. Dat betekent vooral dat we als ontwikkelaars ervoor moeten zorgen dat bij onze plannen en inschattingen de mate van onzekerheid duidelijk is. En waardoor deze onzekerheid verminderd of weggenomen kan worden. Vaste scopes op harde data zijn niet mogelijk, maar een op waarschijnlijkheid gebaseerde planning wel. In zo’n planning zit een curve waarmee de waarschijnlijkheid wordt aangegeven waarmee zaken haalbaar zijn.

2. Je hebt het recht om de meeste waarde uit elke iteratie te krijgen.
Een klant mag verwachten dat een ontwikkelaar aan de belangrijkste dingen werkt en dat het de meest maximale bedrijfswaarde biedt. De klant heeft daarom het recht te kiezen wat er in de iteratie gebeurt en de wensen te prioriteren.

3. Je hebt het recht om voortgang te zien in een draaiend systeem waarvan bewezen is dat het werkt doordat de door hen gespecificeerde testen herhalend slagen.
Vanzelfsprekend toch dat de klant de criteria voor acceptatie bepaalt en ook de stapsgewijze voortgang kan volgen in een werkend systeem? Dit recht schrijft echter ook voor dat dit aangetoond kan worden door middel van testen die steeds weer opnieuw herhaald kunnen worden en slagen.

4. Je hebt het recht om van gedachten te veranderen, functionaliteit te vervangen en prioriteiten te wijzigen, en dat zonder exorbitante kosten.
Dit is een kernelement van Agile en ook iets wat kan in softwareontwikkeling. Voor ontwikkelaars kan dit best wel eens lastig of onlogisch zijn en daarom is het goed dat dit recht zo expliciet is omschreven.

5. Je hebt het recht om tijdig op de hoogte te worden gebracht van wijzigingen in planning en inschattingen zodat ze voor een kleinere scope kunnen kiezen om een vereiste datum te behalen. Je kunt op elk moment de ontwikkeling stoppen, waarbij er altijd een werkend systeem is dat de investering tot op heden weerspiegelt.
Klanten kunnen niet de planning of de inschatting wijzigen, maar wel de scope. Zo kan een klant inspelen op wat er tijdens het ontwikkelproces gebeurt. Het kan ook betekenen dat de ontwikkeling gestopt wordt. Door de andere rechten van de klant houdt deze dan wel altijd een werkend systeem over.

Conclusie

Deze Bill of Rights is een waardevolle aanvulling op het Agile Manifesto. Het kan goed gebruikt worden om richting zowel klant als ontwikkelaar duidelijkheid te scheppen over wat er verwacht kan worden. In een volgend artikel wil ik de Developer Bill of Rights doornemen. De één kan niet zonder de ander, want ook de ontwikkelaar heeft vanuit zijn of haar professie en vakmanschap bepaalde rechten tijdens het ontwikkelproces.

 

Geschreven door Kees de Kraker
Directeur

Contact

Laat ons helpen jouw ambities concreet te maken.