W drodze na kolejne spotkanie Agile w ramach planowania kwartalnego w pracy uzmysłowiłam sobie, że ja również pracuję nad projektem długoterminowym. Buduję dom. Tworzenie oprogramowania i budowanie domu nie różnią się od siebie aż tak bardzo — w obydwu przypadkach chodzi o projekty długoterminowe wymagające skoordynowania działań wielu zespołów, które, co potwierdzi każdy posiadacz domu, nigdy nie są w pełni ukończone. Zawsze można wprowadzić ulepszenia, coś zawsze się psuje, a trendy rynkowe ulegają zmianom. Bez planu narażasz się na potencjalne blokery lub ryzyko, że wiecznie będziesz „wprowadzać się za dwa miesiące”.
Tym, co wyróżnia proces tworzenia oprogramowania, a co można również wykorzystać przy budowie domu, jest metodyka Agile. Umożliwia ona wielu zespołom szybkie reagowanie na zmiany. Jak zatem połączyć metodykę Agile, która opiera się na częstym, ciągłym dostarczaniu, z długoterminowym planowaniem w szerszym kontekście? Czy da się opracować realistyczną prognozę długoterminową, wiedząc, że jedyną stałą jest zmienność?
Jak połączyć planowanie długoterminowe i metodykę Agile
Bez względu na to, na którym etapie wdrażania podejścia Agile jesteś, czy stosujesz metodykę Kanban, czy Scrum, a może dopiero zaczynasz przygodę z Agile na dużą skalę, przy planowaniu długoterminowej wizji strategicznej wciąż musisz zarządzać ludźmi, pracą oraz czasem. W przypadku prac nad oprogramowaniem trudno jest nakreślić wizję, dysponując odizolowanymi narzędziami, takimi jak wykresy Gantta, arkusze kalkulacyjne i niestandardowe zestawy narzędzi do zarządzania portfelem projektów (PPM). Albo, jak w przypadku moich wykonawców, kombinacja arkusza kalkulacyjnego, wiadomości e-mail i SMS-ów, która od razu okazuje się niepraktyczna.
Zanim porozmawiamy o dynamicznych rozwiązaniach z zakresu prognozowania, przyjrzyjmy się krokom pozwalającym na zbudowanie długoterminowego planu Agile, zgodnie z metaforą budowy domu:
Krok 1. Rozpocznij od spojrzenia z szerszej perspektywy.
Niezależnie od tego, czy chodzi o dom, czy produkt, trzeba zdefiniować wizję oraz nakreślić tematy strategiczne. Tematy można potraktować jako obszary zainteresowania na poziomie całej organizacji. Na czym chcecie się skoncentrować w kolejnym kwartale, półroczu, roku? Na co chcecie poświęcić czas i zasoby? Wydajność, środowisko użytkownika, bezpieczeństwo, nowe, konkurencyjne funkcje (może wanna z hydromasażem?), a może kombinacja wszystkich tych elementów?
Ja naturalnie chciałam wszystkiego, jednak zawsze trzeba się liczyć z dwoma nieprzyjemnymi sprawami, jakimi są czas i pieniądze. Wyznaczenie tematów o wysokim priorytecie ułatwia poświęcenie czasu i energii na wykonanie kilku zadań naprawdę dobrze.
Krok 2. Zidentyfikuj najistotniejsze kwestie.
Przykładowo w ramach tematu bezpieczeństwa należałoby zbudować nowe fundamenty, z pełnymi ścianami na szkielecie, drzwiami z litego drewna i podwójnymi szybami w oknach.
Krok 3. Podziel na mniejsze części.
Jakie zatem prace trzeba wykonać, aby zamontować nowe, bezpieczne okna? Podziel prace wymagane do zrealizowania większej inicjatywy na łatwiejsze do wykonania fragmenty, takie jak epiki, które mogą okazać się pomocne podczas kwartalnego planowania Agile. Zapewni to szczegółowy wgląd we wszystkie kroki wymagane do ukończenia podjętej inicjatywy.
Trzeba na przykład zdemontować stare okna, kupić nowe, wstawić je i ulepszyć ich wygląd, stosując rolety lub firany. Te elementy prac weszłyby w skład backlogu.
To z kolei pomoże zrealizować kolejny, najważniejszy etap w tym procesie planowania: szacowanie.
Krok 4. Przygotuj oszacowanie.
Gdy praca zostanie podzielona na mniejsze fragmenty, potrzebne będzie zgrubne oszacowanie czasu w celu sporządzenia harmonogramu. Harmonogram jest planem działania odzwierciedlającym rozwój produktu lub rozwiązania w czasie. Jest on potrzebny do zrozumienia momentu wystąpienia przełomowych zdarzeń oraz ich kolejności.
Na tym etapie zaczyna się liczyć doświadczenie wykonawcy (lub menedżerów produktu czy prac programistycznych). Biorąc pod uwagę podobne zadania realizowane w przeszłości, można z dużym prawdopodobieństwem określić czas potrzebny do ukończenia epiku.
Szacowanie wymaga wiedzy na temat dotychczasowych przebiegów realizacji poszczególnych epików, dlatego tym ważniejsze jest przechowywanie informacji w jednym miejscu. Dzięki temu znacznie łatwiej sięgać wstecz i szacować dokładniej. Mój wykonawca korzysta z własnego doświadczenia, ale co będzie, jeśli o czymś zapomni, albo jeśli doświadczenia innego wykonawcy będą odmienne?
Później gotową wersję harmonogramu przedstawisz zespołowi (programistom, monterom okien itp.), którzy dopracują zakres z jeszcze większą dokładnością.
Krok 5. Opracuj inteligentne wydania.
W przypadku programowania Agile zespoły zasadniczo dostarczają działające oprogramowanie w formie wydania (lub wersji) pod koniec każdego sprintu. Jednak w przypadku planowania i tworzenia harmonogramów na dłuższą metę trzeba wyznaczyć pewne orientacyjne punkty wydawania, aby móc oszacować daty wydań w kolejnym kwartale za pomocą kwartalnego planowania Agile. Jest nim np. „stan deweloperski”, który stanowi połączenie inicjatywy wstawienia bezpiecznych okien z postawieniem szkieletu budynku, malowaniem, wykonaniem izolacji itp.
Jednostki pracy w backlogu pogrupuj według funkcji, które są podobne, których połączenie ma największy sens lub które dostarczają klientom korzyść jako całość. Pamiętaj również, że wydania zależą wyłącznie od zakresu, a nie od ścisłych terminów.
Krok 6. Wygeneruj harmonogram.
Masz już oszacowany backlog, wydania oraz zespoły o określonej prędkości. W tradycyjnym trójkącie planowania występują trzy zmienne: zakres (to, co chcesz zrobić), czas (jak długo zajmie zrobienie tego) oraz zasoby (kto może to zrobić). Masz już zatem wszystko, czego potrzeba do opracowania realistycznego harmonogramu. Nareszcie Twój wykonawca może poinformować Cię o przybliżonej rzeczywistej dacie wprowadzenia się!
Porada eksperta: w tym miejscu można wykorzystać narzędzie, takie jak osie czasu w Jira, które pozwala utworzyć realistyczny plan działań dla Twoich zespołów, podejmować decyzje w oparciu o dane i informować interesariuszy na bieżąco o postępach zespołu.
Krok 7. Podziel się z zespołem i przeprowadź weryfikację.
Weź swój nowy, wspaniały harmonogram z powrotem do zespołu, aby go zweryfikować. Niech zespół podzieli epiki na historyjki i możliwie jak najdokładniej oszacuje, ile czasu potrzeba na wykonanie prac. Być może pojawią się kolizje z harmonogramem Twoich dekarzy, a firmie odpowiadającej za fundamenty braknie betonu, na który trzeba będzie poczekać sześć tygodni. Uwzględnij te czynniki zewnętrzne, aby zweryfikować założenia i przygotować bardziej precyzyjne szacunki oraz dokładniejszą listę działań, wymaganych do ukończenia epików. Harmonogram należy również przedstawić kluczowym interesariuszom, zwłaszcza jeśli do realizacji określonych etapów wymagana jest zgoda z ich strony.
Krok 8. Stale ulepszaj.
W podejściu Agile, tak jak przy budowie domu, żaden projekt nigdy nie jest w pełni ukończony. Ciągłe dostarczanie wartości poprzez przyrostowe ulepszenia napędza innowacje i prowadzi do powstania niesamowitego domu. Wykorzystaj harmonogram jako źródło danych do optymalizacji kolejnych harmonogramów. Poproś klienta, lub członków rodziny, o opinie oraz często i regularnie przeprowadzaj testy i wprowadzaj ulepszenia.
Chcesz opracować plan działań, który pozwoli Ci zaprezentować długoterminową wizję? Plany w Jira oraz Jira Align zapewniają taką możliwość. Zapoznaj się z różnicami i wybierz rozwiązanie najbardziej odpowiednie dla swojej firmy.