00

Scrum w pigułce cz. 1


Karol na łamach tego bloga już zaznajomił Was ze Scrumem, ja postaram się w tym poście pokazać Wam głębiej, co o Scrumie warto wiedzieć. Na poniższym obrazku przedstawiono w procentach wykorzystanie 10 metod i praktyk Agile w projektach. Scrum jest najczęściej wykorzystywaną metodyka Agile i to jej poświęcimy dziś troszkę czasu. W tym poście omówimy:

  1. Metodyki klasyczne kontra zwinne, czyli czym one się tak naprawdę różnią.
  2. Niepewność a dobór metodyki zarządzania projektami, czyli pomoc przy wyborze metodyki.
  3. Dlaczego zwinny?
  4. Dlaczego warto rozważać zwinne podejście?
  5. Manifest agile
  6. Co to jest Scrum (młyn)?
  7. Szkielet Scrum
  8. Role
  9. Właściciel produktu
  10. Zespół
  11. Scrum Master
  12. Co znaczy „wykonane”?
  13. Iteracje
  14. Rejestr zaległości produktowych

1

 1. Metodyki klasyczne kontra zwinne, czyli czym one się tak naprawdę różnią.

Cechy charakterystyczne dla tych obu podejść to:

  • Podejście tradycyjne – klasyczne:
    • Koncertuje się na dokładnym planowaniu całego projektu.
    • Wymagany jest wysoki stopień przewidywalności.
  • Podejście zwinne – agile
    • Opiera się na przyrostowym podejściu do realizacji produktu.
    • Jest idealnym rozwiązaniem dla projektów, w których wymagania muszą być odkryte lub badane są nowe technologie.
    • Skupia się na aktywnej współpracy pomiędzy przedstawicielami zespołu projektowego i klientów.

 2. Niepewność a dobór metodyki zarządzania projektami, czyli pomoc przy wyborze metodyki.

Metodyki zwinne w zarządzaniu projektami stosujemy, gdy cel naszego projektu jest jasno sprecyzowany i klarownie wiemy, czego potrzebujemy na sam koniec całego projektu. Takim przykładem może być zrobienie strony internetowej. Jednocześnie rozwiązanie, czy też wykonanie projektu, jest obarczone dużą dozą niepewności np. nie wiemy, czy nasza strona będzie potrzebowała sklepu internetowego na 10 produktów, czy też na 100. Decyzje w projekcie właściciel biznesowy będzie podejmował wraz z upływem czasu i postępami w pracach.

2

 3. Dlaczego zwinny?

Zwinność (agility) oznacza:

  • zdolność łatwego i szybkiego poruszania się,
  • lekkość, zwrotność, bystrość,
  • zdolność do szybkiego myślenia i wyciągania wniosków; elastyczność i potencjał – w sferze umiejętności i możliwości – do szybkiego i sprawnego dostosowywania się do zachodzących zmian, a także…
  • …odwagę bycia wystarczająco szczerym, by przyznać, iż budowanie oprogramowania jest procesem złożonym, który nie może zostać perfekcyjnie zaplanowany ze względu na zmieniające się otoczenie, potrzeby, wymagania i założenia.

 

 4. Dlaczego warto rozważać zwinne podejście?

  • Umiejętność dokonywania szybkiej zmiany, łatwość jej realizowania.
  • Zwiększona produktywność i jakość.
  • Wczesna eliminacja ryzyka.
  • Wczesne uzyskanie wartości,
  • Zwiększona świadomość odnośnie do aktualnego stanu prac (umiejscowienie w cyklu produkcyjnym),
  • Ograniczone marnotrawstwo,
  • Odchudzone (lean) produkty, szybciej i precyzyjniej zdobywające rynek,
  • Poprawa relacji z klientami/odbiorcami,
  • Zaangażowani i zmotywowani pracownicy,
  • Obniżone całkowite koszty realizacji (produkcji, wdrożenia i utrzymania oprogramowania).

 

 5. Manifest agile

ludzie i interakcje z nimi ponad procesy i narzędzia

działające produkty ponad kompleksową dokumentację

współpraca z klientem ponad negocjowanie kontraktu

reagowanie na zmiany ponad wypełnianie planu

źródło: http://agilemanifesto.org/iso/pl/manifesto.html

 6. Co to jest Scrum (młyn)?

  • Formacja w grze rugby 😉
  • metoda zarządzania projektami zgodna z manifestem agile,
  • prosty zbiór zasad, reguł i ról.

 

 7. Szkielet Scrum

