Scrum

Co to jest Scrum?

Scrum to jeden ze sposobów podejścia do realizacji złożonych projektów. Wywodzi się z nurtu Agile, czyli zwinności w wytwarzaniu oprogramowania. 

 

Na początku XXI w. przedstawiciele szkoły lekkich metodyk, w tym twórcy Scrum – Ken Schwaber i Jeff Sutherland – podpisali tzw.  Manifest Agile. Ustalili oni wtedy wspólnie wyznawane wartości.

scrum

Zgodnie z założeniami Scrum, kwestie zapisane po prawej stronie są wartościowe, ale to elementy po lewej stronie są znacznie bardziej istotne.

 

Scrum nie jest metodyką, a jedynie tzw. frameworkiem, czyli ramą strukturalną, w której organizuje się pracę. Wspomniana rama wyznaczana jest poprzez zestaw praktyk, zasad oraz wartości mających swoje korzenie w Lean Thinking.

scrum

Dzięki takiemu podejściu produkt końcowy jest całkowicie zbieżny z potrzebami inwestora, nawet jeżeli te ewoluowały w trakcie trwania projektu wdrożeniowego. Scrum pozwala redukować koszty oraz znacząco wpływa na produktywność i zaangażowanie zespołu.

 

Zespoły pracujące w Scrumie są interdyscyplinarne, wysoce komunikatywne oraz samoorganizujące się (w powierzonym zakresie odpowiedzialności). Deweloperzy mają pełną swobodę doboru narzędzi i procedur niezbędnych do wytworzenia wysokiej jakości produktu. W procesie wytwórczym aktywny udział bierze również  przedstawiciel klienta.

 

Planowanie i kontrolowanie przebiegu prac w Scrumie opiera się na empiryzmie. Decyzje podejmujemy na podstawie wcześniejszych doświadczeń, a nie przyjętych założeń. W każdej chwili możemy również zmienić kierunek rozwoju produktu.

 

W Scrumie oprogramowanie wytwarzamy w sposób iteracyjny w tzw. Sprintach (zorganizowanych na wzór cyklu P-D-C-A, czyli Plan-Do-Check-Act). Oznacza to, iż system powstaje po kawałku i w krótkich odstępach czasu, podlegając ciągłym ulepszeniom. Scrum pozwala nam: skracać pętlę uczenia się, maksymalizować wartość biznesową oraz minimalizować ryzyko występowania błędów. Efektem końcowym Sprintu jest gotowy do użycia przyrost, zawierający wszystkie ukończone elementy systemu wykonane w trakcie iteracji.

Filary Scruma

Filarami Scruma są transparentność, inspekcja oraz adaptacja. Transparentność oznacza, że poszczególne elementy procesu są zawsze widoczne dla zaangażowanych osób. Dzięki zasadzie przejrzystości utrzymywany jest wysoki poziom wzajemnego zrozumienia wszystkich aspektów wdrożenia, np. wspólnego nazewnictwa,  definicji przyrostu itp.

 

Inspekcja i adaptacja służą wykrywaniu rozbieżności oraz dokonywaniu zmian. W ten sposób unikamy odstępstw od wymagań zgłoszonych przez klienta oraz dostosowujemy produkt do zmiennych warunków.

scrum
scrum

Wartości w Scrumie

Trzy filary Scruma wynikają bezpośrednio z przyjętych wartości: koncentracji, zaangażowania, otwartości, szacunku i odwagi. Dzięki nim możliwe jest stworzenie atmosfery wzajemnego zaufania. Członkowie Zespołu Scrumowego skupiają się tylko na pracy w danym Sprincie.

 

W projekt zaangażowani są zarówno deweloperzy, jak i interesariusze. Aby osiągnąć sukces, muszą być oni otwarci na nowe pomysły i wyzwania. Członkowie Zespołu Scrumowego wzajemnie szanują swoje opinie oraz kompetencje. Zespół Scrumowy ma odwagę, by przedstawiać swoje idee na forum,  postępować właściwie i przezwyciężać trudności.

Scrum w eVolpe

Na stronie o Scrum opisaliśmy czym jest zwinne podejście we wdrażaniu systemów informatycznych. Poniżej przybliżamy jak od strony praktycznej wygląda nasza współpraca z Klientem podczas realizacji projektów scrumowych.

