Metodologia wdrożeń.

Poprawnie dobrana metoda budowy i uruchomienia aplikacji może wyeliminować niebezpieczeństwo porażki wdrożeniowej.

Image

Klient podejmuje ostateczną decyzję dotyczącą zakresu, trybu i formy wdrożenia po zapoznaniu się z końcowymi wnioskami z analizy biznesowej.

 

Wszyscy wiemy, że proces wdrożenia systemu klasy MRPII w firmie produkcyjnej jest złożony i może zakończyć się terminowo tylko wtedy, gdy wykonawca zapewni wsparcie doświadczonych konsultantów i będzie posługiwał się właściwa metodologią realizacji prac.

Role.

W zespole scrum określa się trzy role: właściciel, szef scrum i członek zespołu.
 
Właściciel jest odpowiedzialny za zarządzanie priorytetami i decyzje dotyczące funkcjonalności systemu. Reprezentuje on interesy Klienta i użytkowników końcowych oprogramowania. Rolę tę otrzymuje często oddelegowany do prac wdrożeniowych przyszły, kluczowy użytkownik systemu.
Szef scrum jest odpowiedzialny za egzekwowanie zasad realizacji prac, filtrowanie informacji docierających do zespołu i usuwanie wszelkich przeszkód mogących zakłócić harmonogram prac. Rolę tę może pełnić np. kierownik projektu.
Członek zespołu natomiast wykonuje konkretne czynności związane bezpośrednio z przygotowaniem i uruchomieniem oprogramowania. Członkowie zespołu pełnią różne funkcje, są to programiści, wdrożeniowcy, inżynierowie systemów, itd. Zespół w Scrum jest, z definicji, zespołem samoorganizującym się. Członkowie zespołu sami decydują o postępach prac technicznych, nie mają przydzielonych formalnych tytułów, współpracują na równych zasadach. Każdy z nich może być zaangażowany w dowolne zadanie w zależności od potrzeb i ich wewnętrznych ustaleń. Przy standardowym projekcie wdrożeniowym datainfo dla średniej wielkości firmy, w zespole znajdują się najczęściej 3 osoby pracujące nad danym wdrożeniem w pełnym zakresie i 2-4 osoby specjalistycznego wsparcia.
  • Współpraca z klientem zamiast ciągłych negocjacji
  • Reagowanie na zmiany zamiast ślepego podążania za planem

Początek prac.

Zawsze właściciel określa początkową listę prac (każda pozycja z listy opisuje konkretną cechę systemu – ang. story). Jest to dla niego dużym wyzwaniem, ponieważ początkowe założenia zawsze mają wiele priorytetów dla poszczególnych prac - decyzja o tym, co ma wejść do sprintu i z jakim priorytetem to trudna i odpowiedzialna decyzja. Zespół i szef scrum oczywiście pomagają właścicielowi w określeniu priorytetów i oszacowaniu stopnia skomplikowania realizacji prac. Przed pierwszym oficjalnym sprintem zespół realizuje testowo jakieś zadanie w celu „dogrania” zasad pracy i współpracy, zwłaszcza od strony organizacyjnej i kompetencyjnej.

Sprinty.

Czas trwania sprintu (przebiegu) to najczęściej okres dwóch tygodni. Raz ustalony czas trwania każdego sprintu jest zazwyczaj taki sam. Na początku każdego sprintu jest organizowane jednodniowe (w zasadzie max. pół-dniowe) spotkanie planowania sprintu, podczas którego właściciel tworzy listę prac sprintu (zestaw prac do wykonania w bieżącej iteracji). Ta lista prac najwyższego priorytetu wybierana jest z wykazu wszystkich, wcześniej zaplanowanych  prac wdrożeniowych - w metodyce Scrum łączny wykaz prac zawsze zmienia się w czasie, ponieważ systematycznie dochodzą do niego nowe wymagania.

Po przedstawieniu listy prac sprintu, właściciel i zespół określają mierzalny cel sprintu, który jest najczęściej konkretną korzyścią funkcjonalną lub biznesową. W drugiej części spotkania zespół dzieli listę prac planowanego sprintu na zadania. Każde zadanie będzie miało określony, przyjęty przez zespół czas na jego realizację – zespół po weryfikacji zadań przyjmuje pracę i jest za nią odpowiedzialny. Zadania zazwyczaj dzielone są tak, aby czas wykonania każdego z nich nie przekraczał 2-3 dni. Metodyka Scrum narzuca duże rygory czasowe zadań i dzięki temu znacznie poprawia samoorganizację zespołu.

W trakcie realizacji sprintu zespół spotyka się codziennie rano o tej samej porze dnia na 30-40 minut. Na tych spotkaniach każdy członek zespołu odpowiada na pytania: Co robiłeś wczoraj? Co będziesz robić dzisiaj? Jakie widzisz przeszkody? Spotkanie jest krótkie, bez zbędnych dywagacji. Ewentualne problematyczne sprawy omawiane są po tym spotkaniu.
Jeśli podczas sprintu wystąpią niezmiernie istotne problemy i sprint zostaje przerwany, to szef scrum ma prawo zarządzić zakończenie przebiegu i ma obowiązek podjąć  działania w celu rozwiązania problemu. Następnie organizowany jest kolejny sprint z nowa listą prac i ewentualnie nowym celem.
Image

Na koniec każdego sprintu organizuje się spotkanie przeglądu (ang. sprint review meeting) - zespół przedstawia właścicielowi to, co osiągnięto w danym sprincie. Właściciel określa, czy cel został osiągnięty. Spotkania trwa średnio 3-4 godziny. W tym samym dniu odbywa się również drugie spotkanie retrospektywne (ang. sprint retrospective meeting) – zespół omawia z szefem scrum wykonane zadania w kontekście organizacyjnym i w odniesieniu do napotkanych problemów. Przy projektach opartych o jeden z gotowych szablonów wdrożeniowych (systemu Signa prekonfigurowanego pod specyfikę konkretnej branży), realizowanych dla średniej wielkości firmy produkcyjnej, główne prace uruchomieniowe realizowane się zazwyczaj podczas 6-8 sprintów.

Korzyści.

W praktyce metodyka Scrum ogromnie zmniejsza koszt przygotowania projektu, a w ramach przyjętego budżetu często uzyskuje się znacznie więcej, niż planowano. Częsty wgląd w widoczne efekty prac i możliwość weryfikacja realizacji ze strony Klienta daje duże poczucie kontroli. Możliwość dostosowania wymagań do zmieniających się warunków (w trakcie realizacji projektu) jest gwarancją koncentracji prac zespołu nad istotnymi elementami. W efekcie końcowym zawsze otrzymujemy dopasowane do potrzeb oprogramowanie.