Realizacja projektów na podstawie metodyk zwinnych zgodnych z manifestem Agile to ostatnio popularna praktyka. Tego typu rozwiązaniem jest właśnie Agile Scrum – framework, czyli szkielet projektowy, zawierający zestaw zasad i odpowiednich postaw, które poprawiają jakość pracy przy projekcie i w całym zespole. Na czym dokładnie polega i w jakich przypadkach warto z niego korzystać? Dowiesz się w dalszej części artykułu!

 

Agile Scrum

 

Czym jest Agile?

Zespół developerski potrzebuje frameworka, aby wyznaczyć role poszczególnych członków biorących udział w projekcie. Daje również wskazówki i środki, które pomagają w realizacji zadania. Zbiór metod Agile, czyli metod zwinnych, jest opracowany właśnie przez programistów, dlatego doskonale pasuje do charakteru ich pracy. Polega na programowaniu iteracyjno-przyrostowym. Wraz z postępem projektu brane są pod uwagę zmiany w koncepcji klienta, czy inwestora produktu. Uwzględnia się także częste sprawdzanie postępów i stałe prezentowanie kolejnych gotowych etapów. Umożliwia to nie tylko rzucenie okiem z pewnej perspektywy na kierunek projektu, ale również recenzję postępów przez interesariuszy.

 

Powstanie Agile

Agile przez wielu uważany jest za nową metodykę pracy, podczas gdy w praktyce manifest Agile powstał już w roku 2001. Celem tego projektu było przełożenie doświadczeń w pracy z klientem przy tworzeniu aplikacji i na ich podstawie stworzenie nowej metodyki, która miała wyeliminować wady tradycyjnego modelu kaskadowego. Agile zakłada, że ważniejsze od samych procesów są ludzie i interakcje, które je usprawniają. Kolejną rzeczą jest preferowanie elastycznego stylu pracy, w którym zespół dostosowuje się do zmian, zamiast ściśle podążać za planem. Ważniejsza jest również stała współpraca z klientem niż sztywne ustalenia. I na koniec, zamiast dostarczać obszernej dokumentacji, zespół dąży do jak najszybszego zapewnienia działającego oprogramowania.

 

Metodyka zwinna

Dlaczego Agile nazywany jest metodyką zwinną? Ponieważ oznacza elastyczne i bystre podejście do projektu. Chodzi również o dynamikę działania i nacisk na otrzymanie wymiernych efektów. W tym trybie pracuje się także w programowaniu ekstremalnym (XP), DSDM, Crystal, Kanban i Lean Startup. Co więcej, Agile Scrum poprawił osiągi tych kierunków pracy. Udowadnia to sukces manifestu z 2001 roku. Nie trzeba koniecznie myśleć o nim tylko jak o metodyce pracy przy projekcie developerskim aplikacji mobilnej. Może to być również dobra metoda zwiększenia efektywności pracy w jakiejkolwiek branży i w różnego typu projektach. Jest więc dość uniwersalnym podejściem w organizowaniu wykonywania zadań.

 

Framework Agile Scrum

Lepszym określeniem od metodyki Agile Scrum będzie framework, ponieważ nie oznacza on konkretnych czynności, ani nie ogranicza możliwości działania. Wręcz przeciwnie – zachęca do korzystania z pewnych narzędzi i procesów, żeby wykrzesać produktywność i kreatywność zespołu, przy jednoczesnym pozostawieniu im jak największej swobody. Krótko mówiąc, manifest Agile nie zawiera przepisu na sukces, a jedynie sugestie pracy, które z pewnością usprawnią realizację zadania, ale przede wszystkim poprawią jakość produktu.

 

Na czym więc polega ten framework? Określa on między innymi sposób ewaluacji pracy własnej lub zespołu projektowego w odpowiedni sposób. Co krótki czas należy przyjrzeć się osiągniętym efektom i rozważyć je w kontekście użyteczności i funkcjonowania aplikacji. Oprócz tego ogranicza się do minimum stanowiska, ich zadania i obowiązki. Wszystko to na rzecz elastyczności. Jest to jeden z powodów, dla których framework Agile jest doskonałym rozwiązaniem dla start-upów.

 

Co składa się na Scrum?

W metodyce Scrum ważne są pewne elementy, które umożliwiają trzymanie projektu w ryzach dzięki obecności minimalnej ilości struktur organizacyjnych. Określone są pewne role i etapy pracy, które na stałe wchodzą w skład tego frameworka.

 