Scrum w eVolpe

Na stronie o Scrum opisaliśmy czym jest zwinne podejście we wdrażaniu systemów informatycznych. Poniżej przybliżamy jak od strony praktycznej wygląda nasza współpraca z Klientem podczas realizacji projektów scrumowych.

Stworzenie Product Backlog

Działania zgodne z metodyką Scrum rozpoczynają się po zamknięciu etapu konsultingu, doboru systemu CRM oraz ustaleń handlowych. Przybierają formę działań analitycznych opisanych szerzej tutajDla klienta zainteresowanego wdrożeniem przeprowadzamy warsztaty System Overview (zapoznanie z systemem) lub Product Discovery (rozpoznanie potrzeb i wymagań wobec systemu).

 

Są to wysoce kreatywne spotkania, które pozwalają spojrzeć na zarządzanie procedurą biznesową zarówno z wąskiej, jak i szerokiej perspektywy. Warto podkreślić, że uczestnictwo w warsztatach wiąże się z koniecznością Twojego pełnego zaangażowania. Aby lepiej zwizualizować omawiane zagadnienia, proponujemy Ci pobudzające wyobraźnię techniki myślenia kreatywnego; wszystko z wykorzystaniem kolorowych karteczek samoprzylepnych, pisaków, tablic suchościeralnych oraz folii antystatycznych.

doradztwo crm szkolenia scrum evolpe

Stworzenie Product Backlog

doradztwo crm szkolenia scrum evolpe

Działania zgodne z metodyką Scrum rozpoczynają się po zamknięciu etapu konsultingu, doboru systemu CRM oraz ustaleń handlowych. Przybierają formę działań analitycznych opisanych szerzej tutajDla klienta zainteresowanego wdrożeniem przeprowadzamy warsztaty System Overview (zapoznanie z systemem) lub Product Discovery (rozpoznanie potrzeb i wymagań wobec systemu).

 

Są to wysoce kreatywne spotkania, które pozwalają spojrzeć na zarządzanie procedurą biznesową zarówno z wąskiej, jak i szerokiej perspektywy. Warto podkreślić, że uczestnictwo w warsztatach wiąże się z koniecznością Twojego pełnego zaangażowania. Aby lepiej zwizualizować omawiane zagadnienia, proponujemy Ci pobudzające wyobraźnię techniki myślenia kreatywnego; wszystko z wykorzystaniem kolorowych karteczek samoprzylepnych, pisaków, tablic suchościeralnych oraz folii antystatycznych.

wdrożenie crm scrum evolpe

Wynikiem przeprowadzonych warsztatów jest Product Backlog, głównie w formie User Stories, czyli historyjek z życia użytkownika. Jest on przygotowany przez przedstawiciela eVolpe, który pełni w projekcie rolę proxy Product Ownera (biznesowego łącznika pomiędzy klientem oraz Zespołem Deweloperskim). Następnie Product Backlog jest priorytetyzowany. Działania te realizowane są wspólnie przez proxyProduct Ownera oraz Product Ownera, czyli przedstawiciela klienta – osoby odpowiedzialnej za produkt, decyzyjnej w kwestii kształtowania jego wizji i rozwoju.

 

W niektórych przypadkach, na podstawie powstałego Product Backlog przygotowujemy oszacowanie poszczególnych elementów systemu, tak by uzyskać rząd wielkości projektu przed jego rozpoczęciem. Podejście to stosujemy najczęściej, gdy klientowi zależy na ustaleniu wysokości budżetu projektu. Należy jednak pamiętać, że podejście scrumowe dopuszcza, a wręcz wspiera, dokonywanie zmian i zwrotów kierunku, w którym podąża projekt, więc oszacowanie to ma głównie charakter poglądowy.

wdrożenie crm scrum evolpe

Wynikiem przeprowadzonych warsztatów jest Product Backlog, głównie w formie User Stories, czyli historyjek z życia użytkownika. Jest on przygotowany przez przedstawiciela eVolpe, który pełni w projekcie rolę proxy Product Ownera (biznesowego łącznika pomiędzy klientem oraz Zespołem Deweloperskim). Następnie Product Backlog jest priorytetyzowany. Działania te realizowane są wspólnie przez proxyProduct Ownera oraz Product Ownera, czyli przedstawiciela klienta – osoby odpowiedzialnej za produkt, decyzyjnej w kwestii kształtowania jego wizji i rozwoju.

 

