Kryteria jakości

Jakie standardy jakości musi spełnić ukończona praca?

Cały kod przeszedł przegląd i został zatwierdzony przez co najmniej jednego innego programistę.
Pokrycie testami jednostkowymi osiąga uzgodniony próg 80% lub więcej.
Nie ma otwartych błędów krytycznych ani o wysokim priorytecie.
Dokumentacja i komunikacja

Co trzeba udokumentować lub przekazać przed ukończeniem?

Dokumentacja dla użytkowników została zaktualizowana o wprowadzoną zmianę.
Informacje o wydaniu i wpisy w changelogu są kompletne.
Dokumentacja API uwzględnia nowe lub zmienione endpointy.
Testowanie i walidacja

Jak sprawdzamy, że praca naprawdę działa?

Wszystkie kryteria akceptacji z historyjki użytkownika zostały spełnione.
Testy manualne przeprowadzono na wszystkich wspieranych przeglądarkach i urządzeniach.
Właściciel produktu zweryfikował funkcjonalność przed zamknięciem zadania.
Wdrożenie i gotowość

Co musi być spełnione, by bezpiecznie wydać pracę?

Funkcjonalność jest wdrożona na produkcję lub ukryta za feature flagą.
Monitoring i alerty są skonfigurowane dla nowej funkcjonalności.
Istnieje plan wycofania zmian lub odtworzenia na wypadek problemów.

Czym jest Definicja ukończenia?

Zdarzyło się wam wydać coś, co potem okazało się nie do końca skończone? Definicja ukończenia (Definition of Done, DoD) to wspólna lista kryteriów, które każda praca musi spełnić, zanim ktokolwiek uzna ją za zakończoną. Dotyczy każdej historyjki użytkownika, funkcjonalności i przyrostu, dzięki czemu „zrobione” znaczy to samo bez względu na to, kto wykonał pracę. W Scrumie Definicja ukończenia wyznacza poziom jakości każdego przyrostu. Spisanie jej kończy spory „czy to już skończone?” podczas przeglądu i nie pozwala, by ukryta praca, taka jak brakujące testy czy dokumentacja, przechodziła na kolejny sprint. Ta sesja angażuje programistów, testerów, projektantów i właścicieli produktu we wspólne tworzenie listy, tak aby obejmowała kroki, o których każdy z nich wie, że często bywają pomijane. Tablica ma cztery kolumny: Kryteria jakości, Dokumentacja i komunikacja, Testowanie i walidacja oraz Wdrożenie i gotowość. Każdy dodaje kryteria, a następnie zespół grupuje je i głosuje, aby uzgodnić listę. Traktujcie wynik jako żywy dokument i wracajcie do niego, gdy zmieniają się wasze narzędzia i standardy. Więcej informacji znajdziesz w przewodniku Scrum.org po Definicji ukończenia.

Format współpracy Definicja ukończenia

Kryteria jakości

Jakie standardy jakości musi spełnić ukończona praca?

Wypiszcie techniczne i jakościowe kontrole, które musi przejść każda praca, na przykład code review, pokrycie testami, wydajność i standardy kodowania. Zapytaj: „Co dałoby nam pewność, że to nie zepsuje się na produkcji?”, aby wydobyć niespisane oczekiwania i uczynić je mierzalnymi.

Dokumentacja i komunikacja

Co trzeba udokumentować lub przekazać przed ukończeniem?

Omówcie, co trzeba spisać lub komu trzeba coś przekazać, zanim praca zostanie uznana za ukończoną. Zapytaj, kto powinien wiedzieć o zmianie i co powinno istnieć po jej wprowadzeniu. Zespoły często pomijają ten obszar, więc dopytaj o wcześniejsze braki.

Testowanie i walidacja

Jak sprawdzamy, że praca naprawdę działa?

Uzgodnijcie kontrole, które dowodzą, że praca robi to, co powinna. Wyjdźcie poza testy automatyczne i uwzględnijcie testy manualne, eksploracyjne i akceptacyjne, a także ustalcie, kto zatwierdza pracę i w jakim środowisku.

Wdrożenie i gotowość

