#2: Kryterium gotowości i ukończenia
Dość często podczas rozmów rekrutacyjnych padną pytania o DoD czy DoR. Warto zatem znać te pojęcia. I dziś sobie je przybliżymy.
Definition of Ready oraz Definition of Done, bo o nich mowa, pochodzą z metodyk zwinnych i są podstawowym założeniem Agile'a. Nierzadko są również wykorzystywane przy pracy waterfall'owej. O różnicach pomiędzy podejściami tradycyjnymi i zwinnymi opowiemy sobie w przyszłym tygodniu.
Dofinition of Ready określa jakie elementy/cechy powinno mieć zadanie, aby możliwe było wzięcie go na tapet. Dobrze napisane DoR odsieje w przyszłości kiepsko opisane czy niezrozumiałe zadania - nie zostaną one przyjęte wówczas do realizacji i będą musiały zostać poprawione, co oszczędzi czas samego developmentu.
Definition of Done określa zestaw kryteriów/cech/elementów, które muszą zostać spełnione, aby zadanie można było uznać za ukończone.
Jak to zapamiętać? Wyobraź sobie, że DoR to "door", czyli drzwi. Te wejściowe. Te, przez które trzeba przejść. A żeby przez nie przejść, musimy spełnić odpowiednie warunki - spisane w DoR.
Na "dodę" (DoD) nie mam żadnego fajnego pomysłu, ale pozostawiam to Waszej wyobraźni. Może coś z diodą, która zapala się na zielono, gdy wszystkie wymagania zostaną spełnione? 🙂
Pora na jakiś praktyczny przykład. Najpierw taki, który pozwoli nam uzmysłowić sobie te zagadnienia.
Zadanie: Urlop w Hiszpanii.
Definition of Ready: Jaki termin? Jaki hotel? Jaka forma transportu? Jaki budżet? Forma odpoczynku - leniwe opalanie czy aktywne zwiedzanie? (i tak dalej)
Dopóki nie poznamy odpowiedzi na te pytania, nie będziemy w stanie w ogóle rozpocząć tego zadania (i każdego kolejnego). No bo jak - kupimy bilet na samolot, a okaże się że pojedziemy samochodem? Czy zamówimy pobyt w hotelu w czerwcu, a okaże się że wyjedziemy w sierpniu? Słabo, nie? I po to jest DoR.
Definition of Done: Wybrany termin, zakupiony pobyt w hotelu, zorganizowany transport, spakowanie bagażu, wyjazd, odpoczynek (relaks, zwiedzanie, plażowanie), powrót, rozpakowanie bagażu, wypranie ubrań, pochowanie walizek do szafy.
Gdy spełnimy wszystkie powyższe czynności, to znaczy zaplanujemy urlop (zadanie), wykonamy urlop (zadanie) i zakończymy urlop (zadanie), wówczas będziemy mogli powiedzieć, że wszystko przeszło pomyślnie, a zadanie uznać za zakończone.
Rozumiesz już na czym polega DoR oraz DoD? Możemy przekształcić ten przykład na praktyczne zadanie w IT.
Zadanie: Stworzenie formularza kontaktowego w projekcie.
DoR: Stworzony task, wyestymowane (oszacowany w czasie lub punktach) zadanie, spisane wymagania/kryteria akceptacyjne. Czasami również: stworzony dizajn, stworzone przypadki testowe (ale jest to zależne od podejścia).
DoD: zadanie (tutaj: formularz) stworzone zgodnie z grafikami oraz wymaganiami, uzupełniona dokumentacja, funkcjonalność przetestowania zgodnie ze stworzonymi przypadkami testowymi/scenariuszami testowymi, stworzony test automatyzujący (jeżeli jest taki wymóg), przetestowana wydajność oraz bezpieczeństwo formularza, stworzenie i omówienie raportu z testów (jeżeli jest taki wymóg).
Rozumiesz już na czym to polega? Pamiętaj proszę, że DoR i DoD dotyczą się wszystkich zadań, a nie jednego konkretnego. Są to zasady uniwersalne, dostosowane w firmie pod własne wymagania.
I na koniec żartobliwa rozmowa Project Managera z zespołem 😉
- [PM] cześć, zadanie z formularzem kontaktowym zamykamy?
- [DEV1] tak, zrobiłem już, jeden fix tylko na localu jeszcze jest, ale to zaraz wypuszczę.
- [DEV2] tak, czekam tylko na code review, ale to już przetestowane przez QA.
- [QA] no... tak... jeszcze ostatnie testy robię.
- [DEV3] jasne, zamykamy, jutro jeszcze dokumentację napiszę.
Cóż... 4x na "tak, zamykamy", ale 0x na "tak, DoD wykonane" 😉 Dlatego też mówi się czasami, że DoR, a przede wszystkim DoD, to tajna broń PMa 😉
|