Definition of Done

A legtöbb informatikai projekt esetén problémát okoz elmagyarázni a fejlesztőnek, hogy a nem akkor van kész a program, amikor leütötte az utolsó entert. De akkor mikor is?

Minden szervezetben különböző elvárások vannak erre nézvést, sokszor csak implicit, kimondatlanul ami problémát okozhat az új belépőknél meg a lusta (vagy feledékeny) régi alkalmazottak esetén is, ezért az agilis fejlesztési módszertanok adnak nekünk kapaszkodót erre nézvést is.

Mi lenne, ha valaki összeírná a fejlesztőnek, hogy mikor mondhatja, hogy kész az adott fejlesztéssel? Ugye milyen jó ötlet? Írjunk tehát egy listát, arról, hogy mit is kell csinálni ahhoz, hogy a fejleszés kész legyen és nevezzük el Definition of Done-nak avagy a kész definíciójának.

Legjobb, ha ez egy pipálható lista, kiegészítésekkel, amik egyértelműsítik azt, hogy mit is kell biztosítani, mondjuk

a kód megfelel a coding convension dokumentumban leírtaknak.

Azt a listát aztán később érdemes kibővíteni minden olyan ponttal, ami elősegíti, hogy jobb minőségű terméket készítsenek a fejlesztők. Ilyenek például:

a programhoz készültek unit tesztek és az összes unit teszt sikeresen lefutott,

a kódot másik fejlesztő ellenőrizte,

az új funkciókról teszt terv készült és a tesztelő ellenőrizte a funkcionalitást,

készültek automata regressziós tesztek és az összes sikeresen lefutott,

elkészült a felhasználói kézikönyv kiegészítése,

a felhasználó felület kialakítását elfogadták.