Zostałem mistrzem scrum w nowo powstałym zespole, który jest odpowiedzialny za tworzenie oprogramowania ORAZ utrzymywanie innych wdrożonych aplikacji. Zasadniczo każdy członek zespołu ma zadania rozwojowe i operacyjne.
Obserwowałem ich działanie w ciągu ostatnich kilku tygodni i zauważyłem, że zespół ma problemy z koordynacją tych zadań. gdy programista koncentruje się na kodowaniu, zostaje mu przerwane, aby rozwiązać problem podniesiony w produkcji, i ciężko jest mu skoncentrować się na poprzednim zadaniu.
Próbowałem przeznaczyć% czasu programisty na prace operacyjne, ale najwyraźniej nie rozwiązuje to problemu. Chciałbym usłyszeć od mistrzów scrum, którzy wcześniej spotkali się z tą sytuacją, jak sobie z tym poradziłeś i jakie są twoje rekomendacje?
źródło
Odpowiedzi:
Ten problem jest tak stary jak Scrum. Jest rozwiązanie, ale ci się nie spodoba.
Umieszczenie programistów w więcej niż jednym scrumie, posiadanie dwóch osobnych zaległości lub przydzielenie tylko procentu ich czasu do sprintu, wszystko działa przeciwko temu, co scrum próbuje osiągnąć, tj. Konsekwentnemu przepływowi ukończonych zadań.
Jeśli spróbujesz tego typu rzeczy, w zasadzie wrócisz do metodologii rozwoju „chaosu” lub „JFDI” ze wszystkimi towarzyszącymi temu problemami, np.
Oczywiście zwykła odpowiedź na tę radę brzmi: „Ale nie mogę tego zrobić! Firma potrzebuje tych błędów produkcyjnych, aby jak najszybciej naprawić!”
Ale to nie jest tak naprawdę prawda.
Jeśli naprawdę masz tyle faktycznych błędów, które wpływają na działalność firmy w takim stopniu, musisz stać się profesjonalistą i poprawić swoje testy. Po prostu pracuj nad błędami i automatycznymi testami, dopóki nie naprawisz ich wszystkich. Zatrudnij zespół kontroli jakości i wypróbuj wszystkie nowe wersje.
Bardziej prawdopodobne jest jedno z poniższych:
Błędy to problemy operacyjne, brak miejsca na dysku, brak DR, brak kopii zapasowych, brak przełączania awaryjnego itp. Uzyskaj zespół OPS.
Błędy polegają na tym, że użytkownicy nie rozumieją, jak powinien działać system „To się stało! Czy to błąd?”. Uzyskaj pomoc i szkol użytkowników, pisz dokumentację.
Strach przed cofnięciem. Uruchomiłeś nową funkcję, która coś zepsuła, nie próbuj spieszyć się z naprawą. Przywróć poprzednią wersję i umieść błędy w zaległościach.
źródło
Próbuję tutaj myśleć nieszablonowo.
Ponieważ może nie być możliwe, aby właściciel produktu zobaczył rzeczy po swojemu. Nadal mogą występować błędy krytyczne, które po prostu nie mogą się doczekać, spotykając się z klientami, w których potrzebna jest pomoc programisty itp., W których trzeba na chwilę usunąć jednego programistę ze sprintu.
Dlaczego nie spróbować tego przewidzieć i wykorzystać to dla własnej korzyści?
Będziesz potrzebować zespołu 5+, aby być może realistycznym.
Ale dlaczego nie wziąć jednego programisty na każdy sprint (obracanie się między programistami, każdy dostaje swoją kolej).
Ponieważ najprawdopodobniej nie ma wystarczającej liczby błędów, aby użyć pełnego programisty do poprawek, istnieją inne problemy lub zadania, które można wykonać.
Prędkość zespołu może wzrosnąć, stres może spaść, konflikty z zarządem mogą spaść, faktycznie masz czas na poprawę swojej wiedzy.
źródło
Skuteczne rozwiązanie do zarządzania wysiłkami programistów w przypadku naprawdę istotnych problemów produkcyjnych, z których korzystałem, to „podejście Batmana”.
Kosztownym aspektem odpowiedzialności za wsparcie produkcji przy opracowywaniu nowej funkcjonalności jest przełączanie kontekstu, więc powinieneś dążyć do ograniczenia tego.
Przy zakupie zespołu utwórz listę członków zespołu i przejdź przez nią, aby każdego dnia nowa osoba była uznawana za „Batmana” na spotkaniu stojącym i odpowiadała na istotne problemy produkcyjne tego dnia. Pozostała część zespołu może pozostać skoncentrowana na rozwoju bez konieczności zmiany kontekstu i wszyscy mają spory udział w bólu wsparcia. Z zespołem 5 osób, to jeden dzień w tygodniu, w którym programista może zostać przerwany, i 4 dni nieprzerwanego, przewidywalnego czasu programowania.
Ma to tę zaletę, że wiedza / doświadczenie są dzielone między zespół, więc nie masz jednej osoby odpowiedzialnej za naprawianie konkretnych problemów i stawanie się pojedynczym punktem awarii i sprawiedliwym podziałem problemów wsparcia.
źródło