Definition of ready vs definition of done
Definition of Ready vs Definition of Done

Cześć tym razem chciałbym opowiedzieć o kolejnym zagadnieniu, które z testowaniem ma wiele wspólnego, chociaż nie bezpośrednio. Tematem na teraz jest Definition of Ready oraz Definition of Done.

Definicje te dotyczą Scruma, a konkretnie zadań w ramach niego wykonywanych. Scrum jest jedną z najbardziej popularnych metodyk wytwarzania oprogramowania. W skład Scrum wchodzą Sprinty, iteracje zwykle dwutygodniowe, w ramach których zespół stara się dostarczyć zadania do klienta. Wszystkie zadania do wykonania przechowywane są w backlog, jeśli używasz Jira, wówczas to pojęcie jest Ci znane. Zadania dodane do backlog mogą być bardzo dokładnie opisane albo mogą być pomysłem niesprecyzowanym jeszcze. W miarę upływu czasu niesprecyzowane zadania są doprecyzowywane. I tu pojawia się Definition of Ready, ponieważ zadania gotowe do wykonania mogą zostać przeniesione do Sprintu i zrealizowane.

Przygotowałem dla Was nagranie mp3 tego wpisu, jeśli zatem wolisz słuchać niż czytać zachęcam do pobrania pliku :).

Czym jest Definition of Ready?

Tłumacząc na polski język, jest to definicja gotowości. W kontekście wytwarzania oprogramowania jest to dosyć istotny temat, bo tak naprawdę czym jest ta gotowość? Jest to po prostu gotowość zadania do rozpoczęcia pracy nad nim.

Pojawia się zatem pytanie, co musi być spełnione, by zadanie było gotowe do realizacji. Głównym warunkiem oczywiście jest rozumienie zadania – MA BYĆ ONO JASNE. Czyli czytam i wiem, co ma być zrobione. Kolejnym warunkiem jest to, że zadanie ma być możliwe do zrealizowania w ramach jednego Sprintu. Zwykle to, co dodane jest do Sprintu, ma być zakończone w ramach niego, nie przenosimy zadań, a już na pewno nie rozwlekamy na 3 sprinty. Wreszcie definition of Ready mówi, że musi być określone jak sprawdzić, czy zadanie jest wykonane poprawnie.

Zadania spełniające warunek Definition of Ready dodawane są na początku Sprintu przez Product Ownera do puli. Dzięki spełnieniu powyższych kryteriów developer wie, jak funkcjonalności mają działać, a tester wie, jak je przetestować i co jest warunkiem zamknięcia zadania. I teraz przechodzimy do Definition of Done.

Czym jest Definition of Done?

Tak jak wyżej tłumacząc na język polski, moglibyśmy powiedzieć, że jest to definicja ukończenia. Tutaj niestety nie jest to aż tak oczywiste, ponieważ samo Definition of Done to tak naprawdę zbiór warunków, które musimy spełnić, żeby uznać zadanie, którego się podjęliśmy za wykonane. Warunki ukończenia zadania ustalane są z Product Ownerem.

Ok to teraz może na małym przykładzie, żeby wszystko było jasne.

Wyobraź sobie, że jesteś malarzem pokoi. W ramach Scruma masz dodawane do backlog kolejne pomieszczenia do pomalowania.

Definition of Ready dla twoich zadań byłoby znanie odpowiedzi na pytania:

Zadanie : Pomaluj pokój.

  • Który?
  • Na jaki kolor?
  • Czym?
  • Ile warstw farby?

Jeśli znasz odpowiedzi na nie, znaczy to, że możesz zacząć malować.

Pomalowałeś pokój w zadanym czasie, chcesz otrzymać zapłatę. Klient bierze zatem listę Definition of Done i sprawdza:

  • Pomalowanie pokoju na wskazany kolor wymaganą ilość razy.
  • Sprawdzenie, czy nie ma zacieków.
  • Sprawdzenie, czy nie ma prześwitów.
  • Posprzątanie po sobie miejsca pracy.
  • Wywietrzenie pomieszczenia.
  • Oddanie pomalowanego pokoju klientowi.

Jeśli warunki są spełnione, dostajesz pieniądze za wykonane zadanie, możesz przejść do kolejnego Sprintu i malować kolejne pomieszczenie lub pomieszczenia w ramach niego.

Przykładowe Definition of Done z punktu widzenia wytwarzania oprogramowania

Tak jak widać mamy tutaj listę, z której musimy „skreślać” elementy po to, aby móc zamknąć finalnie zadanie i uznać je za ukończone.

Znalazłeś błąd na tej stronie? Zgłoś mi go.
Formularz zgłoszenia błędu

Jeśli znalazłeś błąd w tekście lub na stronie to proszę, zgłoś mi go. Większość pól tego formularza nie jest wymagana. Jeśli chcesz zgłosić błąd tak, jak powinno się to zrobić, wypełnij je wszystkie.

W formularzu brakuje pola „dodaj załącznik”, ponieważ użycie tej formatki jest płatne. Jeśli jednak chcesz wysłać mi załącznik, prześlij go na e-mail waldemar.szafraniec.szkolenia@gmail.com, w tytule wiadomości napisz, że jest to załącznik do zgłoszenia błędu.

Podany e-mail będzie wykorzystany tylko w celu obsługi tego zgłoszenia - zostaniesz poinformowany, gdy błąd zostanie poprawiony. Podanie e-mail nie jest równoznaczne z zapisem na newsletter.
Tytuł powinien w sposób jasny i czytelny mówić co nie działa na stronie.
Ile prób odtworzenia błędu udaje się odtworzyć.
Dane opisowe błędu. Mogą to być informacje szczegółowe na temat tego, jaki komunikat się wyświetlił. Albo dodatkowe informacje początkowe, jakie muszą zaistnieć.

Waldemar Szafraniec

Nazywam się Waldemar Szafraniec. Karierę testera rozpocząłem w 2012 roku. Od początku pracy w zawodzie wiedziałem, że będzie to coś więcej niż tylko praca. Obecnie praca jest również moim hobby. Jednym z moich obowiązków w obecnym miejscu pracy jest rekrutowanie nowych testerów oraz szkolenie ich. Sam stale podnoszę swoje kwalifikacje uczestnicząc w szkoleniach (ISTQB, ISTQB Advanced Level – Test Analyst). Szkolę ludzi w dziedzinie testów manualnych od 2014 roku. Jestem trenerem, ponieważ wiem, że dobrze mi wychodzi przekazywanie wiedzy, wiem jak praca testera wygląda oraz mam doświadczenie w rekrutacji.

Dodaj komentarz