Poznajcie pewną historię…
W końcu nadszedł ten dzień. Po długich, męczących rozmowach rekrutacyjnych dostałeś wymarzoną pracę, w której będziesz mógł spełniać się zawodowo.
Wszystko pięknie – jedyną niedogodnością jest to, że Twoje nowe miejsce pracy, lśniący biurowiec, znajduje się na drugim krańcu miasta. Wiesz, że musisz pokonać wiele kilometrów, aby tam dotrzeć. Już od miesiąca wyobrażasz sobie i planujesz jak będzie wyglądał Twój samochód marzeń. Każdy dzień spędzasz na wybieraniu jego konfiguracji. Od marki i modelu, poprzez kolor, wzór felg i kolor tapicerki, aż po kolor dywaników i logo na zapalniczce samochodowej. Składasz zamówienie i czekasz, bo jego produkcja potrwa kilka miesięcy.
W międzyczasie nadszedł w końcu dzień, kiedy po raz pierwszy musisz pojawić się w biurze. Co robisz? Nic, zostajesz w domu i czekasz aż wyprodukują Twój samochód. Tak mijają pierwszy, drugi, trzeci i kolejne dni, kiedy powinieneś być w pracy. A Ty nadal siedząc w domu, czekasz na dostawę Twojego nowego samochodu, aby móc dostać się do biura. Po miesiącu czekania, jest! Pod Twoim domem stoi piękne, lśniące auto.
Następnego dnia ruszasz do pracy. Doceniasz, jak świetnie dobrałeś kolor tapicerki, aby podkreślał kolor Twoich oczu. Dojeżdżasz do biura, a tam nie ma gdzie zaparkować! Nie przewidziałeś, że pod biurowcem może nie być parkingu. Krążysz po okolicy, parkujesz samochód kilkaset metrów dalej, pędzisz do biura, bo przecież od miesiąca na Ciebie czekają. Wpadasz zdyszany i co? Kierownik zniecierpliwiony czekaniem na Ciebie, zatrudnił kogoś innego i to jemu da szansę na realizację marzeń.
Czym jest Waterfall?
Przyznasz, że historia brzmi dziwnie? Ale właśnie w ten sposób realizowanych do tej pory było wiele projektów.
Wiedząc (bądź raczej myśląc, że się wie) co chciałoby się osiągnąć czy zbudować, przygotowywano obszerną specyfikację projektu, dopinając w niej każdy szczegół.
Jak w historii powyżej, mając konkretną potrzebę przemieszczenia się z punktu A do B, wymyślono, że najlepiej będzie uczynić to skrzętnie skonfigurowanym samochodem. Następnie realizowało się projekt w oparciu o dokumentację, niejednokrotnie mając do czynienia z opóźnieniami. Gdy w końcu produkt trafiał na rynek, okazywało się, że nie trafia on w potrzeby rynku bądź jest do niego niedostosowany. Starałem się zobrazować to na przykładzie braku miejsca parkingowego.
Ostatecznie może nawet okazać się, że nie mamy już czasu wprowadzać zmian w projekcie. Nasza szansa na zaistnienie na rynku przepada, podobnie jak posada na stanowisku. Bardzo upraszczając, tak może wyglądać tradycyjny model kaskadowego zarządzania projektami (ang. waterfall), również informatycznymi.
To czego nie pokazałem w historii, to zmieniające się otoczenie i warunki w których przyszło nam realizować projekt. Mając zatwierdzoną specyfikację, zakres i koszty, bardzo rzadko wprowadzało się w tym sposobie realizacji zmiany w projekcie, który już się toczył, aby dostosować się do zmieniającego się świata wokół. Zamiast tego koncentrowano się na realizacji założonego wcześniej planu.
Czas na Agile i scrum
Skoro widzimy, że coś tu nie gra, to dlaczego nie zrobić tego inaczej? W ten sposób, w odpowiedzi na potrzeby coraz dynamiczniej zmieniającego się w dzisiejszych czasach otoczenia, powstały zwinne metodyki zarządzania projektami (ang. Agile project management).
Kładą one nacisk na iteracyjne, czyli przyrostowe wytwarzanie wartości biznesowej. Mowa tu o zaspokajaniu potrzeb, uwzględniając jednocześnie zachodzące zmiany oraz weryfikując z klientem czy podążamy w dobrym kierunku. Wśród metodyk zwinnych najczęściej do tej pory mogłeś słyszeć o metodyce Scrum i jego użyteczności w zespołach wytwarzających oprogramowanie. Przykładami innych technik zwinnych są Extreme Programming oraz Feature-Driven Development (FDD).
Czym jest Scrum?
Scrum można określić jako ramy, zbiór dobrych praktyk, które mają pomóc zespołowi wytworzyć produkt zgodny z oczekiwaniami, a przede wszystkim, spełniającym rzeczywiste potrzeby klienta. Należy przy tym pamiętać, że zmieniać się mogą zarówno same potrzeby, jak i rzeczywistość okołobiznesowa, np. obecność konkurencji czy wymogi prawne.
Czym są dobre praktyki, o których mówi Scrum?
To ustalenie stałego okresu (np. 2 lub 3 tygodnie) tzw. Sprintu, w którym zespół zobowiązuje się do dostarczenia pewnych funkcjonalności. To potrzeba cyklicznego weryfikowania z klientem osiągnięć zespołu podczas tzw. Review. To planowanie dalszych prac podczas spotkania, które nazywamy planowaniem (Planning).To wyciąganie wniosków i formułowania akcji do zastosowania w przyszłości, aby sprawniej dostarczać oprogramowanie podczas retrospekcji (Retrospective). Jeśli znajome jest Ci pojęcie cyklu Deminga, określanego też jako cykl PDCA (ang. Plan-Do-Check-Act), to z pewnością widzisz tutaj analogie.
Sprawdź nadchodzący kurs Machine Learning z trenerem na ŻYWO