Acceptatiecriteria

Binnen een Scrum proces wordt gebruikgemaakt van User Stories om nieuwe gebruikerswensen te omschrijven. Vast onderdeel van deze User Stories zijn de acceptatiecriteria. Hieronder geven we een introductie: voor ze voor dienen en hoe ze in praktijk worden gebruikt.

Wat zijn acceptatiecriteria?

Acceptatiecriteria zijn vereisten aan de hand waarvan het Scrum team toetst of het doel zoals omschreven in de User Story is behaald. Als het product aan het einde van de Sprint aan alle criteria voldoet dan heeft het ontwikkelteam bewezen dat ze de gebruikerswens daadwerkelijk hebben vertaald naar een werkende oplossing. De User Story kan dan als afgerond worden beschouwd.

Verschillende soorten acceptatiecriteria

De criteria maken deel uit van de User Story en worden voorafgaand aan de Planning meeting opgesteld door de Product Owner. De criteria kunnen zowel functioneel als niet-functioneel van aard zijn:

  • Functionele acceptatiecriteria
    Deze criteria gaan over handelingen die gebruikers kunnen uitvoeren. Bijvoorbeeld: “De gebruiker kan een lijst van alle medewerkers bekijken”.
  • Niet-functionele acceptatiecriteria
    Deze gaan over zaken als de manier waarop functionaliteit werkt en de wijze waarop informatie gepresenteerd wordt. Bijvoorbeeld: “De getoonde waarden zijn goed uitgelijnd”.
  • Prestatiecriteria
    Deze criteria betreffen zaken die te maken hebben met de snelheid, veiligheid, betrouwbaarheid en schaalbaarheid. Bijvoorbeeld: “Het overzicht toont binnen 200ms resultaat.”

Acceptatiecriteria in de praktijk

Aangezien het ontwikkelteam aan de hand van deze acceptatiecriteria toetst of dat wat ze hebben gebouwd ook daadwerkelijk voldoet, is het belangrijk dat deze een volledig beeld geven van de gestelde eisen. De criteria zijn helder geformuleerd en niet voor interpretatie vatbaar. Ze voldoen aan de volgende voorwaarden:

  • Een acceptatiecriterium is realistisch en haalbaar
  • Het acceptatiecriterium is testbaar of meetbaar
  • Het is duidelijk wanneer het gehaald is of niet
  • De geformuleerde criteria staan ieder op zich en zijn niet met elkaar verweven.

Tegelijkertijd is het van belang dat de acceptatiecriteria nog geen oplossingsrichting voorschrijven: beter is om gebruik te maken van de expertise van het ontwikkelteam om de meest efficiënte oplossing te bedenken. Een acceptatiecriterium is dus specifiek in het doel, en abstract in de oplossing.

Een voorbeeld

Stel dat je de volgende User Story hebt:

“Als administratief medewerker wil ik een lijst met gebruikers kunnen importeren zodat ik de applicatie snel in gebruik kan nemen”

Nog los van de oplossingsrichting die het ontwikkelteam kiest om deze wens te realiseren, kunnen de volgende acceptatiecriteria toepasbaar zijn:

  • Voorafgaand aan de verwerking van de import controleert de applicatie of het bestand de juiste indeling heeft
  • Fouten worden gerapporteerd aan de gebruiker
  • Er worden alleen wijzigingen doorgevoerd indien er geen fouten zijn aangetroffen
  • De import wordt binnen 20 seconden uitgevoerd
  • Na het importeren laat de applicatie weten hoeveel wijzigingen er zijn doorgevoerd

Bij de demo na afloop van de Sprint kunnen deze acceptatiecriteria redelijk makkelijk worden doorlopen. Het team toont daarmee aan dat ze een oplossing hebben ontwikkeld dat voldoet aan de voorwaarden en de User Story kan vervolgens worden afgesloten.