Hva er et akseptansekriterie?
Et Akseptansekriterie er en tilstand programvaren må tilfredsstille for å bli akseptert av en bruker, kunde, eller en integrasjon.
Det brukes til å definere funksjonaliteten til en oppgave (normalt user story) for å tydeliggjøre forventet resultat på både funksjonelle og ikke-funksjonelle krav. Dette bør være en del av Definition of Done.
Når defineres det?
En vanlig felle er å begynne med definisjonen etter utviklingen er påstartet. Utfallet av dette blir normalt å bekrefte funksjonaliteten som er laget enn å ta hensyn til hva kunden eller brukeren faktisk trenger og ønsker.
Ved å definere akseptansekriteriene i forkant er vi sikre på å ta stilling til selve problemstillingen og hvorfor behovet er der.
Hvordan komme i gang?
Det er viktig å tenke hva, ikke hvordan. For å skrive gode akseptansekriterier skal vi dekke behovet til brukeren, ikke hvordan utviklerene skal lage løsningen.
Eksempelvis er dette et godt akseptansekriterie:
Bruker kan godkjenne eller avvise en faktura.
Dette eksempelet er ikke et godt kriterie da det legger fokus på det tekniske:
Brukeren kan klikke på en sjekkboks for å godkjenne en faktura.
Eksempler
User Story: Som en student vil jeg se semesterkostnaden så jeg vet hvor mye balansen er på*.
Akseptansekriterier for dette kan være:
- Semesterkostnaden vises
- Semesterkostnaden kalkuleres
- Total balanse over alle semestre vises
- Ingen semesterkostnad vises hvis en ukjent innlogging er gitt
User Story: Som en bruker vil jeg logge inn på systemet så jeg kan benytte meg av [tjenesten].
Akseptansekriterier kan være noe som dette:
- En vellykket innlogging skal navigere brukeren til hjemmesiden med en velkomstmelding (funksjonelt krav)
- En velkomstmelding skal vises øverst til høyre på hjemmesiden (ikke-funksjonelt krav)
- Hjemmesiden skal lastes i løpet av 1 sekund (ytelseskrav)
*En artikkel for å skrive en brukerhistorie/User Story kommer siden.