Acceptance Criteria vs Definition of Done

Egy időre megtörve a korábbiakban vizsgált cikk elemzését, pár, sokszor félreértett fogalom tisztázásáról szeretnénk írni nektek. Kezdjük rögtön az Acceptance Criteria és a Definition of Done kérdésével. Sok csapat keveri a kettőt: D.o.D-nek hívja azt, ami valójában az A.C., és ami ennél sokkal nagyobb baj; a D.o.D. az ilyen csapatoknál teljesen hiányzik.

Akkor tekintünk késznek egy backlogelemet, ha mind az Acceptance Criteria-nak, mind a Definition of Done-nak megfelel. A kettő között a különbség az, hogy az A.C. azoknak az egyedi feltételeknek (elfogadási kritériumoknak) a gyűjteménye, amik csak az adott backlogelemre vonatkoznak, míg a D.o.D. azon közös feltételek gyűjteménye, amit minden egyes feladatnak teljesíteni kell a készség kimondásához.

Nézzünk egy konkrét példát!

Legyen a termékünk egy mobilalkalmazás, ami kottaolvasás gyakorlásában segíti a felhasználókat. A termék backlogjának egy eleme lehetne a következő user story:

Én, mint kezdő zongorista
Szeretnék violin- és basszuskulcsban írt kottákon is gyakorolni
Azért, hogy mindkét kulcsban megtanuljak blattolni.

A story Acceptance Criteria-ja lehet pl.:

• A gyakorlás indításakor az alkalmazás megkérdezi, milyen kulcsban szeretne gyakorolni a felhasználó (violin / basszus)

• A hangjegyek elhelyezése a kiválasztott kulcsnak megfelelő

• A kotta scrollozása közben a kulcs nem scrollozódik, fixen látszik a sor elején

• stb.

Mivel a Definition of Done a teljes termékre, a termék minden backlogelemére vonatkozik, abban általánosabb elvárások vannak, pl.:

• Minden változás be van commit-olva a fő branchbe

• Minden felület megfelel a UX guideline-nak

• Az alkalmazás minden képernyője mind portrait, mind landscape módban használható (a teljes képernyőtartalom látszik, minden interakció elérhető, …)

• stb.

A Definition of Done-ban mi a következő 6 kategóriát szoktuk megkülönböztetni:

• Kódminőségi elvárások

• Fejlesztői tesztelési elvárások

• Funkcionális tesztelési elvárások

• Dokumentációs elvárások

• Általános üzleti követelmények

• Nem-funkcionális követelmények