Strona główna > Web development > Scrum Framework
Journal

Scrum Framework

Oceń artykuł:

Zapewne wszystkim, którzy na co dzień pracują zgodnie z metodykami zwinnymi (np. Agile) pojęcia takie jak m.in. Certified Scrum Master, Story Points, Scrum Guide, Scrum Grooming, Sprint Planning, Sprint Retrospective oraz Scrum Framework są znane.

Od razu zauważmy, że Scrum Framework jest pojęciem pośród nich najbardziej ogólnym, zawierającym w sobie pozostałe.

Na marginesie poczyńmy też pewną uwagę.

Dla purysty językowego oraz znawcy Scruma zestawienie słów Scrum i Framework będzie brzmieć jak tautologia, a więc taki rodzaj konstrukcji językowej, w której zestawione wyrazy po prostu dublują swoje znaczenie.

Scrum - uprzedzimy jego definicję i znaczenie - jest przecież frameworkiem. Co to dokładnie oznacza będziemy wyjaśniać w poniższym artykule.

W tym momencie tylko dodajmy, że takie zestawienie jest dość popularne, stąd też nie ma co ulegać puryzmowi językowemu i można je w jakimś sensie zrozumieć i zaakceptować. Uzus jest jaki jest i nie ma potrzeby z nim walczyć.

Koniec końców, nie tylko chodzi o poprawność językową, ale przede wszystkim o zrozumienie sensu pojęcia, zakresu jego stosowalności oraz praktycznych korzyści, płynących z korzystania z metodyk zwinnych.

To jest clue, na którym chcemy się skupić.

W tym wypadku skupimy się na jednej z metodyk zwinnych - Agile, w ramach której Scrum jest właśnie strukturą, szkieletem, modelem postępowania.

Lub mówiąc bardziej macierzystym językiem dla tej metody, jest po prostu frameworkiem.

Przechodząc do konkretów, w niniejszym artykule “rozszyfrujemy”, co dokładnie kryje się za pojęciem Scrum Framework.

Przyjrzymy się pojęciom pokrewnym, powiązanym, stanowiącym clue Scruma - ich znaczeniom, stosowalności oraz przede wszystkim korzyściom, jakie zespoły developerskie, projektowe odnoszą, korzystając z Frameworku Scrum.

Zatem, jeśli jesteście ciekawi, co ma do zaoferowania metodyka zwinna Agile i jej najbardziej popularny framework - Scrum koniecznie poświęćcie kilkanaście minut na lekturę poniższego artykułu.

Serdecznie zapraszamy!

Chcesz stworzyć User Story?

Co to jest Scrum Framework?

Scrum jest terminem używanym przez graczy i trenerów rugby.

W kontekście zarządzania projektami IT pojawił się już w 1986 roku, w artykule opublikowanym w Harvard Business Review, w którym autorzy Hirotaka Takeuchi i Ikujiro Nonaka dostrzegli możliwości wykorzystania (oczywiście po adaptacji i rozwoju) metod stosowanych przez graczy rugby w projektach IT.

Czy wiesz, że...

Słowo framework na język polski tłumaczy się najczęściej jako pewien rodzaj ramy, szkieletu, struktury, sposób powiązania elementów, jako pewien kontekst lub model czegoś.

Słowo to odnosi się więc nie tylko do tego jak coś jest zbudowane, ale także do tego, jak to coś działa, zgodnie z jaką logiką działa.

Mówiąc o Frameworku mamy na myśli sposób organizacji (np. zadań, ról, procesów, procedur) oraz regulujące je zasady, normy, wartości, cele.

Tak właśnie też sprawy się mają, gdy łączymy słowo Framework oraz Scrum. Zbitka Scrum Framework powinna nam sugerować, że chodzi o pewną metodykę.

Czy wiesz, że...

Metodyka to nic innego jak pewien określony, skończony zbiór zasad. Dzięki takiemu zbiorowi zasad określić można sposoby, metody oraz narzędzia służącego do wykonania jakiejś pracy.

