Co to znaczy “Done”?

Co to znaczy “Done”?

Wyspecyfikowany, zaimplementowany, zakończony, dostarczony a może po prostu gotowy do użycia? Każdy z nas, w zależności o swojego kontekstu, może mieć co innego na myśli, gdy mówi, że ta praca jest skończona. Życie nie raz pokazało, że wspólny słownik to podstawa sukcesu przedsięwzięcia. Od czego więc zacząć?

W zasadzie od lat błędy w komunikacji, obok złych decyzji i niespodziewanych zdażeń, są wymieniane najczęściej jako przyczyny niepowodzeń* przedsięwzieć. I to nie tylko w ściecie IT. Okazuje się, że nie ma znaczenia to jakim językiem się posługujemy oraz jaką metodą (iteracyjną czy sekwencyjną) produkujemy wartość. Jednakowe rozumienie słów w interakcjach międzyludzkich pomaga uniknąć wielu nieporozumień, a w konsekwencji problemów. Wydaje się, że to żadne odkrycie i do takiego wniosku chyba nie trzeba nikogo przekonywać.

Wydaje się… Niestety, mimo upływu lat, błędy w komunikacji wciąż są wymieniane w badaniach.

Zacznij od końca

Budowanie wspólnego słownika proponuję zacząć od wspólnego rozumienia „done” (z ang. „ukończone”). Już sama dyskusja na temat znaczenia tego słowa, może przynieść ciekawe odpowiedzi na pytania:

  • Dlaczego tu jesteśmy? Co i dla kogo robimy?
  • Jak to robimy? Co jest od nas oczekiwane i z jaką jakością?
  • Jakie kompetencje potrzebujemy, aby wytworzyć i dostarczyć wartość do odbiorcy końcowego?
  • Kto może nam w tym pomoc?

Oczywiście odpowiedzi warto zapisać, najlepiej w formie graficznej i udostępnić w łatwo dostępnym miejscu. Na przykład powiesić na ścianie. Dzięki temu każdy, kto wejdzie do takiego pomieszczenia, od razu będzie mógł się sporo dowiedzieć na temat tego, co dzieje się w tym miejscu.

Sam wynik dyskusji, czyli znaczenie słowa „done”, również powinien być ogólnodostępny. Niektóre zespoły zapisują to w formie definicji słownikowej.

Podchodząc do tematu pragmatycznie

Niestety, pytanie „co znaczy ukończone?” w wielu przypadkach może okazać się zbyt ogólne i trudne do udzielenia jednej, uniwersalnej odpowiedzi. Dlatego na początek proponuję zacząć od jakieś propozycji, jako punktu startowego w dyskusji, np. takiej:

Gdy Element Wspólnego Backlogu jest oznaczony jako “Done”, oznacza to, że jest: udokumentowany, sprawdzony (włączając sprawdzenie kryteriów akceptacji) i dostarczony.

W dalszych krokach należy uściślić, co to znaczy w naszej konkretnej sytuacji, że coś jest udokumentowane, sprawdzone i dostarczone. Czasem udaje się to zrobić jedynie na poziomie pojedynczego typu zadań, czasem tylko dla zespołu. Dlaczego tak się dzieje? Cóż, to już temat na osobny artykuł. Sukcesem jest, gdy cała organizacja, pracująca nad tą samą wartością, posługuje się jedną definicją słowa „ukończone”.

Definicja Ukończenia czy Kryteria Akceptacji?

Myśląc o znaczeniu słowa „done” często ograniczamy się do kryteriów odbioru wartości (tzw. akceptacji) a w konsekwencji używamy tych terminów zamiennie.

Oczywiście, spełnienie kryteriów akceptacji może być elementem definicji ukończenia, ale stawianie znaku równości między tymi terminami jest zbyt daleko idącym uproszczeniem. To trochę tak, jakby powiedzieć, że „gotowe jest wtedy, kiedy nie ma nic do zrobienia”. Tak ogólna definicja nie wiele wyjaśnia.

Definicja ukończenia to rodzaj standardu jakościowego. Jeśli naszą wartością jest np. usługa fryzjerska, pt. strzyżenie, to kryteriami akceptacji będą np. sposób cięcia, fryzura, itp. A w definicji ukończenia może się znaleźć zapis o tym, że klient zapłacił za usługę lub fryzjer powiedział mu „Do widzenia!” stojąc przy wyjściu z lokalu.

Gdy mówimy o oprogramowaniu, w definicji ukończenia mogą się znaleźć na przykład wymagania niefunkcjonalne: „aplikacja działa wydajnie” albo „kod został przetestowany jednostkowo”. Zapisywanie takich kryteriów za każdym razem, przy każdym zadaniu nie wydaje się być dobrym pomysłem a mimo to, gdzieś należało by to zapisać. Tym miejscem jest właśnie Definicja Ukończenia (ang. Definition of Done).

Podsumowując

Bez względu na to, jaką formę zapisu wybierzecie, wspólne rozumienie słowa „ukończone” z pewnością ułątwia komunikację. Nie tylko pomaga utrzymać standardy jakościowe, a w konsekwencji unikać powstawanie długu procesowego lub technicznego, ale przede wszystkim umożliwia budowanie przejrzystości stanu zaawansowania prac w skompliowanych przedsięwzięciach.

***

* linki do kilku badań na temat przyczyn niepowodzeń projektów z wielu lat: