Scrum – kiedy, dla kogo, po co?
Scrum budzi wiele skrajnych emocji – jedni go uwielbiają, inni nienawidzą. Zwolennicy tej praktyki doceniają jej elastyczność, wysoką podatność na zmiany, a także orientację na potrzeby klienta. Przeciwnicy wskazują z kolei, że projekty scrumowe są chaotycznie zarządzane, a przez ciągłe testowanie i poprawianie ciągną się w nieskończoność. Gdzie leży prawda? Jak zwykle – pośrodku.
Dlaczego wymyślono Scrum?
Scrum, podobnie jak inne zwinne metody zarządzania projektami, opracowano z myślą o tych przedsięwzięciach, które charakteryzują się dużą niepewnością. Ryzyko może dotyczyć zarówno samego zakresu projektu (prac, jakie należy wykonać w jego trakcie, i celów, które należy osiągnąć), a także zasobów potrzebnych do jego realizacji. Taką specyfiką charakteryzuje się wiele projektów IT, w których dodatkowe wymagania często pojawiają się w trakcie prac nad projektem. Mogą one wynikać np. z potrzeb klienta, który po przetestowaniu oprogramowania będzie chciał, by miało one dodatkowe funkcjonalności, lub też z konieczności powiązania ze sobą poszczególnych modułów większego systemu.
Charakterystyczną cechą projektów scrumowych jest ich wysoka elastyczność, dzięki czemu łatwiej wprowadzać w nich zmiany dotyczące np. ich założeń czy celów. Wiele z metod pracy opracowanych na bazie metodyk zwinnych pozwala także na utrzymanie wysokiej efektywności pracy zespołu projektowego. Dzięki tej elastyczności projekty scrumowe są w wyższym stopniu zorientowane na dostarczanie produktów o wysokiej wartości dla klienta.
Scrum vs. metodyki tradycyjne
Zwinność Scruma to efekt tego, że metoda ta opiera się na innym podejściu niż metodyki tradycyjne. Te drugie mają charakter sekwencyjno-kaskadowy: cele projektu rozbijane są w nich na zadania, a te z kolei na konkretne prace, które następnie są porządkowane w ramach struktury podziału prac. Realizacja takiego projektu wymaga ustalenia powiązań między konkretnymi zadaniami i wykonania ich w określonej kolejności. Procesy realizowane w projekcie są z kolei koordynowane za pomocą różnych narzędzi projektowych.
Scrum opiera się na podejściu iteracyjno-przyrostowo-adaptacyjnym. Gotowy produkt powstaje nie w ramach jednego, długiego projektu, ale serii krótkich iteracji (zazwyczaj jedno-, dwutygodniowych), w czasie których tworzone są kolejne moduły, z których będzie się składał finalny produkt. Ważne, by podczas iteracji dostarczyć klientowi działający moduł, mający właściwości, jakie odpowiadają jego oczekiwaniom. Każda iteracja kończy się przeglądem, w czasie którego weryfikuje się, jakie prace udało się ukończyć, co wymaga dopracowania, a co należy zrealizować od nowa.
W Scrumie „plan projektu” tworzy się na podstawie wymagań zawartych w rejestrze produktu, tylko na poziomie konkretnych iteracji. Dzięki temu proces planowania ma charakter otwarty, co daje szansę na lepsze i szybsze reagowanie na zmiany. Prace, jakie należy zrealizować w czasie integracji, nie są narzucane odgórnie, ale są wybierane przez członków zespołu, który odpowiada za ich realizację.
Wymienione wyżej cechy Scruma mogą być jego wielką zaletą, ale w przypadku niektórych przedsięwzięć mogą okazać się zgubne dla prowadzenia projektu. Dlatego też metodyki zwinne należy stosować w tych środowiskach projektowych, które charakteryzują się dużą zmiennością (Rysunek).
Wykorzystałeś swój limit bezpłatnych treści
Pozostałe 68% artykułu dostępne jest dla zalogowanych użytkowników portalu. Zaloguj się, wybierz plan abonamentowy albo kup dostęp do artykułu/dokumentu.