W niektórych przypadkach, na podstawie powstałego Product Backlog przygotowujemy oszacowanie poszczególnych elementów systemu, tak by uzyskać rząd wielkości projektu przed jego rozpoczęciem. Podejście to stosujemy najczęściej, gdy klientowi zależy na ustaleniu wysokości budżetu projektu. Należy jednak pamiętać, że podejście scrumowe dopuszcza, a wręcz wspiera, dokonywanie zmian i zwrotów kierunku, w którym podąża projekt, więc oszacowanie to ma głównie charakter poglądowy.

W trakcie sprintów

Implementacja projektu scrumowego przebiega w kilkutygodniowych iteracjach. Oznacza to, że po każdym takim okresie następuje przyrost nowych funkcji, zmiana lub udoskonalenie istniejących elementów systemu. Każda iteracja rozpoczyna się od spotkania zwanego Sprint Planningiem. W jego trakcie ustalany jest cel nadchodzącego sprintu, czyli nadrzędna wartość, która zostanie uzyskana.

 

Na tej podstawie dobierane są również User Stories (historyjki z życia użytkownika), których rozwiązanie pozwala na osiągnięcie przyjętego celu. Tworzą one Sprint Backlog. Druga część spotkania polega na dokładnym zaplanowaniu prac przez Zespół Deweloperski, tak by gotowe zagadnienia spełniały ustalone wcześniej kryteria ukończenia (Definition of Done).

suitecrm scrum evolpe

W trakcie sprintów

suitecrm scrum evolpe

Implementacja projektu scrumowego przebiega w kilkutygodniowych iteracjach. Oznacza to, że po każdym takim okresie następuje przyrost nowych funkcji, zmiana lub udoskonalenie istniejących elementów systemu. Każda iteracja rozpoczyna się od spotkania zwanego Sprint Planningiem. W jego trakcie ustalany jest cel nadchodzącego sprintu, czyli nadrzędna wartość, która zostanie uzyskana.

 

Na tej podstawie dobierane są również User Stories (historyjki z życia użytkownika), których rozwiązanie pozwala na osiągnięcie przyjętego celu. Tworzą one Sprint Backlog. Druga część spotkania polega na dokładnym zaplanowaniu prac przez Zespół Deweloperski, tak by gotowe zagadnienia spełniały ustalone wcześniej kryteria ukończenia (Definition of Done).

doradztwo crm scrum evolpe

Jest to niezwykle istotne, gdyż codziennie przez kolejne dni odbywa się krótkie (maksymalnie 15-minutowe) spotkanie zwane Daily Stand-upem. W eVolpe przeprowadzamy je przy tablicach scrumowych (równolegle korzystamy z dostosowanego do naszych potrzeb systemu do zarządzania projektami Redmine). Każdorazowo następuje wtedy inspekcja postępu prac i ewentualna adaptacja wcześniejszego planu do zaistniałych w rzeczywistości warunków. Ustalamy również, co udało się wykonać przez ostatnią dobę, jaki jest plan działania i czy napotkaliśmy jakieś trudności.

 

W trakcie sprintów odbywają się również spotkania zwane Refinement. Są one dedykowane nowym wymaganiom, które zgłasza klient, tak by móc je odpowiednio doprecyzować, ewentualnie podzielić na mniejsze, a następnie oszacować. Tak przygotowane zagadnienia są dostępne w Product Backlogu i mogą zostać dobrane do wykonania w trakcie nadchodzących sprintów.

doradztwo crm scrum evolpe

Jest to niezwykle istotne, gdyż codziennie przez kolejne dni odbywa się krótkie (maksymalnie 15-minutowe) spotkanie zwane Daily Stand-upem. W eVolpe przeprowadzamy je przy tablicach scrumowych (równolegle korzystamy z dostosowanego do naszych potrzeb systemu do zarządzania projektami Redmine). Każdorazowo następuje wtedy inspekcja postępu prac i ewentualna adaptacja wcześniejszego planu do zaistniałych w rzeczywistości warunków. Ustalamy również, co udało się wykonać przez ostatnią dobę, jaki jest plan działania i czy napotkaliśmy jakieś trudności.

 

