Niedawno dołączyłem do młodej hackerspace, która wciąż się przygotowuje. Mamy szczęście, ponieważ przestrzeń ma kilka wewnętrznych projektów, nad którymi trzeba pracować i nie brakuje ochotników do pracy nad nimi.
Odbyło się kilka dyskusji na temat organizacji tych projektów. Moje ostatnie doświadczenie zawodowe związane było ze Scrumem, więc rozważam zastosowanie podejścia Scrum w naszych projektach programowych, ale nie jestem pewien, czy będzie dobrze dopasowane.
Chociaż widziałem, jak Scrum działa dobrze w przypadku małych, pełnoetatowych zespołów, charakter tej organizacji jest inny:
- Członkowie są wolontariuszami . Niektórzy są studentami stacjonarnymi. Inni pracują na pełny etat. Nie możemy oczekiwać od nikogo stałego poziomu wkładu, ponieważ ich prawdziwe życie ma priorytet.
- Podczas gdy prawie wszyscy mają wieloletnie doświadczenie w pisaniu oprogramowania, niewielu członków uczyniło to profesjonalnie lub w zespołach.
- Nie ma właściciela produktu . Wymagania dotyczące tych projektów określa komitet. Członkowie tego komitetu będą również pracować nad wdrożeniem. Oznacza to, że nie będziemy mieć jednego, dedykowanego właściciela produktu.
- Nie mamy terminów (miękkich lub twardych). Projekty zostaną ukończone, gdy zostaną ukończone.
Są to dość znaczące różnice, ale nie jestem przekonany, że będą blokować stosowanie Scruma. Myślę, że drobne poprawki mogą nas pokonać w tej przeszkodzie:
- Jeśli zmienimy Sprinty, aby mieć ustalony rozmiar fabuły, ale czas trwania płynów (czas), nadal będziemy mogli korzystać z iteracyjnych wersji bez wywierania nierealistycznej presji dostarczania na deweloperów ochotników.
- Możemy porzucić wykresy zużycia i obliczenia prędkości . Jeśli dobrze rozumiem, są to narzędzia i wskaźniki, które działają jako pomost między zespołem programistów a zarządem. Służą do zgłaszania postępów w formie, która ma znaczenie zarówno dla programistów, jak i interesariuszy. Biorąc pod uwagę, że nie mamy nikogo, z kim można by się zgłaszać (brak Kierownika Projektu, Właściciela Produktu i zewnętrznych interesariuszy). Uważam, że możemy to całkowicie pominąć.
Rzeczy, które, jak sądzę, moglibyśmy czerpać, nie wymagały poprawiania:
- Wymagania Zbieranie Meeting (S). Tam, gdzie wszyscy siedzą przy stole i omawiają Historie użytkowników, szkicują kpiny z interfejsu użytkownika i tworzą Backlog produktu.
- Retrospektywy Sprint . Będzie to dla nas interesujący sposób na zbliżenie się do procesu rozwoju, który działa dla nas jako zespołu wolontariuszy.
Czego nie jestem pewien:
- Jak należy traktować codzienne stand-upy ? Zastanawiam się, czy w naszym otoczeniu miałyby one jakąkolwiek wartość. Rozumiem rytuał stand-up, ponieważ pomaga on w komunikacji poprzez naturalne rozpowszechnianie informacji w całym zespole. Biorąc pod uwagę fakt, że nasze Sprinty zapewnią znacznie mniej złożoność niż przeciętny Sprint, być może będzie mniej potrzeby być na bieżąco z postępami / postępami innych członków zespołu.
- Czy powinienem naciskać na XP , takie jak ciągła integracja, recenzje kodów i TDD? Obawiam się, że będzie to wiele wymagać. Bardziej kusiłbym, aby wprowadzić te koncepcje w przyszłych projektach, gdy ludzie będą bardziej zaznajomieni ze Scrumem i pracować jako zespół.
Moje pytania:
Czy Scrum można dostosować do środowiska opartego na wolontariacie?
I czy moje planowane podejście idzie jak dotąd we właściwym kierunku?