Opublikowano: 02.10.2017

Co to jest Scrum - Elementy Scruma

Co to jest Scrum - Elementy Scruma

Każdy zespół, produkt i organizacja są inne. Dlatego Scrum to minimalny zbiór praktyk pozwalający na otrzymanie informacji zwrotnej na temat tego jak działamy (sposobu pracy) i co robimy (tworzonego produktu).

Scrum składa się zaledwie z kilkunastu elementów podzielonych na Role, Wydarzenia (Ramy Czasowe), Narzędzia i Reguły. Reguły to lista zasad łączących Role, Aktywności i Narzędzia w jedną całość. Wszystko co nie jest niezbędne jest traktowana jako dobra praktyka (zauważ różnicę między "dobrą praktyką" a "najlepszą praktyką").

Role Scrum

Role Scrum

Scrum wyróżnia tylko trzy role. Są to Zespół (Deweloperski), Scrum Master i Product Owner. Te trzy role mają wspólny cel, dlatego całą trójkę nazywamy Zespołem Scrum (Scrum Team).

  • Zespół (Deweloperski, Development Team) - Jest odpowiedzialny za dostarczenie działającego produktu. Dlatego:

    • Jest cross-funkcjonalny, i cross-komponentowy czyli składa się z ludzi posiadających wszystkie potrzebne umiejętności i wiedzę potrzebne do dostarczenia produktu. Dotyczy to zarówno różnych kroków tworzenia produktu (analiza, testy, programowanie), jak i różnych elementów systemu (komponentów).
    • Jest mały, żeby jego członkowie efektywnie ze sobą współpracowali. Rekomendowana wielkość to 3-9 osób. W przypadku większych produktów i projektów Scrum zaleca stworzenie wielu cross-funkcjonalnych zespołów.
    • Jest samoorganizujący się. Jego członkowie są odpowiedzialni za osiągnięcie celu, dlatego sami dobierają narzędzia i procesy.
    • Jego członkowie stale współpracują i na bieżąco komunikują się ze sobą, Product Ownerem,  Scrum Masterem czy interesariuszami. Dlatego rekomendowane jest, żeby cały Zespół był skolokowany, czyli siedział w jednym pomieszczeniu.
    • Sam oszacowuje i mierzy postęp pracy w kierunku osiągnięcia celu.
    • Rozwiązuje problemy, które są w jego zasięgu. Z pozostałymi zwraca się do Scrum Mastera i Product Ownera.
    • Pomaga Product Ownerowi przygotować wymagania do kolejnych Sprintów, zbiera od niego i klientów informację zwrotną.
    • Członkowie Zespołu nie mają formalnych ról (poza rolą członka zespołu). Nie ma więc analityków, testerów czy deweloperów. Są natomiast ludzie z różnymi umiejętnościami i specjalizacjami. Nie ma też liderówczy managerów wyznaczonych przez zewnętrzną organizację.
    • Jest w pełni dedykowany. Członkowie są przypisani na 100% do jednego zespołu, a cały zespół do jednego Rejestru Produktowego (i Product Ownera).
  • Scrum Master (SM) – to coach Scrumowy. Pracuje zarówno z Zespołem, Product Ownerem jak i całą organizacją.

    • Jest odpowiedzialny za efektywne wdrożenie i promowanie podejścia Agile.
    • Rozumie i tłumaczy zasady Scruma i upewnia się, że są stosowane.
    • Wspiera Zespół i Product Ownera w stosowaniu Scruma.
    • Pokazuje im narzędzia pomocne w ich pracy i upewnia się, że efektywnie ze sobą współpracują, oraz że rozumieją cel oraz jak go osiągnąć. Nie narzuca jednak swoich rozwiązań, ale poprzez pytania pomaga Zespołowi odnaleźć jego własne.
    • Chroni zespół przed zewnętrznymi czynnikami i usuwa przeszkody stojące na jego drodze.
    • Pomaga zespołowi szukać sposobów ciągłego doskonalenia przez identyfikację rzeczywistych przyczyn ich problemów i możliwych rozwiązań. W tym celu obserwuje co się dzieje w zespole i zauważa również te elementy, które są niewidoczne na pierwszy rzut oka. Często działa jako lustro dzieląc się swoimi obserwacjami.
  • Product Owner (PO) – jest "klientem zespołu" skupiającym się na stronie biznesowej przedsięwzięcia.

    • Posiada wizję produktu, którą przekształca na uszeregowaną listę oczekiwań (Rejest Produktowy - Product Backlog).
    • Koncentruje się na maksymalizacji zysku z inwestycji (ROI).
    • W tym celu musi mieć bardzo dobrą wiedzę na temat rynku i stale go analizować w poszukiwaniu nowych oczekiwań w stosunku do produktu.
    • Musi też zbierać informację zwrotną na temat produktu. Na jej podstawie ustala kolejność zadań w Rejestrze.
    • PO na bieżąco współpracuje z zespołem, i interesariuszami.
    • Podejmuje decyzje na temat Wydań (Release), lub o zakończeniu prac nad produktem.