Zasady odnoszą się bowiem nie tylko do tego “co”, ale także do tego “jak”, “w jaki sposób” oraz “czym”, “za pomocą czego” i “z jakim skutkiem”.

Metodyka odnosi się także do aspektu edukacyjnego, jest bowiem także szczegółowym opisem sposobu nauczania.

Po tych wstępnych, ale koniecznych uwagach, czas zdefiniować, czym jest Scrum Framework, a właściwie po prostu Scrum.

W artykule pt. “Czym jest Scrum”, który został opublikowany na blogu Atlassian, Scrum jest definiowany jako: “Ramy postępowania, które ułatwiają zespołom współpracę”.

By umożliwić czytelnikom i adeptom metodyk zwinnych lepsze zrozumienie sensu tego pojęcia, autorzy tego artykułu przywołują bardzo obrazową metaforę.

Piszą o Scrumie tak oto:

Podobnie jak w drużynie rugby (skąd pochodzi nazwa) trenującej przed wielkim meczem,

Scrum zachęca zespoły do uczenia się na podstawie doświadczeń, samodzielnej organizacji podczas pracy nad problemem oraz refleksji nad sukcesami i porażkami w celu ciągłego doskonalenia.

Zgodnie z bardziej formalną definicją Scruma, opublikowaną w Słowniku Scrum, Scrum to framework wspierający zespoły developerskie, projektowe w szczegółowym, kompletnym opracowywaniu produktów cyfrowych.

Scrum składa się z zespołów Scrumowych (Scrum Teams) i związanych z nimi ról (np. Scrum Master), zdarzeń (np. Scrum Retrospective - retrospektywa Scrum), artefaktów i reguł, które są używane, pełnione zgodnie z definicją zapisaną w Scrum Guide.

Kolejny kontekst - ważny z punktu widzenia idei, ducha, ale także praktyki metodyk zwinnych - rozumienia Scrum znajdziemy w artykule pt. “What is Scrum?”. Na dedykowanej Scrumowi platformie Scrum.org.

Autorzy związani związani z Scrum.org dodają do powyższych definicji także elementy, które legły u podstaw, dzięki którym Scrum jest tym, czym jest.

W sensie ścisłym nie jest metodologią, choć jest ufundowany na empiryzmie naukowym. I co jeszcze ważniejsze -

Scrum zastępuje zaprogramowane podejście algorytmiczne podejściem heurystycznym, z szacunkiem dla ludzi i samoorganizacją, aby radzić sobie z nieprzewidywalnością i rozwiązywać złożone problemy.”

Ale to nadal nie wszystko, co można i trzeba napisać o frameworku Scrum.

Cechą charakterystyczną dla Scruma są także cykliczne spotkania (ceremonie):

  • Daily Stand-ups / Daily Scrum
  • Backlog Grooming
  • Sprint Planning
  • Scrum Retrospective - retrospektywy Scrum.

Scrum Framework nie jest tylko procesem, który zwiększa prawdopodobieństwo oraz znacząco ułatwia wytworzenie wysokiej jakości produktu cyfrowego. Co najważniejsze, w określonym czasie oraz w ramach założonego budżetu.

Scrum jest strukturą, ramą tego procesu, a to oznacza, że służy także do unikania typowych problemów oraz do rozwiązywania typowych problemów.

Typowych, bowiem nie można mieć złudzeń w kwestii jego omnipotencji - jest narzędziem tyleż użytecznym, co w jakimś zakresie niedoskonałym.

Podsumowując: czy użyjemy pojęcia Scrum (co jest poprawne i zalecane), czy pojęcia Framework Scrum, Scrum Framework (co nie jest rekomendowane, ale może być akceptowalne) mamy na myśli lekki framework.

