Sprint vs kaskada. Co sprawdzi się lepiej przy tworzeniu projektu

18 Wrz 2019

Piotr Burakowski
Piotr Burakowski
Dziennikarz biznesowo-technologiczny, publikuje od 2006 r. Redaktor prowadzący The Story Journal. Interesuje się wpływem nowych technologii na rynek pracy i kondycję ludzką. Napisz do autora: piotr.burakowski@thestory.pl

Sprint wywodzi się z „Manifestu Agile” – idei zwinnego zarządzania firmą, która formalnie narodziła się w 2001 r. w Snowbird, gdzie spotkało się 17 przedstawicieli amerykańskich przedsiębiorstw programistycznych. Razem ustalili, jak miałby wyglądać opis, który składałby się na metodyki zwinności.

Powstała zwięzła lista zasad, którymi warto się kierować. Pokazała ona, że sposób zarządzania, który wymusza model kaskadowy, nie zawsze sprawdza się najlepiej.

Jak brzmi manifest? Wskazuje on, że od procesów i narzędzi bardziej ceni się ludzi i interakcje. Poza tym od szczegółowej dokumentacji ważniejsze jest działające oprogramowanie, od negocjacji umów współpraca z klientem, a od realizacji założonego planu reagowanie na zmiany.

Uniwersalny „Manifest Agile”

Dodajmy, że „Manifest Agile” jest uniwersalny – możemy odnieść go do różnych dziedzin życia, nie zaś tylko do tworzenia produktu cyfrowego. Choć pamiętajmy, że jego podstawowa myśl wyraża się w tym, że w organizacjach pojawiają się dysfunkcje, które utrudniają pracę i powodują, że jednostki nie wykorzystują w pełni swego potencjału.

Dlatego nic dziwnego, że z „Agile” korzystają nie tylko firmy, które zajmują się programowaniem. Przykładem jest powstałe w styczniu 2018 r. wrocławskie studio MIXD. Firma projektuje wnętrza komercyjne: restauracje, hotele, sieci handlowe czy biura, w tym dla amerykańskiego sektora IT.

Metodyka Agile gwarantem sukcesu?

Przychody przedsiębiorstwa już po parunastu miesiącach od startu wzrosły o 230 proc. – osiągnięto wynik kilku milionów złotych. Założyciel MIXD, Piotr Kalinowski, przyznał, że sukces to m.in. efekt działania w duchu metodyki „Agile”.

…z „Agile” korzystają nie tylko przedsiębiorstwa, które zajmują się programowaniem.

Owszem, w MIXD powstają wizja i plan, które są charakterystyczne dla kaskady, ale oba elementy odnoszą się tylko do tego, o czym wiadomo, że na pewno się nie zmieni.

W efekcie wrocławskie przedsiębiorstwo podczas prac tworzy m.in. mapę drogową produktu, punkty milowe, składające się na okresy od jednego do trzech miesięcy, a także sprinty. Klucz stanowi zaś ciągła współpraca z klientem, co sprawia, że produkt jest udoskonalany według jego potrzeb.

Zwinne zarządzanie nie sprawdzi się jednak we wszystkich firmach. Będzie zwłaszcza problemem w tych organizacjach, gdzie ludzie unikają odpowiedzialności. Początkowy entuzjazm związany z nową metodą zarządzania zastąpi ponowne zatopienie się w kontraktach i dokumentacji.

Metodyka agile, z której korzysta MIXD
MIXD to polska firma, która przy projektowaniu wnętrz korzysta z metodyki „Agile”. | Fot. Facebook.com / MIXD

Sprint jako element „Agile”

Jednym z elementów charakterystycznych dla „Agile” jest sprint, czyli maksymalnie czterotygodniowy etap prac nad projektem, który planujemy, pamiętając o uwzględnieniu budżetu. Naszym zadaniem jest osiągnięcie celu danego sprintu, a najważniejsze są potrzeby klienta. Pod koniec sprintu musimy osiągnąć jakiś konkretny efekt.