Szkieletem całej metodyki Scrum są powtarzające się iteracje, nazywane Sprintami. Podczas kolejnych iteracji mamy do wykonania pewne czynności, które w Scrum nazywamy zaległościami. Iteracje trwają od 2 tyg. do 4 tyg. pracy zespołu i są wspierane poprzez codzienne spotkania zespołu. Po wykonaniu czynności finalnie otrzymujemy przyrost wartości naszego ostatecznego produktu.

3

 8. Role

Zgodnie z metodyką Zespół wraz ze Scrum Masterem i Product Ownerem są „świniami” w projekcie, natomiast całe otoczenie to „kurczaki„. Ten podział najlepiej przedstawiony jest w przytoczonej historyjce:

„Świnia i kurczak chcieli razem założyć restaurację. Gdy kurczak przedstawiał świni propozycję założenia knajpy, ta zapytała się jak ją nazwiemy? Świnia w odpowiedzi usłyszała “jajka na boczku”, świnia skwitowała rozmowę tymi słowami: “O nie! Ja się poświęcę a ty będziesz jedynie zaangażowany!”

Świnie:

  • Lider zespołu (Scrum Master, „młynarz”).
  • Właściciel produktu (Product Owner).
  • Zespół (Team).

Kurczaki:

  • Pozostali zainteresowani.

            8.1. Właściciel produktu

  • Definiuje wymagania i wartości produktu.
  • Utrzymuje listę zaległości produktowych.
  • Decyduje o kolejności wytwarzania funkcjonalności.
  • Zatwierdza (bądź nie) rezultat pracy zespołu.
  • Zespół i właściciel produktu powinni ze sobą współpracować.

            8.2. Zespół

  • Samodzielnie organizuje pracę tak, aby wykonać założenia sprintu.
  • Interdyscyplinarny, samowystarczalny, jednolita hierarchia służbowa.
  • Z reguły ok. 5-7 osób.
  • Podczas sprintu:
    • zespół pozostawia się samemu sobie,
    • skład zespołu nie powinien się zmieniać.

            8.3.Scrum Master

  • Jest liderem, a nie kierownikiem.
  • Pomaga właścicielowi produktu w wyborze zaległości produktowych.
  • Pomaga zespołowi w zamianie zaległości na funkcjonalność:
  • usuwa przeszkody (blokady),
  • chroni przed czynnikami zewnętrznymi,
  • rozwiązuje konflikty.

 9. Co znaczy „wykonane”?

  • Pełnowartościowy przyrost funkcjonalności:
    • gotowy do sprzedaży,
    • w pełni działający,
    • przetestowany,
    • z pełną dokumentacją,
    • kod zwrócony do repozytorium.
  • Rezultat sprintu zatwierdzony przez właściciela produktu.

10. Iteracje

Każdy z zespołów Scrum ma własne oczekiwania i interpretacje w jaki sposób przeprowadza kolejne iteracje. Przeanalizowałem pracę kilku zespołów pracujących w Scrum w szczególności przyglądając się iteracjom w poszczególnych zespołach. Jak zobaczymy poniżej każdy z zespołów, trzyma się bardzo blisko szkieletu Scrum o którym mówiłem wcześniej.

4

5

Lub tak 😉

6

11. Rejestr zaległości produktowych

Co powinno znaleźć się w rejestrze czynności do wykonania w iteracji czyli informacje o zadaniach do wykonania:

  • Product backlog.
  • Jawna lista wymagań związanych z produktem (przejrzystość projektu).
  • Każdy element na liście.
    • Jest oszacowany (koszt, wartość, ryzyko).
    • Ma priorytet (oszacowany przez właściciela produktu).
    • Elementy o wysokim priorytecie zawierają więcej szczegółów.
    • Może rozrastać się i zmieniać.

Poniżej zamieszczam przykładowy P . Zadania pogrupowane są w trzy kategorie ze względu na swój priorytet: Bardzo wysoki, wysoki i średni. Zadania pogrupowano również ze względu na obszar. Dla konkretnych zadań podano oszacowanie ich pracochłonności oraz autor.

7

Zakończenie

W następnym artykule o Scrumie pokażę Wam kolejne aspekty, o których warto wiedzieć, m.in.:

  • sprint,
  • rejestr zaległości w sprincie,
  • dokumentacja w Scrum,
  • najczęstsze problemy w Scrum i wiele innych.