Scrum

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Scrum - iteracyjna i inkrementalna metodyka prowadzenia projektów, zaliczana do metodyk zwinnych, zgodnych z manifestem Agile. W metodyce tej rozwój produktu podzielony jest na mniejsze, trwające od tygodnia do miesiąca, iteracje zwane sprintami następującymi bezpośrednio po sobie. Po każdym sprincie zespół pracujący nad rozwojem produktu jest w stanie dostarczyć działającą wersję produktu. Scrum jest często stosowany podczas tworzenia i rozwijania oprogramowania, nie jest jednak ograniczony tylko do tej dziedziny. Ogólne założenia metodyki zostały zaprezentowane przez Hirotaka Takeuchi i Ikujiro Nonaka w artykule The New Product Development Game, opublikowanym w Harvard Business Review w styczniu 1986 roku. Pełna metodyka oraz definicja została sformalizowana przez Kena Schwabera w 1986[1].

Opis ogólny[edytuj | edytuj kod]

Zespół pracuje w określonym przedziale czasowym zwanym przebiegiem (ang. sprint). Efektem przebiegu za każdym razem powinno być dostarczenie użytkownikom kolejnej działającej wersji produktu. Zasadą jest to, że zmiany wprowadzane w jednym przebiegu muszą być namacalne dla użytkowników. Muszą wnosić wartość funkcjonalną. Przebieg może trwać od 1 do 4 tygodni. Zaleca się stosowanie przebiegów o stałych długościach.

Na początku pracy nad produktem zbierana jest lista wymagań użytkownika, są one przeważnie gromadzone w postaci "historyjek" (ang. User Stories). Każda historyjka opisuje jedną cechę systemu. Właściciel produktu (ang. Product Owner) jest też zobowiązany do przedstawienia priorytetu wymagań oraz głównego celu pierwszego przebiegu. Po tym formułowany jest rejestr wymagań (ang. Product Backlog). Cel przebiegu jest zapisywany w widocznym miejscu w pokoju członków zespołu.

Następnie podczas planowania przebiegu (ang. Sprint Planning) wybierane są zadania o najwyższym priorytecie, a jednocześnie przyczyniające się do realizacji celu przebiegu. Szacuje się czas realizacji, pracochłonność, złożoność i ryzyko każdego zadania. Lista zadań wraz z oszacowaną czasochłonnością nosi nazwę rejestru zadań przebiegu (ang. Sprint Backlog).

Po planowaniu zespół przechodzi do realizacji przebiegu. W jego trakcie Właściciel Produktu powinien cały czas pracować z zespołem nad jak najlepszym zrozumieniem wymagań nie ingerując jednocześnie w sposób ich implementacji. Nie powinno się także zmieniać zakresu Sprintu.

Jako że zespół z założenia jest samoorganizującym się ciałem, nie ma mowy o odgórnym przypisywaniu zadań do poszczególnych członków zespołu, lecz samodzielnie dokonują oni wyboru realizowanych zadań, według wspólnych ustaleń, umiejętności czy innych preferencji.

Naczelną zasadą metody jest przeprowadzanie codziennych (maksymalnie 15-minutowych) spotkań (ang. Daily Scrum), na których omawiane są zadania zrealizowane poprzedniego dnia, problemy występujące przy ich realizacji oraz zadania do wykonania w dniu spotkania.

Sprint kończy się spotkaniem będącym przeglądem przebiegu (ang. Sprint Review), na którym prezentowany jest wynik pracy zespołu, poprzez prezentowanie produktu wykonanego podczas przebiegu. Powinni w nim uczestniczyć wszyscy zainteresowani projektem. Na spotkaniu każdy członek zespołu może zabrać głos i wyrazić opinię o produkcie. Po omówieniu produktu ustalany jest termin spotkania planistycznego do następnego przebiegu.

Metodyka skupia się na:

  • dostarczaniu kolejnych, coraz bardziej dopracowanych wyników projektu,
  • włączaniu się przyszłych użytkowników w proces wytwórczy,
  • samoorganizacji zespołu projektowego.

Zespół i role[edytuj | edytuj kod]

Zazwyczaj Zespół Scrum składa się z od 3 do 9 osób. Dobrze, gdy ma charakter interdyscyplinarny i składa się z osób reprezentujących różne umiejętności. Osoby uczestniczące w zespole nie mogą uczestniczyć w innych zespołach.

Główne role w projekcie grają: "Mistrz Młyna" (ang. Scrum Master), Właściciel Produktu (ang. Product Owner) i Członkowie Zespołu (ang. Development Team).

Role główne[edytuj | edytuj kod]

  • Zespół - grupa osób, składająca się od trzech do dziewięciu osób, odpowiedzialna za dostarczenie produktu
  • Właściciel produktu - osoba reprezentująca klienta. Właściciel produktu może być członkiem zespołu, jednak nie jest zalecane, aby jednocześnie był Scrum Masterem
  • Scrum Master - osoba odpowiedzialna za usuwanie wszelkich przeszkód uniemożliwiających zespołowi wykonanie zadania, oraz za poprawną implementację procesu i metod.

Przypisy

  1. The Scrum Primer

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]