Sprint projektowy zaczyna się zaś od pomysłu, następnie mamy gotowy do użycia produkt, konsultacje z klientem, przegląd i retrospektywę. Pojęcie gotowego produktu zależy od definicji przyjętej przez zespół.

Przegląd oznacza zaś podjęcie decyzji dotyczącej tego, na co położyć nacisk w kolejnym sprincie. Retrospektywa to z kolei ocena zespołu, która pozwoli na usprawnienie jego pracy. Schemat zapętla się, aż osiągniemy wyznaczony cel.

Projektowanie zwinne Agile zawdzięcza dużo Jeffowi Sutherlandowi

„Agile” stworzono 25 lat temu w Dolinie Krzemowej, choć sama nazwa pojawiła się po raz pierwszy dopiero w „Manifeście Agile” (2001 r.). Ogromną rolę w tworzeniu zwinnego zarządzania odegrali m.in. Jeff Sutherland (patrz: zdjęcie), Jeff McKenna czy John Scumniotales.

Pięciodniowy Design Sprint

Mamy jeszcze pięciodniowy Design Sprint – wstęp przed Scrumem lub kaskadą. Jake Knapp, designer, który najpierw pracował w Microsofcie, a później dołączył do Google’a, zauważył, że zarządzanie projektami pozostawia w obu firmach wiele do życzenia. I to zarówno na poziomie komunikacji, jak i przechodzenia przez kolejne etapy projektu.

W 2012 r. Knapp rozpoczął pracę w Google Ventures, gdzie zapoczątkował wdrażanie idei sprawniejszego zarządzania projektami.

Jake Knapp twierdzi, że wypuszczenie na rynek okrojonej wersji produktu w celu sprawdzenia, czy stoi za nim potencjał, nie jest najlepszym pomysłem. Uważa, że lepiej, gdy zaoferujemy firmom dane zebrane na podstawie realistycznego prototypu.

W wypadku strony internetowej wystarczy, że przygotujemy serię slajdów w programie Keynote, które będą imitować wygląd witryny. Ciekawostka: Slack, Zalando czy Medium to przedsięwzięcia, w których tworzeniu ważną rolę odegrał właśnie Design Sprint.

Model kaskadowy

Przeciwieństwem trwającego maksymalnie cztery tygodnie sprintu jest model kaskadowy. Napisał o nim po raz pierwszy w 1970 r. Winston W. Royce. Chodzi o artykuł „Managing the Development of Large Software Systems” („Zarządzanie tworzeniem dużych systemów informatycznych”).

Urodzony w 1929 r. informatyk opisał sekwencyjne wykonywanie podstawowych czynności, składających się na kolejne stadium projektu. Winston W. Royce pisze, że zanim przejdziemy do kolejnej fazy, uprzednio potrzebne jest dokładne udokumentowanie i ukończenie poprzedniej.

W modelu kaskadowym wyróżniamy kilka etapów (faz) prac:

  • określanie wymagań – określamy szczegółowe wymagania wobec tworzonego systemu;
  • projektowanie – tworzymy dokładny projekt systemu, który spełni ustalone wcześniej wymagania;
  • implementacja – implementujemy projekt w konkretnym środowisku programistycznym, pamiętając o testach poszczególnych modułów;
  • testowania – integrujemy moduły, testujemy podsystemy i oprogramowanie;
  • konserwacja – pozwalamy, by z oprogramowania skorzystali użytkownicy, a następnie usuwamy błędy, dokonujemy zmian i rozszerzamy funkcje systemu.

Winston W. Royce stwierdza, że taka metodologia jest „ryzykowna i sprowadza kłopoty” oraz sprawdzi się wyłącznie w obszarze tworzenia oprogramowania – i to pod warunkiem wykonania wielu testów i przy dobrej znajomości potrzeb klientów.

