Pracuję nad projektem luźno zgodnym z modelem scrum.
Wyjaśnij: Twoi menedżerowie prawdopodobnie powiedzieli ci o Scrumie, ale to, co robisz, nie jest Scrumem.
Jak długo to zazwyczaj trwa?
Spotkanie przeglądowe Sprint + spotkanie retrospektywne Sprint kończy bieżący sprint. W krótkich sprintach powinni zająć od 30 minut do 1 godziny razem. Następny dzień roboczy rozpoczyna nowy sprint od spotkania 1 i 2. w sprawie planowania sprintu. W zależności od wielkości zespołu i długości sprintu spotkanie może potrwać 2–4 godziny.
Czy powinien być zaangażowany cały zespół?
Cały zespół musi uczestniczyć w spotkaniach wymienionych w poprzedniej odpowiedzi.
Czy musi to zakończyć się, zanim programiści zaczną pracę nad kolejnymi przedmiotami sprintu?
Tak, ponieważ do czasu zakończenia spotkania przeglądowego nie wiesz, czy klient zaakceptuje wynik poprzedniego sprintu i nie wiesz, jakie historie użytkowników zostaną zaangażowane w planowanie spotkań.
Czy to wtedy, gdy odbywa się przegląd i testowanie kodu?
Nie. Przegląd i testowanie kodu jest częścią sprintu. Programiści muszą zrobić wszystko, aby dostarczyć działający kod spełniający wymagania. Może to obejmować przeglądy kodu i zawsze musi obejmować pewien rodzaj automatycznych testów sprawdzających poprawność działania kodu i działania tego, co powinno, w przeciwnym razie historia użytkownika nie może zostać uznana za wykonaną.
Główna zmiana mentalna dotyczy QA. Wielu programistów uważa, że kontrola jakości ma na celu sprawdzenie, czy kod działa i robi to, co powinien. Zdecydowanie nie. To jest praca programisty.
Kontrola jakości powinna uczestniczyć w opracowywaniu produktu. Ich głównym obowiązkiem podczas sprintu powinna być komunikacja z właścicielem produktu i stworzenie automatycznych testów akceptacyjnych dla kryteriów akceptacji (definicja ukończenia), które potwierdzą, że historia użytkownika została naprawdę wykonana, a aplikacja spełnia wszystkie nowe wymagania. W małych zespołach może to być również odpowiedzialność programistów.
Kontrola jakości powinna również przeprowadzić ręczne testy, aby zachować spójność produktu i odkryć brakujące funkcje, zweryfikować wrażenia użytkownika z interfejsu użytkownika itp. Kontrola jakości nie polega na poszukiwaniu błędów i testowaniu regresji - testy regresji powinny być wysoce zautomatyzowane.
Z mojego doświadczenia wynika, że większość firm przechodzących na agile nie działa.