Co musi być spełnione, by bezpiecznie wydać pracę?

Określcie, co musi być spełnione, zanim praca trafi na produkcję. Porozmawiajcie o wdrożeniu, monitoringu, planach wycofania zmian i o tym, kto będzie wspierał rozwiązanie po wydaniu. To wypełnia lukę między skończonym kodem a funkcjonalnością, z której ludzie naprawdę mogą korzystać.

Kiedy należy skorzystać z niniejszego przeglądu retrospektywnego

  • Gdy powstaje nowy zespół i od początku musi uzgodnić standardy jakości.
  • Gdy zadania są wciąż ponownie otwierane lub błędy trafiają na produkcję, co zwykle oznacza, że ludzie różnie rozumieją, jak wygląda „skończone”.
  • Przed rozpoczęciem nowego projektu, aby zespół uzgodnił poprzeczkę, zanim ruszy praca.
  • Podczas wdrażania nowych członków, którzy muszą poznać oczekiwania zespołu co do jakości.
  • Gdy retrospektywa pokazuje, że osoby w zespole różnie traktują ukończenie pracy.

Proponowane pytania lodołamacze

  • Gdyby „gotowe” miało osobowość, jaką by miało: perfekcjonisty, pragmatyka czy bohatera ostatniej chwili?
  • Jakie najbardziej zaskakujące odkrycie, że coś nie było jednak skończone, przydarzyło ci się kiedyś?

Czy chciałby Pan/Pani, aby Państwa zespół wykonał ćwiczenie rozgrzewkowe, a nie tylko odpowiadał na pytania na głos? Przejrzyj bezpłatne lodołamacze →

Pomysły i wskazówki dotyczące spotkania retrospektywnego

  • Twórzcie Definicję ukończenia całym zespołem, aby każdy czuł się jej współwłaścicielem. Nie pozwólcie, by pisała ją jedna osoba.
  • Dbajcie o realistyczne kryteria. DoD, której zespół nigdy nie spełnia, zostanie zignorowana.
  • Formułujcie każde kryterium na tyle konkretnie, by dało się je sprawdzić i nie było sporów, czy zostało spełnione.
  • Wracajcie do niej co kilka sprintów, gdy zmieniają się wasze standardy i narzędzia.
  • Przed dyskusją grupową dajcie każdemu czas na samodzielne dodanie pomysłów, aby cichsze osoby też miały swój wkład.
  • Oddzielajcie ją od kryteriów akceptacji. DoD dotyczy całej pracy, a kryteria akceptacji odnoszą się do jednej historyjki.

Najczęściej zadawane pytania

Czym jest Definicja ukończenia w agile?
To wspólna lista kryteriów, które każda praca musi spełnić, zanim zespół uzna ją za zakończoną. Daje wszystkim ten sam poziom jakości i kończy spory o to, co znaczy „skończone”.
Czym Definicja ukończenia różni się od kryteriów akceptacji?
Definicja ukończenia dotyczy każdego elementu pracy. Kryteria akceptacji należą do jednej historyjki użytkownika i opisują, co ta historyjka ma robić. Praca jest ukończona dopiero wtedy, gdy spełnia jedno i drugie.
Kto powinien uczestniczyć w tworzeniu Definicji ukończenia?
Cały zespół, w tym programiści, testerzy, projektanci i właściciel produktu. Ludzie przestrzegają standardu, który pomogli stworzyć, a każda rola wie, co w jej obszarze bywa pomijane.
Jak często powinniśmy aktualizować Definicję ukończenia?
Przeglądajcie ją co kilka sprintów, często podczas retrospektywy, albo gdy zmieniają się wasze narzędzia lub umiejętności. Dodawajcie kryteria, gdy zespół jest w stanie je spełnić.
Ile czasu zajmuje stworzenie Definicji ukończenia?
Pierwsza sesja trwa zwykle od 45 do 90 minut, w zależności od wielkości zespołu i tego, na ile zespół jest już zgodny. Kolejne przeglądy są znacznie krótsze.
Czy są Państwo gotowi do przeprowadzenia tej retrospektywy?Zapraszamy do obejrzenia tej retrospektywy na żywo