SCRUM jest najpopularniejszą odmianą zwinnego podejścia do wytwarzania oprogramowania. Jest łatwy, lekki a zarazem trudny do opanowania. W dłuższej perspektywie powoduje, że zespoły pracują wydajniej, komunikacja pomiędzy biznesem a „IT” staje się sprawniejsza i tworzone aplikacje trafniej spełniają wymagania biznesowe. Zobacz jakie praktyki pomogą ci w jego skutecznym wdrożeniu.

Zdjęcie royalty free z Fotolia

1. Upewnij się, że wszyscy rozumieją czym jest SCRUM

Upewnij się, że zespół i otoczenie projektu rozumie czym jest SCRUM zanim zaczniesz go wdrażać. Zorganizuj kilka spotkań z interesariuszami, rozmawiaj z nimi indywidualnie oraz wyjaśniaj czemu służą poszczególne praktyki SCRUM. W trakcie kolejnych sprintów (sprint: inaczej okres czasu w którym zespół dostarcza gotowy zakres funkcjonalności, obejmuje: programowanie, testy, dokumentację) zaczną się pojawiać wartościowe pytania dotyczące szczegółów technicznych, takie jak organizować testy, jak pisać wymagania, jak zarządzać wydaniami. Zaoferuj zespołowi pomoc w wyjaśnianiu i szukaniu odpowiedzi na nie.

2. Trzymaj się podstawowych zasad

  • Zachowaj przejrzystość – upewnij się, że zespół i jego otoczenie (Product Owner, kluczowi użytkownicy) używają wspólnego nazewnictwa i wzajemnie się rozumieją. Osoby wykonujące pracę i osoby akceptujące jej wyniki powinny posługiwać się wspólną definicją „ukończonego zadania” (tzw. Definition Of Done - DOD).
  • Zadbaj o regularne dostarczanie działającego produktu – w trakcie sprintu zespół dostarcza przewidywany, działający przyrost produktu. Podczas Przeglądu Sprintu produkt powinien spełniać DOD. Dla niedoświadczonych zespołów może to być nie lada wyzwanie i mogą pojawić się sytuacje, gdzie w celu „dowiezienia” zakresu na czas, zespół będzie schodził z jakości kodu lub testów, cross-checkingu lub dokumentacji. Zwracaj na to uwagę i postaraj się, aby tego typu praktyki nie stawały się normą.
  • Dokonuj inspekcji – weryfikuj proces, postęp prac oraz produkt. Proces powinien być zgodny z podręcznikiem SCRUM tj. Scrum Guide1. Postęp pracy w trakcie sprintu odzwierciedla Wykres Wypalania. Skończony produkt powinien odpowiadać definicji ukończonej pracy. Pamiętaj, aby inspekcja nie stanowiła celu samego w sobie i nie stała się przeszkodą w wykonywaniu pracy.
  • Adoptuj – jeżeli podczas inspekcji zostaną wykryte rozbieżności, powinny zostać możliwie szybko skorygowane, aby ograniczyć dalsze odstępstwa. Właściwe momenty na inspekcję oraz adaptację to: Planowanie Sprintu, Codzienny Scrum, Przegląd Sprintu, Retrospektywa Sprintu. Fajną praktyką usprawniającą proces zbierania informacji zwrotnej o procesie jest tzw. „Retrobox”, czyli pudełko do którego każdy może wrzucić kartkę z informacją o tym, co "zagrało" (praktyki, które chcemy powtarzać), lub co nie "zagrało" (np. blokady testów, problemy z rozumieniem dokumentacji, problemy techniczne w dewelopowaniu). Podczas retrospektywy wyciąga się kartki i omawia razem z zespołem.
  • Trzymaj się ram czasowych – SCRUM zakłada konkretne „time boxy” tj. nieprzekraczalne ramy czasowe dla poszczególnych wydarzeń, dzięki czemu czas ten pożytkowany jest efektywnie. W pierwszych iteracjach wyrobienie się w terminie będzie trudne. Wtedy, jako Scrum Master masz dwa podejścia: definitywnie ucinasz spotkanie, gdy czas minie, aby pokazać zespołowi i Product Ownerowi konsekwencje nieefektywnych spotkań (w tym konsekwencje nie do końca dobrze zaplanowanego sprintu) albo godzisz się na dłuższe spotkania, ale zawsze sygnalizujesz, że kolejne powinno być krótsze, aby „małymi kroczkami” dojść do pożądanego rezultatu.

3. Stwórz zespół właściwych ludzi

Dobierz osoby, które oprócz kompetencji technicznych wymaganych do zrealizowania projektu będą posiadali cechy, dzięki którym staną się pionierami SCRUMa. Poznasz ich po tym, że:

  • dobrze czują się w pracy zespołowej, 
  • chcą się uczyć nowych technologii i metodyk, 
  • są entuzjastami SCRUM i podejścia zwinnego (Agile), 
  • są gotowy zapominać o starych nawykach,
  • napotykając „problem” mówią „challange accepted” ;)

4. Zaangażuj zespół

Częstym problemem podczas pierwszych sprintów jest brak zaangażowania całego zespołu wydarzenia SCRUM. Przyczyn może być wiele: od zbyt dużej ilości laptopów w sali, poprzez zmęczenie aż do indywidualnych cech charakteru członków zespołu. Zapytaj zespół o przyczyny i propozycje rozwiązań. Może warto zrobić kilka krótszych przerw zamiast jednej dłuższej, przenieść spotkania do innej sali albo zacząć używać bardziej materialnych artefaktów (np. tablica papierowa na retrospektywnie zamiast pliku tekstowego).

5. Przygotuj się na kilka wpadek

SCRUM bazuje na podejściu empirycznym, zgodne z zasadą „Słucham i zapominam, widzę i zapamiętuję, robię i rozumiem”. Pierwsze sprinty na pewno nie wyjdą idealnie (dłuższe spotkania, cisza na spotkaniach, niedowieziony zakres), ale ważne jest aby usprawniać proces oraz dostosowywać go do indywidualnych zespołów (wykorzystaj do tego retrospektywę). Jeżeli zdarzają ci się zastoje na spotkaniach lub negowanie pewnych praktyk masz dwie opcje:
  • jeżeli znasz SCRUM a zespół nie ma doświadczenia, powiedz: „Róbcie to co ja, bo to działa, jak opanujecie podstawy będziecie mogli wypracować własny styl”, albo: „Spróbujmy robić tak, jak zespół X, praktyki które zadziałają zostawimy, pozostałe wymyślimy sami”, 
  • jeżeli zespół ma już pewne doświadczenia w metodykach zwinnych, zapytaj: „Jak byście chcieli mieć zorganizowaną praktykę X (zamiast X może być dowolny artefakt SCRUM)?”.
Co sądzisz o powyższych praktykach? Czy mógłbyś polecić własne praktyki, które pomogły ci w skutecznym wdrożeniu SCRUM?

Cezary Kamiński

Scrum Master w Sii

W branży IT od 2009 roku. Przez ponad 2 lata zarządzał działem rozwoju oprogramowania wytwarzającego systemy typu CMS, DMS i Workflow. Specjalizuje się w zwinnych metodykach produkcji oprogramowania oraz szeroko pojętym wsparciu zespołów deweloperskich. Autor bloga cezarykaminski.pl


Komentarze (0)