Moja firma jest w trakcie przejścia od rozwoju w stylu wodospadu do Agile / Scrum. Mówi się nam między innymi, że oczekujemy, że pod koniec każdego dnia będziemy mieć nowe działające, testowalne (według QA) funkcje.
Większość naszych deweloperów traci około 2 godzin dziennie na spotkania i inne przedsięwzięcia biznesowe. Oznacza to, że w danym 6-godzinnym (co najwyżej) okresie musimy zaprojektować, napisać, przetestować jednostkę, zbudować i wdrożyć (z uwagami do wydania) wystarczającą ilość kodu, aby stworzyć pełną funkcję zapewniania jakości przez QA. Rozumiem, że informacje o kompilacji / wdrożeniu / wydaniu można zautomatyzować przy odpowiedniej konfiguracji CI, ale jeszcze tego nie ma.
Mamy również duży kontyngent morski, który pisze nasz kod po stronie serwera, a 12-godzinna różnica czasu czyni to jeszcze trudniejszym.
Staramy się wypowiadać historie w wąskie, głębokie pionowe segmenty, aby jak najszybciej uzupełniać funkcje od końca do końca, ale przez większość dni czuję się raczej szalony i często przyłapuję ludzi na głupich, delikatnych skrótach, aby upewnić się, że QA ma swoją wersję. Problem ten nasila się po kilku dniach sprintu, gdy nieuchronne usterki zaczynają się pojawiać i muszą zmieścić się w tym samym 6-godzinnym oknie.
Czy to normalne tempo dla zespołów Agile? Nawet jeśli uda nam się wdrożyć konfigurację CI, nie widzę, jak będziemy w stanie utrzymać to tempo i nadal tworzyć oprogramowanie wysokiej jakości.
Edycja: Jest tu kilka dobrych odpowiedzi. Uświadomiłem sobie, że tak naprawdę pytam, czy zespoły Agile powinny codziennie dostarczać nowe funkcje . Zaktualizowałem odpowiednio tytuł.