Role w Agile Scrum 

Product Owner to konkretna osoba z umiejętnościami lidera i dobrym rozumieniem kierunku i rodzaju projektu, którym dowodzi. Stoi na czele Development Teamu, którego pracę organizuje. Kieruje projektem oraz jego kolejnym iteracjami. Musi znać nie tylko koncepcję powstającego produktu, ale również członków zespołu, tak, aby wykorzystać ich maksymalny potencjał. Deweloperzy, czyli wspomniany Development Team, to wszyscy specjaliści, którzy wchodzą w skład realizatorów projektu: programiści, web-developerzy, analitycy, specjaliści UI i UX. Kolejną rolą jest Scrum Master. Osoba stojąca na straży przestrzegania zasad frameworka, po to, by wszystko szło zgodnie z planem, ale przede wszystkim, w sposób najbardziej płynny i dynamiczny. Jego zadaniem jest również sprawienie, aby zespół pracował w maksymalnej symbiozie, która będzie z kolei prowadzić do maksymalizacji ich wydajności.

 

Wydarzenia, czyli model działania

Metodyka Agile zakłada cykl działania, w którym w formie sprintów, najczęściej długości miesiąca, projekt postępuje do przodu. Sprint planning to prognozowanie i planowanie pracy zespołu przy zadaniu na dany etap. Codzienny Scrum to sprawdzanie pracy na bieżąco oraz oparta na dokonanej recenzji decyzja na temat dalszego postępowania z iteracją. Przegląd Sprintu to podsumowanie i przedstawienie efektów nie tylko dla członków zespołu, ale również dla interesariuszy. Muszą oni wiedzieć, w jakim kierunku zmierza projekt i wyrazić swoją opinię, na podstawie której planowana będzie dalsza praca. Retrospektywa Sprintu to z koeli krytyczne spojrzenie na przebieg iteracji, wyrażenie pomysłów na poprawę produktu oraz procesu pracy. To również dobry moment na przedstawienie nowych pomysłów i koncepcji.

 

Artefakty, czyli narzędzia pracy w Scrum

Nie tylko organizacja pracy oferowana jest w tym frameworku. Dostępne są również artefakty. To nic innego jak narzędzia pracy w duchu Agile Scrum. Product Backlog to lista rzeczy do zrobienia przez zespół developerów. Tworzona jest przez Product Ownera, który musi ją stale aktualizować i tworzyć w przejrzysty sposób, ponieważ jest to metoda na jego kierowanie zespołem i zarządzanie efektami. Wgląd do Backlogu mają wszyscy członkowie zespołu. Z kolei Product Increment to zobrazowanie wzrostu funkcjonalności produktu, jaki faktycznie ma miejsce w projekcie. Powstaje przy zakończonym etapie pracy, po testach i jest w zintegrowanej formie. 

 

Scrum to nie przepis na sukces

O czym należy pamiętać, zastanawiając się nad Agile Scrum? Po pierwsze, że Scrum nie jest przepisem na sukces. Po drugie nie jest narzędziem do zarządzania ludźmi ani projektem. Jego zadaniem jest skupienie się na produkcie i na pracy w zespole, tak aby wyciągnąć największa produktywność członków grupy, jednak bez poganiania ich. Scrum służy dostarczeniu gotowego i sprawnego produktu, w jak najkrótszym, ale możliwym do osiągnięcia czasie. 

 

Ciężka praca

Należy podkreślić, że Agile Scrum wprowadza również pewną etykę pracy. Według niej na czele stoi stworzenie aplikacji sprawnej i wypełniającej wymagania inwestora, zamiast stworzenia aplikacji byle jakiej i jak najszybciej. Zakłada on dobrą synchronizację czasu i budowanie zgranego zespołu, ale samo wprowadzenie frameworka nie da natychmiast takiego efektu. Oprócz niego konieczna jest ciężka praca wszystkich zaangażowanych osób i pewne doświadczenie w tego typu projektach. 

 

 

Scrum ma jedynie pomóc osiągnąć wysoki poziom. Po stronie zespołu leży rozpracowywanie przeszkód, ponieważ sam Scrum nie jest odpowiedzią na każde pytanie. Może co najwyżej nadać pewną konstrukcję pracy nad projektem, ale sukces zawsze osiągany jest przez specjalistów zaangażowanych w wykonywane zdanie. Pamiętaj więc, że w każdym działaniu najważniejsi są ludzie!