Mamy na myśli strukturę ról, norm, wartości, celów, która pozwala zespołom developerskim, programistycznym, projektowym rozwiązywać złożone problemy i tworzyć w efektywny, wydajny sposób produkty cyfrowe, cechujące się wysoką jakością.

Najważniejsze cechy Scruma

Scrum zyskał na popularności głównie za sprawą swoich atrybutów i korzyści, jakie ewidentnie wiążą się z jego używaniem.

Jego popularność jest funkcją:

  • dużych, namacalnych, bezpośrednio odczuwalnych korzyści
  • łatwości wykorzystania tego frameworku
  • szybkości przyswojenia sonie jego podstawowych zasad, reguł
  • uniwersalności zastosowania.

Przede wszystkim Scrum jest:

  • prosty do zrozumienia
  • skoncentrowany na ludziach, dzięki czemu jest w stanie usprawniać pracę wieloosobowych, wielofunkcyjnych, zróżnicowanych pod kątem kompetencji i zakresów obowiązków zespołów
  • oparty na współpracy oraz ma iteracyjny, przyrostowy charakter, co umożliwia lepsze zarządzanie pracą, projektami
  • oparty na jasnych, racjonalnych zasadach
  • zapewnia kompleksowe podejście do tworzenia produktu cyfrowego oraz zarządzania projektem
  • przejrzysty, elastyczny
  • oparty na ustawicznej nauce, doskonaleniu się, głównie dzięki konsekwentnym wykorzystaniu informacji zwrotnych
  • efektywny i wydajny - pozwala znacząco uprościć i skrócić drogę oraz czas konieczny do wdrożenia pomysłów.
Czy wiesz, że...

Główną cechą Scruma jest oczywiście idea podziału dużych fragmentów zadań, działań, pracy na mniejsze i realizowanie ich w Sprintach, a więc konkretnie zdefiniowanych pod względem zakresu pracy przedziałach czasowych.

Kolejną bardzo ważną cechą Scruma jest wykorzystanie informacji zwrotnych, sprzężeń zwrotnych, dzięki czemu praca, procesy, efekty, produkt jest doskonalszy, ryzyko minimalizowane, a błędy ograniczane.

Według The Scrum Guide, Scrum jest frameworkiem, który pomaga zespołom wytwarzać wartość poprzez adaptacyjne rozwiązania złożonych problemów.

Co równie istotne, Scrum jest oparty na heurystykach. Oznacza to, że zespoły uczą się ustawicznie, korygują swoje błędy, adaptują się do zmiennych sytuacji i warunków.

Zespół zaczyna projekt w warunkach ograniczonej wiedzy i w jego trakcie poszerza jej zakres, głębię, złożoność.

Istotą Scruma jest naturalność, oczywistość konieczności dostosowania się do zmieniających się warunków, reagowania na zmieniające się wymagania formułowane przez użytkowników oraz interesariuszy.

Powyższe cechy mogą rodzić wyobrażenia o sztywnej metodzie, która jest dogmatyczna. Nic bardziej mylnego. Scrum jest elastyczny, ale jednocześnie posiada jasną, racjonalną, czytelną strukturę.

Co jeszcze ważniejsze, Scrum jest na tyle elastyczny, że możliwe jest jego adaptowanie do specyficznych potrzeb danej organizacji.

Przy czym, bez względu na to, w jaki konkretnie sposób dana organizacja będzie korzystać ze Scruma za każdym razem priorytetem będzie:

  • jasność, możliwie największa konkretność komunikacji
  • przejrzystość reguł, norm
  • zwiększenie zaangażowania.

Mając ogólne wyobrażenie o tym, czym jest Scrum czas pokrótce przybliżyć jego elementy, wskazać, opisać, wyjaśnić jego główne pojęcia.

Warto także mieć na uwadze, że ceremonie mają niezwykłe znaczenie dla powodzenia projektu.

Wszystkie - lub niemal wszystkie najważniejsze zalety - konsekwentnego podejścia do ceremonii Scrumowych zebrała Anna Kaley, w artykule pt. “UX Responsibilities in Scrum Ceremonies”.

