Spis treści
Wstęp
W poprzedniej części artykułu opisaliśmy teorię zastosowania metodologii Agile w codziennej pracy przy dostarczeniu systemu zakupowego. Poniższy tekst nawiązuje przede wszystkim do praktycznego zastosowania techniki Scrum w rozwoju naszej platformy. Jakie korzyści otrzymuje Klient? Czy zauważa różnicę? I przede wszystkim, ile może na tym zyskać?
Dlaczego metodologia Agile?
Doświadczenie zdobywane z każdym wdrożeniem pozwalało nam nie tylko na ciągłe udoskonalanie produktu, lepsze dopasowanie go do potrzeb Klientów, ale także na efektywniejszą organizację pracy. Z czasem coraz więcej Klientów powierzało nam rozszerzenie oraz rozbudowywanie funkcjonalności systemowych, dopasowanych do specyficznych wymagań. W odpowiedzi na usprawnienie procesu prac deweloperskich przyszedł Agile a wraz z nim Scrum, który pozostał z nami już na dobre. Usystematyzowanie sposobu pracy, konkretne cele i terminy oraz bieżący monitoring działań sprawiły, że efekty stały się bardzo szybko widoczne.
Prace deweloperskie w Scrum – jak to działa?
Zaczynamy przede wszystkim od planowania – to pierwszy krok do sukcesu. Cały zespół bierze udział w określeniu oczekiwanego efektu oraz w definiowaniu zadań na najbliższe 2 tygodnie. Wybierane są cele realne i osiągalne. Ważne jest to, że cały teamu dokładnie wie, za co będzie odpowiedzialny i co powinien dostarczyć, aby prace osiągnęły oczekiwany rezultat.
Jako obrazujący przykład posłuży zaimplementowanie nowej funkcjonalności do systemu, którą jest dodanie filtra wyszukiwania dostawców po nazwie.
Zespół deweloperski przy planowaniu prac określa, w jaki sposób należy dodać funkcjonalność do systemu, kto posiada kompetencje do wykonania zadania oraz ile szacowanego czasu potrzebuje na wdrożenie jej do użytku. Poszczególne składniki zostają podzielone na taski, które są dokładnie opisane i przydzielone do danej osoby z zespołu. Za wsparcie merytoryczne zespołu odpowiada osoba pełniąca rolę Product Owner’a.
Następnym krokiem w Sprincie jest codzienne i krótkie spotkanie zespołu, tak zwane Daily, podczas którego deweloperzy na bieżąco omawiają realizowane zadania oraz postępy w procesie. To także czas na wzajemne wsparcie.
Pod koniec drugiego tygodnia prac, zespół deweloperski ponownie spotyka się, aby przeanalizować napotkane trudności oraz ewentualne niepowodzenia w trakcie trwania bieżącego Sprintu. Pozwala to na udoskonalenie pracy zespołu w kolejnym Sprincie.
Proces prac nad funkcjonalnością kończy się zgodnie z harmonogramem Sprintu, zazwyczaj po 2 tygodniach. Zespół podsumowuje dostarczony przyrost prac i ocenia efekt. Jeśli w ciągu Sprintu udało się zrealizować założenia i dostarczyć daną funkcjonalność, to w kolejnym Sprincie zespół skupia się na kolejnym konkretnym zadaniu. Jeśli nie, to w zależności od krytyczności zadania, jest one z powrotem umieszczane w backlogu lub wybierane do realizacji w przyszłym Sprincie.
Z perspektywy Klienta – jakie ma z tego korzyści?
Niektórzy mogą zadać pytanie, czy Klient w ogóle zauważył różnicę w zmianie naszego podejścia i pracy… Odpowiedź jest bardzo prosta: TAK! Dlaczego? Bo to on przede wszystkim czerpie korzyści ze zmiany sposobu naszej pracy deweloperskiej.