Acceptance Criteria vs Definition of Done – mi a különbség?
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