Co to jest SCRUM?

SCRUM wywodzi się z nurtu Agile, czyli zwinności w wytwarzaniu oprogramowania. 

Jest to struktura procesu (wy)twórczego, a przy tym zestaw podstawowych RÓL, ZDARZEŃ, ARTEFAKTÓW i REGUŁ tworzących ramy, w obrębie których dany zespół samodzielnie decyduje, jak chce pracować.

scrum

W przypadku  wdrożeń informatycznych cechą charakterystyczną jest ciągle zmieniająca się technologia. Z punktu widzenia konieczności szybkiego przystosowywania do niestałych warunków i oczekiwań korzystny jest podział wdrożenia na tzw. Sprinty (elementy składowe SCRUM).

Warto pamiętać, że nawet niekompletny system realizowany zgodnie z założeniami SCRUM nadaje się do wykorzystania! W kolejnych stadiach rozwoju jest on po prostu nadbudowywany o kolejne, działające moduły. To klient decyduje o zakończeniu całego procesu. Dalsze prace można w każdej chwili wstrzymać i postanowić o przejściu do fazy utrzymania systemu. Zarzucony projekt można w każdej chwili ponownie podjąć i wraz z zespołem developerskim powrócić do jego realizowania.

 

SCRUM: zalety

Stała kontrola rezultatów – możliwość dokonywania przeglądu poszczególnych etapów wytworzenia systemu tyle razy, ile jest to konieczne. Deweloperzy mają prawo modyfikować zestaw niezbędnych do wykonania prac tak, aby sprostać ewoluującym oczekiwaniom swojego klienta.

Testy bieżących rezultatów – kompleksowy projekt podzielony jest na etapy (tzw. Sprinty), co umożliwia zespołom zadaniowym skupienie uwagi na przygotowaniu i przetestowaniu aktualnie opracowywanych odcinków kodu. Gwarantuje to niezawodność i najwyższą jakość produktu finalnego.

Całkowita orientacja na klienta – SCRUM pozwala zbudować system w pełni dopasowany do indywidualnych potrzeb klienta. Ułatwia również szybką identyfikację ewentualnych błędów. Pracując zgodnie z jego założeniami jesteśmy w stanie w odpowiednim czasie skierować projekt na właściwe tory. W ten sposób wykluczamy potrzebę zaangażowania dodatkowych środków finansowych przez zleceniodawcę.

SCRUM w eVolpe Software House

W eVolpe Software House SCRUM jest już standardem. Na początku wykorzystywany głównie przy dużych, relatywnie skomplikowanych projektach, obecnie jest już normą w naszej organizacji.

Dążąc do zapewnienia jscrumak najwyższego poziomu obsługi, podjęliśmy decyzję o zaadaptowaniu przesłania agile do naszych codziennych praktyk. Zdajemy sobie sprawę jak istotną kwestią jest metodyka implementacji nowego rozwiązania w firmie. Naszym zdaniem nie warto rozpoczynać tak długotrwałego procesu bez tzw. analizy przedwdrożeniowej. Oprócz wymagań co do samego oprogramowania, powinna ona obejmować także to, w jaki sposób dany system zostanie zaadaptowany. Przemyślana decyzja w tej sprawie pozwala uniknąć wielu niedomówień, czasochłonnych, skomplikowanych aneksów do umów, dylematów związanych z zasadnością dalszego współpracowania etc.

 

Elementy tworzące SCRUM

Na koniec trochę wiedzy teoretycznej na temat właściwej organizacji SCRUMu.

Zasady rządzące framework’iem w pełni odzwierciedlają założenia przyjęte w manifeście zwinnego programowania (agile). Reguła numer jeden to zadowolenie klienta. Aby je osiągnąć, konieczne jest  zaadaptowanie następujących elementów:

Role (Zespół Scrumowy)

PRODUCT OWNER – odpowiada za wybór zadań do wykonania (Co?).

DEWELOPERZY – odpowiadają za sposób realizacji zadań (Jak?).

SCRUM MASTER – czuwa nad tym, aby przebieg prac był zgodny z ustalonymi zasadami.

Zdarzenia (składowe Sprintu)

PLANOWANIE SPRINTU – ustalenie nad czym, w jaki sposób i dla jakiego celu Zespół będzie pracował.

CODZIENNY SCRUM – weryfikacja stanu prac i ewentualna korekta zaplanowanych zadań.

PRZEGLĄD SPRINTU – przedstawienie dokonań Product Ownerowi i innym interesariuszom.

RETROSPEKTYWA – weryfikacja sposobu pracy i wdrażanie rozpoznanych usprawnień.

Artefakty

BACKLOG PRODUKTU – uporządkowana lista wszystkich rodzajów zadań potrzebnych do rozwoju, utrzymania i naprawy produktu

BACKLOG SPRINTU – analogiczne narzędzie dla Zespołu Deweloperskiego, który dzięki temu artefaktowi w pełni panuje nad pracami zaplanowanymi na dany Sprint.

PRZYROST –  efekt zakończonej w ramach pojedynczego Sprintu pracy.

Reguły

TRANSPARENTNOŚĆ – pełny dostęp do całości prac na każdym etapie SCRUMa.

INSPEKCJA – bieżące monitorowanie i weryfikowanie produktu oraz sposobu pracy Zespołu.

ADAPTACJA – niezbędne zmiany naprowadzające Zespół na właściwy tor pracy.

Z punktu widzenia maksymalizowania wartości dla klienta oraz minimalizowania strat po stronie dostawcy, współcześnie najlepszym rozwiązaniem dla wdrażania systemów informatycznych jest SCRUM!

W nielicznych przypadkach dopuszcza się wdrożenia w trybie tradycyjnym (inaczej: kaskadowym), ale zdecydowanie najbardziej rozpowszechnioną i rekomendowaną przez eVolpe Software House opcją są techniki wypływające z nurtu agile, ze SCRUM’em na czele.