Każdy, kto nie pełni żadnej z tych trzech ról jest po prostu nazywany interesariuszem. W tą grupę wpadają nie tylko użytkownicy i klienci, ale również wszyscy pozostali pracownicy firmy, w tym managerowie.

Wydarzenia Scrum

Wydarzenia Scrum

Wszystkie wydarzenia w Scrumie są ograniczone czasowo. Tym samym Scrum zabezpiecza nas przed ciągnącymi się w nieskończoność dyskusjami na temat architektury, wymagań czy wyborem rozwiązania i zmusza do dostarczenia przyrostu produktu co iterację.

Wiele organizacji rozpoczyna pracę nad nowymi produktami do Warsztatów Odkrywania Produktów (Product Discovery Workshops, zwanych czasami Spotkaniem Planującym Wydanie (Release Planning Meeting) – krótkich (najczęściej kilkugodzinnych, maksymalnie kilkudniowych) sesji, w trakcie których ustalana jest wizja produktu, identyfikowane cele biznesowe, hipotezy do zweryfikowania, czy grupa docelowa klientów. Często ma też na celu ustalenie minimalnego zakresu najbliższego wydania. Nie jest to jednak obowiązkowe spotkanie w Scrumie, w odróżnieniu od pozostałych elementów:

  • Sprint – czyli Iteracja. To czas, kiedy Zespół będzie tworzył kolejny przyrost produktu. Sprint zawiera w sobie wszystkie inne wydarzenia. Każda Sprint posiada swój cel, ustalany przy planowaniu. W trakcie Sprintu zespół wykonuje wszystkie zadania niezbędne do osiągnięcia tego celu. Zespół też na bieżąco śledzi postęp pracy i w razie potrzeby prosi Product Ownera i Scrum Mastera o pomoc.
    Iteracje trwają zwykle od tygodnia do czterech. Najbardziej popularne są Sprinty dwutygodniowe.

  • Planowanie Sprintu (Sprint Planning) – służy do ustalenia celu i zakresu Sprintu. Spotkanie składa się z dwóch części, które wiele zespołów wykonuje naraz.
    W trakcie pierwszej ustala się "CO" jest do zrobienia. Z Rejestru Produktu (Product Backlog) wybierane są najważniejsze elementy, które zespół będzie mógł dostarczyć w trakcie Sprintu. Zespół omawia z Product Ownerem te elementy i w razie potrzeby je uszczegóławia. Te elementy umieszczane są w Rejestrze Sprintu (Sprint Backlog)
    Druga część służy natomiast do dyskusji "JAK" zostanie wykonana ta praca. Bardzo często wymaga to ustalenia wstępnego planu prac i konkretnych zadań.
    Dla dwutygodniowych iteracji całe spotkanie nie powinno zająć więcej niż cztery godziny.

  • Codzienne spotkania (Daily Scrum) – To krótkie (do piętnastu minut), codzienne spotkanie zespołu mające na celu synchronizację pracy i ustalenie stanu planu Sprintu. Bardzo pomocne w tym są Tablica Zadań (Task Board) i Wykres Spalania dla Iteracji (Iteration Burndown Chart). Spotkanie jest przeprowadzane przez zespół i dla zespołu. Najczęściej uczestnicy odpowiadają na trzy proste pytania:

    • Co zrobiłem od ostatniego spotkania aby osiągnąć cel Sprintu
    • Co zamierzam zrobić przed następnym spotkaniem aby osiągnąć cel Sprintu
    • Czy jest coś, co utrudnia lub uniemożliwia mi pracę.
  • Porządkowanie Rejestru (Backlog Refinement) - W trakcie trwania Sprintu, Product Owner wraz z zespołem porządkuje Rejestr Produktu i uszczegóławia te elementy, które najprawdopodobniej znajdą się w następnej Iteracji, tak aby były gotowe na Planowanie Sprintu.
    Większość zespołów poświęca od 5-10% całego Sprintu na tą czynność. Wiele organizuje również jedno lub kilka spotkań w trakcie trwania Sprintu na których omawia elementy Rejestru.

  • Przegląd Sprintu (Sprint Review) – pierwsze z dwóch spotkań na zakończenie Sprintu, mające na celu omówienie produktu. Najczęściej wiąże się to z zaprezentowaniem interesariuszom działającej funkcjonalności, zebranie od nich informacji zwrotnej oraz dyskusje na temat możliwości dalszego rozwoju produktu.
    Dla dwutygodniowych Sprintów będziecie potrzebować  do dwóch godzin.

  • Retrospektywa (Sprint Retrospective) – drugie spotkanie kończące Sprint, poświęcone sposobie pracy. Retrospektywy mogą się skupiać na różnych aspektach tej pracy, od procesów, przez komunikację z Product Ownerem, sposób zbierania wymagań czy informacji zwrotnej od klientów, aż do zasad i wartości ważnych dla członków zespołu. Bardzo często zespół analizuje ostatni Sprint, szukając możliwości usprawnienia swojego sposobu działania. Zdefiniowane akcje znajdą się w następnym Sprincie.
    Po dwutygodniowym Sprincie przeznaczcie na retrospektywę około 1,5 godziny.

Narzędzia (Artefakty) Scrum

Artefakty Scrum

Narzędzia w Scrumie służą do planowania i śledzenia postępu prac. Tak jak cały Scrum narzędzia są bardzo proste, ale również bardzo efektywne.

  • Przyrost Produktu (Product Increment) – jest tym co Zespół powinien dostarczyć na koniec Sprintu, czyli działającym produktem rozszerzonym o nowe możliwości (funkcjonalności) w stosunku do wersji z poprzedniego Sprintu.

  • Rejestr Produktowy (Product Backlog) – to uszeregowana lista potrzeb (wymagań, funkcjonalności). Product Owner jest odpowiedzialny za zarządzanie tą listą, natomiast Zespół za dostarczenie jej części w kolejnych sprintach. Popularnymi Elementami Rejestru (Product Backlog Items) są Historyjki Użytkownika (User Stories), ale można też tam umieścić funkcjonalności, Przypadki Użycia (Use Cases), błędy, czy zgłoszenia od klienta, a nawet zwykłą listę rzeczy do zrobienia (TODO list).

  • Rejestr Sprintu (Sprint Backlog) – to lista Elementów wybranych z Rejestru Produktu do Sprintu, czyli na przykład Historyjki, które chcemy zrobić w trakcie Sprintu.

Reguły (Ustalenia) Scrum

Ostatnim elementem Scruma są reguły, czyli ustalenia pomiędzy członkami Zespołu Scrum. Są to:

  • Definicja Ukończenia (Definition of Done, DoD) – lista kryteriów, które musi spełniać przyrost produktu, żeby móc powiedzieć, że zespół skończył nad nim pracę. Najczęściej w skład DoD będą wchodziły takie elementy jak napisany kod, zintegrowany, przetestowany, brak błędów itp.

  • Ograniczenia Czasowe (Time boxes) – ustalona z góry długość Sprintu czy spotkań zdecydowanie pomaga w pracy i skupieniu się na celu.

Dobre Praktyki Agile

Ron Jeffries powiedział kiedyś:

"Scrum jest lupą. Pracę wykonuje się pod lupą, a nie lupą".

Scrum pokazuje problemy i możliwości jakie ma Twój zespół i organizacja i to do Was należy ich zaadresowanie. Praktycznie wszystkie Zespoły Scrumowe sięgają po różne praktyki Agile i Lean, zarówno typowo inżynieryjne (programowanie w parach, ciągła integracja czy TDD) jak i te związane z odkrywaniem produktu (Wizja Produktu, Persony), zarządzaniem wizualnym (Tablica Zadań, Wykresy Spalania), zarządzaniem wymaganiami (Historyjki Użytkownika) lub szacowaniem (Poker Planistyczny).

Tomasz Wykowski

Tomasz Wykowski

Międzynarodowy gawędziarz i jedyny polski trener Scrum Alliance. Ciągle poszukuje nowych rozwiązań.

Podobne

Komentarze (0)

Brak komentarzy, dodaj pierwszy!

Dodaj komentarz