Select Page
Krystian Kaczor
Latest posts by Krystian Kaczor (see all)

Definicja Ukończenia kontra Kryteria Akceptacji

by | sie 26, 2024 | Blog, Scrum | 0 comments

Różnica pomiędzy Definicja Ukończenia i Kryteriami Akceptacji

Definicja ukończenia (Definition of Done, DoD) i Kryteria Akceptacji (Acceptance Criteria, ACC) to dwa ważne pojęcia w frameworku Scrum, które służą różnym celom.

DoD oznacza standard jakości i kompletności pracy dla każdego elementu Backlogu Produktu. Określa techniczne kryteria ukończenia i opisuje stan Przyrostu Produktu na koniec Sprintu.
ACC opisują, jak ma działać funkcjonalność zapisana w User Story. Są to specyficzne wymagania, które muszą zostać spełnione, aby dana funkcja została uznana za ukończoną.

Różnica polega na tym, że DoD odnosi się do całego produktu i jest opisana w Scrum Guide, natomiast ACC dotyczą konkretnej funkcjonalności i są unikalne dla każdego User Story.

Definicja ukończenia (Definition of Done DoD)

DoD to kluczowy element Scrum, który określa jasne kryteria ukończenia przyrostu produktu. Zapewnia to wspólne rozumienie standardów jakości i niezbędnych praktyk w całym Zespole Scrum. DoD definiuje ogólne zasady ukończenia każdego elementu Backlogu, obejmujące np. testowanie funkcjonalności, spełnienie norm jakości kodu czy zapewnienie dokumentacji.

Definicja Ukończenia to formalny opis stanu Incrementu, w którym spełnia on kryteria jakościowe wymagane dla produktu. Kiedy element Product Backlogu osiąga zgodność z Definicją Ukończenia, powstaje Increment.

Przewodnik po Scrumie 2020

Definicja Ukończenia zapewnia, że każdy przyrost jest przynajmniej potencjalnie gotowy do użycia przez użytkowników. Jeżeli mamy możliwości (DevOps) i kontekst biznesowy na to pozwala, to możemy wydawać ukończone elementy na środowisko produkcyjne. Wtedy w Definition of Done mamy zapis “Dostępne na produkcji”. Ukończone elementy Backlogu Produktu są poddawane przeglądowi na Sprint Review, a ich wielkość jest zliczana w Velocity zespołu.

DoD odzwierciedla stan aktualnych możliwości zespołu, ale może ewoluować w miarę wzrostu umiejętności i zasobów. Jeżeli zespół nie jest w stanie wykonać pewnej pracy z uwagi na brak umiejętności czy narzędzi, nie powinno to być zapisane w DoD. Na przykład jeśli zespół nie wykonuje testów bezpieczeństwa i wydajności, to ich Definition of Done kończy się na przygotowaniu paczki do takich testów. Jeśli z czasem sytuacja ulegnie poprawie, możemy rozszerzyć DoD.

Jak stworzyć Definition of Done pisaliśmy w poście Definition of Done — po co i jak stworzyć? Przy większej ilości Zespołów Scrum pracujących nad tym samym produktem polecamy poczytać Definition of Done a kilka Zespołów Scrum.

Podsumowując, DoD oznacza, że element jest w pełni ukończony, gotowy do wdrożenia i spełnia wszystkie ustalone kryteria.

Kryteria Akceptacji (Acceptance Criteria, ACC)

ACC to szczegółowe wymagania dla każdej historii użytkownika, które muszą być spełnione, aby uznać dostarczoną funkcjonalność za poprawnie działającą. Każda historia użytkownika posiada własne ACC, które ograniczają zakres funkcjonalności i pomagają zdefiniować, co dokładnie zostanie dostarczone. User Story to praktyka uzupełniająca do Scruma, więc nie jest opisana w Scrum Guide. Jednak większość Zespołów Scrum korzysta z User Story.  Więcej znajdziesz w poście Czym jest User Story?

ACC są tworzone przez Product Ownera we współpracy z Deweloperami i mają na celu uzgodnienie, jakie konkretne rozwiązanie ma zostać dostarczone. Są one zazwyczaj opracowywane podczas pielęgnacji Backlogu lub planowania Sprintu, ale mogą ewoluować w trakcie Sprintu w odpowiedzi na nowe informacje.

Kryteria ograniczają nam zakres funkcjonalny danego elementu, co pozwala oszacować jego wielkość i dostarczyć to, na co się umówiliśmy. Na przykład umawiamy się, że w ramach formularza zamówienia użytkownik może wyszukać miejscowość po kodzie pocztowym. Jeżeli Product Owner wpadnie w trakcie Sprintu na pomysł, żeby wyszukiwać kod pocztowy na podstawie nazwy miejscowości, to jest to nowy zakres i w zasadzie nowa User Story. Na to się nie umawialiśmy.

Kryteria akceptacji są zazwyczaj opracowywane przez Właściciela Produktu (Product Owner) albo interesariusza we współpracy z Deweloperami. Tworzy się je na etapie pielęgnacji Backlogu Produktu albo najpóźniej Planowania Sprintu. Zdarza się, że niektóre kryteria pojawiają się w trakcie Sprintu, ponieważ w ramach implementacji pojawiają się nowe pytania.

Jeżeli korzystamy z User Story, to w Definition of Done często pojawia się zapis “Wszystkie Kryteria Akceptacji zostały spełnione”.

Podsumowując, ACC oznaczają, że dana funkcjonalność działa poprawnie zgodnie z ustaleniami.

Definicja ukończenia (DoD) i kryteria akceptacji (ACC) to kluczowe elementy w Scrumie, które pomagają zespołom zrozumieć, co oznacza „ukończone” na różnych poziomach – ogólnym dla produktu (DoD) i szczegółowym dla poszczególnych funkcji (ACC). Dzięki nim zespół ma jasne wytyczne dotyczące zakończenia pracy, co promuje zgodność z ustalonymi standardami jakości. Współpraca przy definiowaniu DoD i ACC wspiera komunikację i zapewnia przejrzystość postępów prac.