Jednakże model kaskadowy okaże się dobry, kiedy zakres prac i wymagania są stabilne, a także znane już na początku projektu. Mając w planie wykorzystanie sprawdzonej, znanej nam i stabilnej technologii, zyskujemy dodatkowy argument za wykorzystaniem modelu kaskadowego.

Jego podstawowa zaleta opiera się na zmniejszeniu ryzyka niepowodzenia, ale tylko pod warunkiem, gdy mamy ograniczenia w umowie (czas wykonania, budżet itd.). Co więcej, kaskada pozwala zidentyfikować fundamentalne fazy rozwoju oprogramowania i uporządkować proces jego tworzenia. Przekłada się to na łatwiejsze planowanie i zarządzanie.

Największa wada kaskady dotyczy z kolei tego, że kolejne fazy są ściśle określone, co stanowi duże ograniczenie i czasem utrudnia realizację przedsięwzięcia. Pamiętajmy, że założenia projektu mogą się dynamicznie zmieniać, więc lepiej postawić na elastyczność.

Wykrycie błędów popełnionych w fazie testowania lub użytkowania będzie bowiem skutkować dużymi kosztami. Ponadto dostarczamy działający produkt dopiero na samym końcu, dlatego uzyskany efekt może odbiegać od tego, czego oczekiwał klient.

Model kaskadowy vs Sprint Agile
Jake Knapp jest autorem książki „Pięciodniowy sprint”. | Fot. YouTube.com / Talks at Google

Sprint a model kaskadowy

Przyjrzyjmy się teraz, jak sprawdzają się sprint oraz kaskada.

Zaangażowanie zespołu

Ci, którzy zetknęli się ze zwinnym zarządzaniem, twierdzą, że angażuje ono bardziej niż kaskadowe. Osoby zajmujące się projektem wpływają na jego kształt w kwestiach technicznych i organizacyjnych.

Regularne spotkania biznesowe z zarządem dają z kolei możliwość lepszego zrozumienia wizji produktu, potrzeb użytkowników i tego, dlaczego zapadła taka, a nie inna decyzja biznesowa. Lecz pamiętajmy, że potrzebujemy pracowników, którzy są nie tylko kompetentni i zmotywowani, ale i nie boją się samodzielności.

Członkowie naszego „teamu” są dodatkowo zmotywowani, ponieważ sprint sprawia, że czują się odpowiedzialni za sukces przedsięwzięcia.

Czas

Sprint jest etapem pracy, który trwa maksymalnie do czterech tygodni. W tym czasie osiągamy cel danego sprintu, gdzie najważniejsze są potrzeby klienta. Możliwy jest także pięciodniowy Design Sprint, podczas którego określamy pomysł i przygotowujemy prosty prototyp – stanowi on dobry wstęp do Scramu lub kaskady.

Model kaskadowy wiąże się ze stworzeniem dokładnego opisu tego, jak ma wyglądać system. Jest to mozolna praca dla wykonawcy, ponieważ taki dokument może składać się z dziesiątek stron, z kolei na zleceniodawcy spoczywa obowiązek zapoznania się z jego treścią.

Jej zrozumienie nie zawsze należy do najprostszych, bo zwykle jest to skomplikowana analiza. Ciągłe debatowanie i fakt, że cofnięcie się o krok podczas prac jest trudne dodatkowo spowalniają cały proces.

Elastyczność

Sprint pozwala na o wiele większą elastyczność niż model kaskadowy. Wynika to z tego, że podczas sprintu zespół cały czas współpracuje z klientem, a ponadto praca jest podzielona na jednorazowe krótkie etapy.

Naniesienie poprawek nie nastręcza tak dużych problemów jak w modelu kaskadowym, gdzie cofnięcie się do poprzedniej fazy w celu dokonania zmian bywa ogromnym problemem, nie wspominając już o wprowadzeniu modyfikacji w finalnym produkcie.

Efektywność

Ideą sprintu jest jak najbardziej efektywne działanie i dostosowanie się do zmian. Jake Knapp podczas jednego z wystąpień wspomina o pomysłach, które rodziły się w Google Ventures.