W trakcie sprintów odbywają się również spotkania zwane Refinement. Są one dedykowane nowym wymaganiom, które zgłasza klient, tak by móc je odpowiednio doprecyzować, ewentualnie podzielić na mniejsze, a następnie oszacować. Tak przygotowane zagadnienia są dostępne w Product Backlogu i mogą zostać dobrane do wykonania w trakcie nadchodzących sprintów.

Czym się kończy każdy sprint?

Na koniec sprintu spotkamy się z klientem (najczęściej zdalnie) podczas Sprint Review. Zespół oddaje wtedy uzyskany przyrost, pokrótce prezentując to, co zostało wykonane. Jest to również odpowiedni moment na dyskusję odnośnie do nowych wymagań (które mogły zostać zainspirowane obecnym kształtem produktu), innych przekształceń, a także oczekiwań dotyczących kolejnego sprintu. Następuje więc inspekcja wykonanych prac, a także adaptacja wymagań do sytuacji, w której się obecnie znajdujemy.

Po każdym ze sprintów możliwa jest instalacja paczek tworzących przyrost w środowisku produkcyjnym klienta. Oczywiście nie każdy sprint musi kończyć się takim wydaniem. Jest to w pełni zależne od decyzji klienta. Pamiętaj! Masz możliwość zapoznania się z nowymi funkcjami w przygotowanym dla Ciebie środowisku testowym. Na tej podstawie następuje ostateczna akceptacja zagadnień z wcześniejszego sprintu.

doradztwo crm dla branży usługowej scrum evolpe

Czym się kończy każdy sprint?

doradztwo crm dla branży usługowej scrum evolpe

Na koniec sprintu spotkamy się z klientem (najczęściej zdalnie) podczas Sprint Review. Zespół oddaje wtedy uzyskany przyrost, pokrótce prezentując to, co zostało wykonane. Jest to również odpowiedni moment na dyskusję odnośnie do nowych wymagań (które mogły zostać zainspirowane obecnym kształtem produktu), innych przekształceń, a także oczekiwań dotyczących kolejnego sprintu. Następuje więc inspekcja wykonanych prac, a także adaptacja wymagań do sytuacji, w której się obecnie znajdujemy.

Po każdym ze sprintów możliwa jest instalacja paczek tworzących przyrost w środowisku produkcyjnym klienta. Oczywiście nie każdy sprint musi kończyć się takim wydaniem. Jest to w pełni zależne od decyzji klienta. Pamiętaj! Masz możliwość zapoznania się z nowymi funkcjami w przygotowanym dla Ciebie środowisku testowym. Na tej podstawie następuje ostateczna akceptacja zagadnień z wcześniejszego sprintu.

eksperci crm systemy crm scrum evolpe

Ostatnim spotkaniem, w którym uczestniczy Zespół Scrumowy, czyli proxy Product Owner, Zespół Deweloperski oraz Scrum Master (odpowiedzialny za proces) jest Sprint Retrospective. Retrospektywa to doskonała okazja do inspekcji sposobu, w jakim pracujemy. Warto przyjrzeć się także relacjom międzyludzkim panującym w zespole oraz omówić, co się udało i z czego jesteśmy dumni, a nad czym należy jeszcze pracować. W ten sposób stajemy się jeszcze bardziej efektywni  jako zespół. Następuje tak ważna w Scrumie adaptacja.

Każdy projekt może składać się z wielu następujących po sobie sprintów. Zazwyczaj jest to od kilku do nawet kilkudziesięciu takich iteracji. Gdy uznasz, że produkt jest już skończony, przechodzimy w tryb jego utrzymania ustalony w umowie serwisowej.

eksperci crm systemy crm scrum evolpe

Ostatnim spotkaniem, w którym uczestniczy Zespół Scrumowy, czyli proxy Product Owner, Zespół Deweloperski oraz Scrum Master (odpowiedzialny za proces) jest Sprint Retrospective. Retrospektywa to doskonała okazja do inspekcji sposobu, w jakim pracujemy. Warto przyjrzeć się także relacjom międzyludzkim panującym w zespole oraz omówić, co się udało i z czego jesteśmy dumni, a nad czym należy jeszcze pracować. W ten sposób stajemy się jeszcze bardziej efektywni  jako zespół. Następuje tak ważna w Scrumie adaptacja.

