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.