Eisen en wensen, zeg je wat ik denk dat je zegt?

Er is één fase in elk IT project dat belangrijker is dan alle andere, belangrijker dan ontwerpen, bouwen of uitrollen. Elke fout op dit gebied kost simpelweg geld en vertraagt het project. Goede 'requirements' of eisen en wensen vaststellen aan het begin van het project verhoogt de kwaliteit.

Het is een kunst om de eisen te verzamelen. 'Graven' naar een set eisen vereist contact met klanten. Klanten weten niet altijd wat ze binnen het project willen of hoe ze het moeten beschrijven. Combineer dat met het feit dat we in de IT niet altijd even goed luisteren naar de vragen en antwoorden. Soms zijn we al bezig met de oplossing voordat de klant het heeft beschreven. Er is een simpele formule om de juiste kwaliteit eisen te bepalen in een project.

http://www.youtube.com/watch?v=uiOyrEi8zd4

 

 

Vier typen

Eisen zijn niet altijd makkelijk herkenbaar. Bij het begin van het verzamel proces realiseren we ons dat er veel feiten op je af komen. Sommige zijn belangrijk, andere zijn hints of simpelweg onjuist. Om die reden onderscheiden we de eisen in categorien met gelijke eigenschappen. Typisch komen we in een project 4 typen eisen tegen.

Functionele eisen zijn concrete, waarde toevoegende atributen welke nodig zijn voor het nieuwe product of dienst. Zonder deze functie is het product in basis onbruikbaar. Denk hierbij in inputs, outputs en processen.


Niet-functionele eisen zijn de eisen die niet door klant gevraagd zijn, maar die ze beïnvloeden. Denk aan andere zaken die nodig zijn om het systeem te ontwikkelen. Microsoft gebruikt voor haar Solutions Architecture process een acroniem voor niet-functionele eisen. Gebruikmakend van de letters PASSME vraag je om de eisen op het gebied van: Performance, Availability (beschikbaarheid), Scalability (schaalbaar voor snellere/meer verwerking) , Security, Maintainability (onderhoudbaarheid) en Extensibility (uitbreidbaar in functionaliteit).

Beperkingen of 'constraints' zijn de grenzen die bepaald zijn door eerdere beslissingen en die je niet kan veranderen binnen je project. Beperkingen bakenen de speelruimte af waarbinnen je je kan bewegen. Soms zijn het wetten (bijvoorbeeld: opslaan van persoonlijke gegevens en privacy wetgeving) andere keren zijn beperking specifiek voor het bedrijf of de omgeving van het project. "We kunnen niet meer friet bakken omdat er geen grotere frituurpan is."

Verwachtingen zijn het moeilijkst. Dit zijn kwaliteiten dat je product of dienst moet hebben om je klant blij te maken. Je kan wijn in een plastic bekertje serveren of in een mooi groot kristallen glas. De wijn is hetzelfde en voldoet beide keren aan de bestelling van de klant, maar de laatste sluit beter aan bij de verwachting van de klant.

Voor elke eis moet zeker zijn dat deze specifiek, meetbaar en ondubbelzinnig is. Denk aan de condities die vervuld moeten zijn om aan te tonen dat de eis is gehaald. Zorg dat je de eisen zo beschrijft dat iedereen er dezelfde betekenis aan geeft. Voor elke eis moet je weten welke waarde de klant er aan toekent om vast te stellen waar hij zonder kan en welke absoluut noodzakelijk zijn.

Drie stappen

Nu je weet waar we naar op zoek zijn, er is een iteratief proces dat je kan volgen om de eisen te vinden.

Verkrijgen. Dit is waar je vragen stelt. Er zijn vele technieken die je kan toepassen. Interviewen is de meest gebruikte techniek alhoewel 'yellow note' of gefaciliteerde sessies, prototypes en enquêtes ook geweldig kunnen werken om gebruikers te helpen hun eisen inzichtelijk te krijgen. Mijn persoonlijke favoriet, welke ik vaak met succes heb toegepast, is door een lid van het projectteam een dag te laten werken als gebruiker. Het systeem écht gebruiken om dagelijkse processen mee uit te voeren brengt meer helderheid en eigenaarschap in de oplossing dan de meeste andere technieken.

Begrijpen. In deze fase weeg je wat de klant heeft verteld, ken het toe aan de fase waar het thuishoort. Echte eisen worden verzameld en gekoppeld aan de informatie die de klant heeft geleverd. Dit is waar je het verschil maakt tussen de stenen en de diamanten.

Bevestig. De echte kracht zit hier. Met deze kwalitatieve stap gaan we terug naar de klant en controleren ze het eens zijn met de set van eisen. Dit brengt de klant en het project terug in contact en verzekerd dat we over hetzelfde praten. Zorg dat je team de eisen bespreekt in termen die zowel de klant als jij kennen of vastgesteld hebben.

Door meerdere keren door deze drie stappen te gaan zul je de eisen verfijnen en nieuwe eisen aan het licht brengen. Ik adviseer om veel tijd in deze fase te stoppen, dat levert uiteindelijk veel op. Je moet pas stoppen als het team geen nieuwe requirements meer oplevert.

Deze attentie voor detail helpt iedere projectmanager om het 'rework' of extra werk te verminderen en verlaagt per direct de kosten van het project. Door zeker te stellen dat de eisen solide zijn kan het team eisen direct vertalen in functionaliteit. Dit verhoogt de kwaliteit van het product voor de klant.

Meer informatie over heldere 'requirements' voor uw projecten? Neem contact met ons op.