Autorka, związana na co dzień z Nielsen Norman Group, bardzo przytomnie zauważa, że pominięcie ceremonii jest bardzo niekorzystne.

Głównie chodzi o utratę:

  • możliwości dostrzeżenia szerszego obrazu sytuacji (Big Picture)
  • wizji produktu
  • poczucia wspólnych celów, które powinno być podzielane przez wszystkich członków zespołu
  • możliwości dostrzeżenia niektórych problemów odpowiednio szybko
  • priorytetów, jakie powinny być wdrażane w kolejnych Sprintach
  • możliwości odkrycia, gdzie konieczna jest dodatkowa praca do wykonania.

Artefakty w Scrum

Zacznijmy od przybliżenia znaczenia słowa artefakty. Zgodnie ze słownikową definicją, artefakty to wszystko to, co jest tworzone, to wytwór pracy człowieka.

W Scrumie są trzy główne artefakty:

  • Backlog Produktu
  • Backlog Sprintu
  • Przyrost zgodny z Definition of Done (DoD).

Backlog Produktu jest listą prac prowadzoną przez Product Ownera. Nie jest jednak listą z przypadkowymi pozycjami, ale musi zachować odpowiedni porządek, ma określoną strukturę.

Obejmuje zadania, działania, elementy, jakie muszą być wykonane, by można było stworzyć produkt cyfrowy zgodny z oczekiwaniami  poszczególnych interesariuszy.

Backlog Produktu jest właściwie punktem wyjściowym dla stworzenia Backlogu Sprintu, o którym więcej napiszemy już za chwilę.

Czy wiesz, że...

Backlog Produktu nie jest jednak listą niezmienną - ma zdecydowanie charakter procesualny. Ulega nieustannym zmianom, przekształceniom, wraz z pojawieniem się nowych informacji, nowych problemów, nowych celów, czy nowych oczekiwań.

Backlog Sprintu to lista User Stories (o User Stories pisaliśmy więcej w artykule pt. “Kryteria akceptacji User Story”), a więc historyjek użytkownika, które będą implementowane w najbliższym planowanym Sprincie.

Przed każdym Sprintem zespół kolektywnie określa zakres prac, jaki będzie w nim podejmowany. Backlog Sprintu jest listą daleką od dogmatycznej sztywności, ale co do zasady zakresu Sprintu nie powinno się zmieniać w czasie trwania Sprintu.

Celem każdego Sprintu jest Przyrost - implementacja konkretnych elementów, funkcjonalności.

Przyrost posiada synonimy, pojęcia pokrewne i powiązane. W kontekście Przyrostu czasami używa się terminów takich jak Kamień Milowy (Milestone), Cel Sprintu (Sprint Goal).

Przyrost następuje wtedy, gdy dane elementy, funkcjonalności lub mówiąc jeszcze inaczej User Stories, spełniają Definicję Ukończenia - Definition of Done.

Czy wiesz, że...

Artefakty w Scrumie służą głównie do zapewnienia ciągłości, celowości procesu oraz uzyskania pewności, że proces przebiega płynnie.

Są istotne także z punktu widzenia rozumienia celów i metod projektu przez wszystkich członków zespołu w taki sam sposób.

Role w Scrum

Jak powiedzieliśmy, Scrum jest strukturą, także strukturą ról, które wyznaczają zakres działań, obowiązków oraz odpowiedzialności.

W ramach zespołu Scrumowego można wyróżnić trzy główne role:

  • Właściciel Produktu (Product Owner)
  • Scrum Master
  • Zespół Scrumowy (Development Team).

Product Owner stanowi jedną z kluczowych ról w Scrumie. Przede wszystkim jest on reprezentantem klienta końcowego i/lub interesariuszy.