Każdy projekt może składać się z wielu następujących po sobie sprintów. Zazwyczaj jest to od kilku do nawet kilkudziesięciu takich iteracji. Gdy uznasz, że produkt jest już skończony, przechodzimy w tryb jego utrzymania ustalony w umowie serwisowej.

Porozmawiaj z nami o usługach konsultingu i wdrożenia systemów CRM w Twojej firmie!

Skontaktujemy się z Tobą w ciągu 24 godzin.

Tradycyjne i zwinne metodyki wdrażania systemów IT

Metodyka wdrożeniowa to sposób uporządkowania projektu informatycznego, który umożliwia optymalne przeprowadzenie całego przedsięwzięcia. W przypadku oprogramowania dla przedsiębiorstw niezwykle istotne jest, aby wszelkie aspekty techniczne współgrały z potrzebami biznesowymi zleceniodawcy. W tym celu na przestrzeni lat wyłoniły się dwa przewodnie podejścia metodologiczne: tradycyjne (inaczej: waterfall, metodyka kaskadowa) oraz zwinne (w tym np. framework o nazwie Scrum).

Waterfall

Sednem metodyki waterfall jest szczegółowy plan zakładający sekwencyjną realizację poszczególnych etapów. W modelu kaskadowym fazy projektowe rozumiane są jako następujące po sobie, odrębne czynności. Ze względu na podstawową cechę metodyki tradycyjnej, tj. określony budżet, kluczowym etapem projektu jest sporządzenie szczegółowej specyfikacji wymagań (ang. Software Requirement Specification), w tym listy koniecznych do zrealizowania prac mieszczących się w uzgodnionej obustronnie cenie (fixed price).

Agile

Działania podejmowane w ramach wdrożenia realizowanego w metodyce zwinnej planowane są etapami i na podstawie bieżących doświadczeń użytkowników. Standardowo w ramach każdego z kilkutygodniowych iteracji (tzw. sprintów) dostarczany jest działający fragment (przyrost) systemu. Może być on na bieżąco testowany przez użytkowników końcowych i to nie tylko pod kątem poprawności działania, ale również praktycznego zastosowania podczas realizacji realnych procesów biznesowych. Dzięki temu możliwa jest cykliczna korekta rozwiązań oraz wprowadzanie zmian zgodnie z pojawiającymi się potrzebami. Zleceniodawca ma przy tym pełną swobodę sterowania budżetem oraz zakresem planowanych do wykonania prac poprzez nadawanie im odpowiednich priorytetów. Rozliczenie projektu odbywa się na zasadach Time & Material, co oznacza, że nakłady finansowe ponoszone przez inwestora dotyczą wyłącznie czasu i zasobów poświęconych przy pracy nad wdrożeniem.

Którą metodykę wybrać?

Kwestia metodyki wdrożenia systemu informatycznego w firmie powinna zostać bardzo dokładnie rozpatrzona. Niezależnie od ostatecznej decyzji nie warto rozpoczynać procesu bez analizy wymagań. Oba podejścia – tradycyjne i zwinne – zakładają precyzyjne zbadanie otoczenia i warunków wewnętrznych determinujących architekturę zamawianego systemu. To, czy prace implementacyjne będą prowadzone z wykorzystaniem metodyki waterfall, czy agile, w większości przypadków zależy od podejścia zleceniodawcy do kwestii jego aktywnego udziału we wdrożeniu.

 

Dysponując swoim czasem, należy zdawać sobie sprawę, że Scrum wymaga stałej komunikacji i współpracy oraz bieżącej weryfikacji wykonanych prac. Dla niektórych firm tak duże zaangażowanie pracowników w proces wdrożenia stanowi pewną niedogodność. Inni uważają to jednak za główną zaletę podejścia agile. Z doświadczenia eVolpe wynika jednak, że zaangażowanie po stronie zleceniodawcy ma kluczowe znaczenie dla efektywnego wdrożenia.

 

Więcej na temat tego, która metodykę wybrać w naszym e-Booku…

Metodyki wdrażania systemów IT

podejście tradycyjne i zwinne