„Czy to zadanie jest ukończone?”
Odpowiedź na to pozornie proste pytanie wymaga sprawdzenia, czy przyrost elementu lub produktu jest kompletny lub w toku. Jednak aby to mogło się udać, zespół i jego interesariusze muszą wyraźnie oznaczyć go jako „ukończony”.
W metodologiach zarządzania projektami zgodnie z filozofią Agile, takich jak Kanban lub Scrum, „ukończony” odnosi się do kolumny na tablicy z wizualizacją pracy przeznaczonej dla ukończonych elementów. Ustalenie jasnej definicji ukończenia pozwala zespołom Agile, w tym zespołom DevOps i Scrum, wydajniej finalizować kolejne elementy.
W tym przewodniku wyjaśniono znaczenie definicji ukończenia (DoD) w metodologiach Agile oraz jak je tworzyć, aby projekty były bardziej efektywne i wartościowe.
Zrozumienie definicji ukończenia w Agile
DoD to zestaw kryteriów, które przyrost produktu musi spełniać, aby zespół uznał go za kompletny i gotowy dla klientów. Członkowie zespołu rozumieją, kiedy przyrost produktu jest gotowy do wydania, nawet jeśli jest on obszerny i zawiera wiele elementów. Dzięki jasnemu zdefiniowaniu, co w projekcie oznacza określenie „ukończone”, zespół Agile może się skupić na dostarczaniu korzyści przy każdym sprincie oraz minimalizowaniu przeróbek.
Ważne jest, aby pamiętać, że definicji ukończenia nie tworzy jedna osoba. Jest ona uzgadniana przez cały zespół projektowy, w tym programistów, testerów, właścicieli produktów i innych interesariuszy. Zapewnia to płynniejszą pracę podczas sprintów, ponieważ wszyscy używają definicji ukończenia razem z listami kontrolnymi jako przewodnika przed uznaniem elementu za ukończony.
„Jeśli masz do czynienia z przekazywaniem zadań innym zespołom, upewnij się, że Twoja definicja ukończenia uwzględnia wszystko, co jest konieczne do odniesienia sukcesu przez drugi zespół. Współpracuj z innymi zespołami w strumieniu wartości i dowiedz się, co musisz uwzględnić w swojej DoD, aby je wspierać” — twierdzi Mark Cruth, trener ds. nowoczesnej pracy w Atlassian.
Przykłady definicji ukończenia
DoD różni się w zależności od rodzaju projektu i aktywnego zespołu. Poniższe przykłady DoD ilustrują, jak te definicje różnią się między typami projektów.
Oto przykładowe zasady DoD w projekcie tworzenia aplikacji mobilnych:
- Wszystkie obrazy są skompresowane.
Cały kod jest pomniejszony i przeniesiony do archiwum GZip.
W projekcie rozwoju oprogramowania przykładowe kryteria w DoD mogą brzmieć następująco:
- Cały kod został dokładnie przetestowany za pomocą testów jednostkowych, integracyjnych i kompleksowych.
Przyrost produktu został wdrożony w środowisku przejściowym i przetestowany przez zespół.
Projekt ogólny może się kierować takimi zasadami DoD:
- Wszystkie problemy zostały rozwiązane.
Cała dokumentacja wydania została napisana i zredagowana.
Definicja ukończenia a definicja gotowości
DoD to zestaw wysokopoziomowych kryteriów, które określają, kiedy przyrost produktu jest ukończony. Zapewnia on jakość i spójność produktu. Zespoły zazwyczaj używają DoD pod koniec sprintu, podczas sprawdzania jakości przyrostu produktu.
Natomiast definicja gotowości (DoR) to zbiór niskopoziomowych i specyficznych kryteriów, które mają zastosowanie tylko do elementów backlogu produktu. DoR określa, kiedy zespół może zacząć pracę nad elementem backlogu w nadchodzącym sprincie. Zespół wykorzystuje DoR podczas procesu dopracowywania backlogu na początku sprintu.
Dlaczego definicja ukończenia jest ważna?
Ustalenie DoD ma kluczowe znaczenie dla dostarczenia produktu wysokiej jakości, którego chcą klienci, ponieważ precyzuje, kiedy element można oznaczyć jako ukończony i kiedy jest on gotowy do uwzględnienia w przyroście produktu. Dobrze przygotowany DoD oferuje następujące korzyści.
Poprawia jakość: sprawdzanie każdego przyrostu produktu pod kątem kryteriów DoD sprawia, że zespoły Agile biorą pod uwagę cele jakościowe podczas opracowywania produktu. To gwarantuje, że konsekwentnie spełniają standardy jakości wymagane, aby wydać produkt.
Minimalizuje ryzyko: przestrzeganie DoD minimalizuje ryzyko potencjalnych przeróbek oraz wynikających z nich opóźnień, ponieważ zespół dokładnie wie, jakie kryteria powinien spełniać element, zanim zostanie oznaczony jako ukończony. Zapewnia to jakość na każdym etapie projektu.
Poprawia dopasowanie zespołu: ponieważ DoD to wspólne zrozumienie tego, co oznacza słowo „ukończone” w kontekście projektu, zespoły mogą się z łatwością skupić na wymaganiach klientów i dostarczać korzyści przy każdym sprincie.
Mierzy postępy: posiadanie jasnego DoD pozwala zespołom śledzić liczbę przyrostów produktów, które spełniają kryteria „ukończenia”. Na przykład wskaźniki Scrum mogą obejmować prędkość, która pokazuje, ile ukończonych przyrostów produktu dostarcza dana osoba w określonym przedziale czasowym.
Kroki tworzenia definicji ukończenia
Choć dokładne kroki tworzenia definicji ukończenia różnią się w zależności od zespołu i projektu, proces zawsze przebiega według podobnego schematu. Oto kroki tworzenia DoD:
1. Pracuj z odpowiednim zespołem
Podczas tworzenia DoD ważna jest współpraca z odpowiednimi członkami zespołu, ponieważ ustalone kryteria zapewniają wspólne zrozumienie między wszystkimi uczestnikami projektu. Oznacza to włączenie wszystkich, którzy powinni określić, co oznacza „ukończenie” w kontekście projektu. Dotyczy to właścicieli produktów, Scrum masterów, członków zespołu Scrum, testerów, menedżerów produktu, sponsorów i innych interesariuszy.
Każdy członek zespołu wnosi swoją wiedzę specjalistyczną do projektu i może pomóc określić, jakie kryteria mają sens dla danego obszaru wiedzy. Jeżeli twój zespół składa się z niewłaściwych członków lub pominiesz kluczowych członków zespołu, kryteria DoD mogą nie być odpowiednio wyczerpujące, czego skutkiem jest produkt niespełniający norm.
2. Ustal kryteria
Najtrudniejszym zadaniem przy definiowaniu „ukończenia” jest ustalenie kryteriów, które zespół wykorzysta w projekcie. Ustalenie kryteriów DoD ma kluczowe znaczenie, ponieważ wpłyną one na jakość wykonanej pracy.
Skąd będą wiedzieć, czy każdy komponent projektu jest ukończony? Jakie warunki będą wskazywać, że dany przyrost produktu został ukończony? Kryteria muszą być skonkretyzowane, mierzalne, osiągalne, istotne i określone czasowo. Aby wybrać odpowiednie kryteria, zespół musi zadać sobie dwa ważne pytania:
- Czy kryteria są wystarczająco skonkretyzowane? Unikaj niejasności (cały kod został przetestowany); określ wszystko jasno (cały kod został dokładnie przetestowany za pomocą testów jednostkowych, integracyjnych i kompleksowych).
- Czy kryteria są skoncentrowane na kliencie? Dobrym przykładem wytycznych jest „Cała dokumentacja jest spisywana i aktualizowana”. To powinno ułatwić użytkownikom końcowym znalezienie wskazówek podczas korzystania z produktu.
„Pamiętaj, że definicja ukończenia to nie to samo, co kryteria akceptacji. DoD to zestaw działań, które według zespołu należy wykonać, aby można było określić historyjkę użytkownika jako ukończoną (co może obejmować kryteria akceptacji). Natomiast to nie to samo, co powiedzenie, że historyjka użytkownika została poprawnie wdrożona” — wyjaśnia Cruth.
3. Stwórz listę kontrolną ukończenia
Kryteria definicji ukończenia mogą wydawać się bardziej odpowiednie dla zespołów pracujących nad większymi projektami, jednak zespoły pracujące nad mniejszymi zadaniami, zgłoszeniami lub błędami mogą zastosować te same koncepcje, aby utworzyć mniej obszerną listę kontrolną ukończenia. Lista kontrolna ukończenia dla każdego zadania lub zgłoszenia może zapewnić, że zespół konsekwentnie wykonuje pracę wysokiej jakości.
4. Przypisywanie kryteriów akceptacji do historyjek użytkowników
Kryteria akceptacji (AC) odnoszą się do warunków, które muszą spełniać historyjki użytkowników, aby były akceptowalne dla klientów. Różnią się od kryteriów DoD, ponieważ dotyczą funkcji lub historyjek użytkowników, a nie przyrostów produktów.
Zarówno DoD, jak i AC są uzgodnionym zestawem kryteriów, które określają, czy historyjka użytkownika lub indywidualne zadanie zostały ukończone. Jeżeli na przykład historyjka użytkownika brzmi: „Jako użytkownik chcę móc użyć pola wyszukiwania, aby znaleźć produkt, którego szukam”, kryteria akceptacji mogą obejmować:
- Pole wyszukiwania znajduje się na górnym pasku nawigacji.
- Wyszukiwanie rozpoczyna się po dotknięciu przycisku „Szukaj”.
Pole wyszukiwania zawiera szary tekst zastępczy z napisem „Czego szukasz?”.
5. Zmieniaj i aktualizuj DoD
DoD nie jest dokumentem statycznym. Każdy błąd znaleziony podczas sprintu jest problemem jakości, który mogła wywołać niejasna definicja ukończenia. Aktualizacja DoD staje się wtedy kluczowa, aby błąd się nie powtórzył.
„Definicją ukończenia powinien być dokument dynamiczny. Oznacza to, że gdy zespół dowie się czegoś nowego o swojej pracy, powinien aktualizować DoD. Rozważ przeglądanie DoD co kwartał, aby mieć pewność, że zawiera wszystkie elementy, które uważasz za niezbędne” — dodaje Cruth.
Zmieniaj i aktualizuj DoD podczas przeglądów sprintów, aby wytyczne pozostały istotne dla projektu. W miarę ewolucji projektów i zdobywania przez zespoły informacji o wymaganiach klientów kryteria DoD mogą również wymagać rewizji, aby były możliwe do osiągnięcia. Upewnij się, że członkowie zespołu mogą sugerować zmiany w DoD podczas przeglądów sprintów lub spotkań poprawiających backlog.
Dobrze sformułowana definicja ukończenia dzięki systemowi Jira
System Jira ułatwia utworzenie definicji ukończenia zespołom programistycznym. Można utworzyć pola niestandardowe lub pobrać rozszerzenie, aby przygotować listy kontrolne dla każdego zgłoszenia Jira. Można utworzyć inną definicję ukończenia dla różnych typów prac, dostosowując typy zgłoszeń Jira.
Systemowi Jira zaufały miliony wydajnych zespołów Agile, ponieważ obsługuje wszystkie ich potrzeby związane z zarządzaniem programem i projektami, od planowania Agile po codzienne spotkania stand-up i nie tylko. Wypróbuj bezpłatnie.
Definicja ukończenia: często zadawane pytania
Kto jest odpowiedzialny za stworzenie definicji ukończenia?
DoD zazwyczaj tworzy zespół programistów kierowany przez Scrum mastera. Należy się jednak konsultować z właścicielami produktów, testerami i innymi interesariuszami.
Jaka jest różnica między definicją ukończenia a kryteriami akceptacji?
DoD to zestaw wysokopoziomowych kryteriów, które określają, czy przyrost produktu jest ukończony. Dotyczy on wszystkich przyrostów produktu i określa jego ogólną jakość.
Z kolei kryteria akceptacji to niskopoziomowe warunki, które mają zastosowanie tylko do określonych funkcji lub historyjek użytkowników. AC określa, czy historyjka użytkownika jest akceptowalna dla klienta. Przykładowym kryterium DoD może być „Cała dokumentacja jest spisywana i aktualizowana”. Przykładem kryterium AC może być „Łącze do dokumentacji użytkownika jest dostępne z menu nawigacyjnego”.
Jakie są najlepsze praktyki tworzenia definicji ukończenia?
Zdefiniuj kryteria ze swoim zespołem: określanie DoD powinno być wspólnym wysiłkiem, który angażuje cały zespół, w tym programistów, testerów, właścicieli produktów i odpowiednich interesariuszy. Tworzenie DoD zapewnia wspólne zrozumienie tego, co to znaczy, że przyrost produktu jest ukończony.
Zachowanie widoczności: Definicja ukończenia powinna być dostępna i widoczna podczas planowania sprintu lub gdy toczą się dyskusje na temat szacowania elementów backlogu produktu. Zespół powinien być w stanie regularnie się do niej odnosić. Wydrukuj ją i zawieś na ścianie lub dołącz do strony wiki bądź planu projektu.
Praktyczność i realistyczność: Definicja ukończenia powinna być osiągalna w określonych ramach czasowych i przy użyciu dostępnych zasobów. Co ważniejsze, powinna odpowiadać na faktyczne potrzeby klientów.