To właśnie Właściciel Produktu jest w pierwszej kolejności odpowiedzialny za tworzenie User Stories, którymi jednocześnie zarządza w Backlogu Projektu. Definiuje zachodzące między nimi zależności oraz nadaje im odpowiedni priorytet oraz rangę.

Product Owner jest także odpowiedzialny za definiowanie oraz ogłaszanie wydań, zarządza zaległościami, przede wszystkim dbając o ich widoczność.

Jego zadaniem jest także zapewnienie maksymalnej przejrzystości Backlogu Produktu oraz zapewnienie zrozumiałości poszczególnych pozycji w Backlogu Produktu dla wszystkich członków zespołu Scrumowego.

Zespół Scrumowy w większości przypadków - wszystko oczywiście zależy od wielkości, złożoności, charakteru projektu i tworzonego produktu cyfrowego - składa się z programistów (front-end, backend), testerów.

Czy wiesz, że...

Zespoły developerskie pracując w Sprintach w dużym stopniu są samodzielne w organizowaniu, planowaniu swoich prac. Podstawą ich działania jest samoorganizacja, której celem jest także samodoskonalenie się, samoświadomość oraz samodzielność.

Rolą Scrum Mastera jest przede wszystkim organizowanie projektu na najwyższym, najbardziej ogólnym poziomie złożoności.

Scrum Master jest facylitatorem. Jego głównym celem jest usprawnienie komunikacji, przepływu informacji, zachowywanie wspólnej perspektywy.

Pomaga także w tworzeniu Backlogu Produktu, w określaniu DoD / Definition of Done. Prowadzi także codzienne spotkania Scrumowe, retrospektywy Sprintu, spotkania przeglądowe Sprintu.

Jaki jest główny cel podziału ról, delegowania zadań do konkretnych osób?

Podział ról w projektach tworzonych w metodykach zwinnych ma zapewnić przede wszystkim płynność pracy, maksymalizować jej wydajność oraz harmonizować działania, cele, środki, narzędzia.

Służy wydajności, bezpieczeństwu, dobrej atmosferze, jaka powinna panować w zespole, lepszej komunikacji.

Łódź jest dobrą metaforą zespołu Scrumowego, w którym każdy pełni określoną, konkretną rolę oraz funkcję.

Łódź wymaga sternika, który wie dokąd płynąć - tę funkcję pełni Właściciel Produktu.

By łódź mogła płynąć w określonym tempie, z określoną prędkością oraz w sposób bezawaryjny konieczny jest sprawny mechanik - tę funkcję pełni Scrum Master.

Z kolei zespół developerski wprawia łódź w ruch.

Mówiąc jeszcze nieco innym językiem, Scrum Master jest liderem zespołu Scrumowego, kieruje nim, z kolei Product Owner ma za zadanie zadbać, by wszyscy członkowie zespołu działali zgodnie z praktykami zwinnymi, dzięki czemu “dowiezienie” projektu jest o wiele łatwiejsze i bardziej bezproblemowe.

Warto to jeszcze raz podkreślić, że zespół Scrumowy jako pewna struktura działa zgodnie z ideą samoorganizacji, samodoskonalenia się.

W osiągnięciu tych celów i ideałów niezwykle pomocne są zasady, które w metodykach zwinnych, także we frameworku Scrum pełnią istotną rolę.

Zasady Scrum

Przyrostowy charakter metodyk zwinnych, w tym oczywiście frameworku Scrum, ma tę zaletę, że pozwala o wiele skuteczniej kontrolować ryzyko, minimalizować błędy, optymalizować procesy, poprawiać przepływ pracy.

Efektywność zapewnia pięć kluczowych wartości Scrum (zasady), które stanowią trzon Scruma.