Okazało się, że często dana idea zostawała wdrożona dopiero po kilku latach, zaś innym razem nigdy nie zostawała zrealizowana, bo pomysł tracił z czasem na znaczeniu. Jest to typowe dla kaskady, gdzie mamy z góry określony zakres działania.

Pieniądze

Sprint jest o wiele bardziej elastyczny od modelu kaskadowego, dzięki czemu pozwala na dokonywanie zmian na bieżąco, podczas gdy kaskada jest mniej podatna na modyfikacje. Wprowadzenie jakichkolwiek zmian na finalnym etapie będzie o wiele bardziej kosztowne, poza tym może okazać się, że wraz z upływem czasu nasz pomysł po prostu nie ma już racji bytu.

Choć koszt wdrożenia zwinnej metody, której elementem jest sprint, okazuje się niewiele większy w porównaniu do innych metodologii programistycznych.

Komunikacja

W przeciwieństwie do modelu kaskadowego, sprint za wszelką cenę unika ciągłego debatowania, stawiając na szybką i efektywną komunikację. Nie chodzi o nieustannie trwające rozmowy, tylko szybkie znajdowanie rozwiązań.

Sprint a model kaskadowy - różnice
Sprint sprawia, że zespół jest bardziej zaangażowany w projekt. | Fot. publicdomainpictures.net

Plusy i minusy sprintu oraz kaskady

Na koniec prezentujemy zalety i wady sprintu oraz kaskady.

Zalety kaskady:

  • sprawdzi się w wypadku małych projektów z łatwymi do zrozumienia wymaganiami;
  • duża prostota zarządzania – wszystkie fazy mają własnych charakter, określone wyniki i proces przeglądu;
  • metoda jest łatwa do zaadaptowania, nawet jeśli zmieniają się zespoły;
  • proces i rezultaty są dobrze udokumentowane;
  • pozwala na łatwe zarządzanie zależnościami.

Wady kaskady:

  • jeśli nie mamy już na początku ściśle określonych wymagań, metoda będzie mniej efektywna;
  • nie sprawdzi się zbyt dobrze w wypadku dużych projektów;
  • cofnięcie się do poprzedniej fazy w celu dokonania zmian jest bardzo trudne;
  • proces testowania rozpoczyna się dopiero po zakończeniu programowania, co skutkuje tym, że naprawa błędów okazuje się kosztowna.

Zalety sprintu:

  • zespoły są doskonale zmotywowane i samodzielnie zorganizowane, co przekłada się na lepsze rezultaty projektu;
  • klient jest cały czas zaangażowany w proces tworzenia produktu;
  • zwinna metoda tworzenia oprogramowania pozwala na utrzymanie jakości rozwoju;
  • w zespole występuje bardzo sprawna komunikacja;
  • ostatecznie sprint pozwoli na zaoszczędzenie czasu i pieniędzy;
  • proces jest całkowicie oparty na ciągłym postępie. Zarówno klient, jak i zespół wiedzą doskonale, co jest skończone, a co nie. Dzięki temu redukujemy ryzyko.

Wady sprintu:

  • koszt wdrożenia zwinnej metody, której elementem jest sprint, okazuje się niewiele większy w konfrontacji z innymi metodologiami programistycznymi;
  • wymaga podjęcia ważnych decyzji na spotkaniu;
  • nie sprawdzi się w wypadku małych projektów deweloperskich;
  • jeśli kierownik projektu nie jest pewien, jaki rezultat chce osiągnąć, przedsięwzięcie może łatwo zbankrutować.

Fotografa tytułowa: Francisco Goya, „Bójka na kije”

Piotr Burakowski
Piotr Burakowski
Dziennikarz biznesowo-technologiczny, publikuje od 2006 r. Redaktor prowadzący The Story Journal. Interesuje się wpływem nowych technologii na rynek pracy i kondycję ludzką. Napisz do autora: piotr.burakowski@thestory.pl

Własny prototyp produktu w Design Sprint? Więcej!