Są nimi:

  • zaangażowanie (Commitment)
  • koncentracja, skupienie (Focus
  • otwartość (Openness)
  • szacunek (Respect)
  • odwaga (Courage)

Artykuł pt. “10 Most Frequently Mentioned Basic Rules in Scrum” stanowi dobre uzupełnienie powyższej listy, bowiem ogólne, trochę abstrakcyjne wartości przekłada na praktyczny konkret.

W głównej mierze zasady odnoszą się do norm, jakie powinno się urzeczywistniać odnośnie organizacji Sprintów, które:

  • nie powinny być dłuższe niż 4 tygodnie
  • nie powinny być oddzielone od siebie
  • powinny mieć tę samą długość
  • powinny być zorientowane na realistyczny cel - możliwy do dostarczenia.

Ponadto, w czasie Sprintów należy przykładać dużą wagę do:

  • planowania
  • retrospektywy Sprintu
  • przeglądu Sprintu.

Podobne zasady da się sformułować względem tworzenia, utrzymywania Backlogu Produktu. Szerzej o zarządzaniu, optymalizowaniu oraz dobrych praktykach pisaliśmy w artykule pt. “Scrum Grooming”.

Definition of Done

W metodykach zwinnych (np. Agile) siłą rzeczy bardzo istotne jest klarowne zdefiniowanie, kiedy, po spełnieniu jakich warunków dana funkcjonalność, element systemu można uznać za ukończony.

Co najważniejsze, dla każdego członka zespołu stan, status “wykonane”, “ukończone” powinien oznaczać dokładnie to samo.

Definicja ukończenia - Definition of Done - powinna mieć charakter grupowy, zespołowy. Co to oznacza?

Chodzi o uzyskanie maksymalnej jednoznaczności. Pewność, kiedy dana funkcjonalność, element jest ukończony jest niezwykle istotna, bowiem pozwala między innymi odpowiednio zarządzać Przyrostem produktu, planowaniem kolejnych Sprintów.

Scrum Framework. Podsumowanie

  1. Scrum jest strukturą, szkieletem, modelem postępowania.
  2. Scrum jest frameworkiem w ramach szerszej metodyki Agile.
  3. Słowo framework oznacza ramę, szkielet, strukturę, sposób powiązania elementów, kontekst lub model czegoś.
  4. Framework odnosi się nie tylko do tego, jak coś jest zbudowane, ale także do tego, jak to coś działa, zgodnie z jaką logiką działa.
  5. Mówiąc o frameworku mamy na myśli sposób organizacji (np. zadań, ról, procesów, procedur) oraz regulujące je zasady, normy, wartości, cele.
  6. Zgodnie z podstawową definicją Scrum jest ramą postępowania, która ułatwia zespołom developerskim, projektowym współpracę.
  7. Scrum zachęca zespoły do uczenia się na podstawie doświadczeń, samodzielnej organizacji podczas pracy nad problemem oraz refleksji nad sukcesami i porażkami w celu ciągłego doskonalenia.
  8. Scrum składa się z zespołów Scrumowych i związanych z nimi ról, zdarzeń, artefaktów i reguł, które są używane, pełnione zgodnie z definicją zapisaną w Scrum Guide.
  9. Scrum służy także do unikania typowych problemów oraz do rozwiązywania typowych problemów.
  10. Ważną cechą Scruma jest wykorzystanie informacji zwrotnych, sprzężeń zwrotnych, dzięki czemu praca, procesy, efekty, produkt jest doskonalszy, ryzyko minimalizowane, a błędy ograniczane.
  11. Scrum jest oparty na heurystykach - zespoły uczą się ustawicznie, korygują swoje błędy, adaptują się do zmiennych sytuacji i warunków.
  12. Artefakty w Agile, Scrumie służą głównie do zapewnienia ciągłości, celowości procesu oraz uzyskania pewności, że cały proces przebiega płynnie.
Oceń artykuł:
Journal / Redaktor
Autor: Radek
UX Writer i badacz z wykształcenia + doświadczenia. Zbiera wiedzę The Story i dzieli się nią na Journalu.

Jesteś zainteresowany współpracą z nami? Zajrzyj do Portfolio