Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne...

54
Programowanie obiektowe Laboratorium 7 i 8 - wstęp do scruma mgr inż. Krzysztof Szwarc [email protected] Sosnowiec, 19 kwietnia 2017 1 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Transcript of Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne...

Page 1: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Programowanie obiektoweLaboratorium 7 i 8 - wstęp do scruma

mgr inż. Krzysztof Szwarc

[email protected]

Sosnowiec, 19 kwietnia 2017

1 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 2: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Scrum

ScrumScrum jest jedną z metodyk zwinnych zgodnych z manifestemAgile. Zakłada on pracę zespołu przez określony okres czasu(sprint), której efektem ma być dostarczenie kolejnejdziałającej wersji produktu.

http://www.marcinmuras.com/

2 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 3: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Filary scruma

Przejrzystość (widoczny jest rzeczywisty stan procesu).

Inspekcja (analiza procesu wytwarzania).

Adaptacja (dostosowanie procesu do potrzeb).

http://procognita.pl3 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 4: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Elementy scruma

1 Role.2 Narzędzia (Rejestr Produktowy i Sprintu).3 Zdarzenia (spotkania i sprinty; zapewniają ramy czasowe

projektu i ułatwiają komunikację).4 Reguły (łączą pozostałe elementy).

4 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 5: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Główne role w zespole scrumowym

1 Właściciel produktu (ang. Product Owner) - reprezentujeklienta.

2 Scrum Master - coach scrumowy. Współpracuje zzespołem, właścicielem produktu i całą firmą.

3 Zespół deweloperski - odpowiada za dostarczenieproduktu.

https://www.safaribooksonline.com

5 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 6: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Właściciel produktu

Posiada wizję tworzonego produktu, którą zmienia nauporzadkowaną listę oczekiwań, tj. Rejestr Produktowy(ang. Product Backlog).

Koncentruje się na maksymalizacji zysku z inwestycji(ROI) - posiada wiedzę dziedzinową i stale analizuje rynek(zajmuje się stroną biznesową).

Pozyskuje informacje zwrotne o produkcie i wykorzystujeje do ustalenia kolejności zadań w RejestrzeProduktowym.

Współpracuje z zespołem i interesariuszami.

Akceptuje lub odrzuca efekty pracy.

6 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 7: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Miesjce właściciela produktu

http://www.romanpichler.com/

7 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 8: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Scrum Master

Odpowiada za poprawne wdrożenie oraz promowaniepodejścia zwinnego.Rozumie i tłumaczy zasady scruma.Wspiera i szkoli zespół.Upewnia się, że następuje efektywna współpraca orazwszyscy uczestnicy rozumieją cel i wiedzą jak go osiągnąć.Poprzez pytania pomaga zespołowi odnaleźć rozwiązanie(nie narzuca własnego).Chroni zespół i usuwa problemy (np. organizuje potrzebnenarzędzia).Pomaga w ciągłym doskonaleniu identyfikując przyczynyproblemów i możliwe rozwiązania.Prowadzi spotkania.Przywódca służebny.

8 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 9: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Miejsce Scrum Mastera

http://www.romanpichler.com/

9 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 10: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zespół deweloperski

Jest wielofunkcyjny - członkowie posiadają wszystkiepotrzebne umiejętności i wiedzę (w zakresie analizy,testów, kodowania i różnych elementów systemu, którenależy zmienić, aby dostarczyć przyrost produktu).

Najczęściej składa się z 3-9 osób (dla większych projektówzaleca się stworzenie wielu wielofunkcyjnych zespołów).

Jest samoorganizujący (członkowie sami dobierająniezbędne metody, narzędzia i procesy).

Członkowie nie mają formalnych ról i są przypisani dojednego zespołu.

Jest przypisany do jednego Rejestru Produktowego.

10 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 11: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zespół deweloperski cz. 2

Członkowie stale współpracują i komunikują się ze sobą,właścicielem produktu, Scrum Masterem orazinteresariuszami.

Rozwiązuje problemy. Jeżeli jego członkowie nie potrafiąsami rozwiązać problemu, zwracają się do Scrum Masterai właściciela produktu.

Pomaga właścicielowi produktu przygotować wymaganiado kolejnych sprintów oraz zbiera od niego i klientówinformację zwrotną.

11 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 12: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Narzędzia (artefakty)

1 Rejestr Produktowy (ang. Product Backlog) –uszeregowana lista oczekiwań.

2 Rejestr Sprintu (ang. Sprint Backlog) - elementy wybranez Rejestru Produktowego do sprintu.

3 Przyrost Produktu (ang. Product Increment) - efektkolejnego sprintu.

12 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 13: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Rejestr Produktowy

Rejestr Produktowy to uszeregowana lista wymagań (Elementyo wyższym priorytecie znajdują się wyżej).

Właściciel produktu jest odpowiedzialny za zarządzanienim.Często Elementami Rejestru (ang. Product BacklogItems) są Historyjki Użytkownika (ang. User Stories) lubprzypadki użycia (ang. Use Cases).Jest on ogólnodostępny (jako jedyne źródło informacji natemat zadań zespołu deweloperskiego).Zawiera wszystkie rzeczy wymagane do zrobienia.Każdy Element zawiera trzy atrybuty: opis, priorytet (zpunktu widzenia biznesowego) oraz koszt realizacji. Napriorytet wpływa ryzyko, wartość oraz koniecznośćrealizacji.

13 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 14: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykład Rejestru Produktowego

https://d2myx53yhj7u4b.cloudfront.net/

14 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 15: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykładowy proces tworzenia RejestruProduktowego

Na początku procesu właściciel produktu znajduje tylkogłówne, najważniejsze historyjki użytkownika i opierającsię na celach biznesowych stara się je priorytezować (zbiznesowego punktu widzenia). W dalszych etapachdokument aktualizowany jest przez niego oraz zespółdeweloperski.

Utworzone historyjki są konsultowane z zespołem, którystara się dokonać szacowania za pomocą tzw. StoryPoints (uniezależniona od czasu wykonania uniwersalnamiara złożoności danego zadania). Zakłada się, że imniższa wartość tym łatwiejsze zadanie. Zazwyczaj StoryPoints przybierają wartości z następującego zbioru:< 0, 12 , 1, 2, 3, 5, 8, 13, 20, 40, 100 >.

15 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 16: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Prędkość zespołu

Wydajność

Liczba ukończonych story pointów w jednostce czasu (np. wsprincie) to wydajność zespołu określana mianem prędkościzespołu (ang. velocity). Na jej podstawie możemy szacowaćczas zakończenia prac.

https://www.countersoft.com16 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 17: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Planistyczny poker (Scrum poker) do estymacji SP

Fazy pokera

Moderator (zwykle WłaścicielProduktu) czyta opis Historyjki iodpowiada na ewentualne pytania.

Wszyscy jednocześnie wyciągają kartęz wartością mówiącą, ile Story Pointspowinna ich zdaniem mieć danaHistoryjka.

Jeżeli estymaty się różnią to właścicielenajniższej i najwyższej wartościtłumaczą, dlaczego zaproponowali takąestymatę i głosowanie jest powtarzane.

http://img.freepik.com

17 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 18: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Od czego zacząć estymację?

Problem z estymacją pierwszych Historyjek rozwiązuje siępoprzez znalezienie prostej Historyjki i przypisanie jej 1 SP,albo Historyjki o średniej złożoności uznać za 5 SP. ResztęHistoryjek szacuje się relatywnie do wyestymowanych.

18 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 19: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Historyjki użytkownika

Historyjki użytkownika

Historyjki użytkownika (ang. User Stories) to jednozdanioweoczekiwania względem projektu, określone z punktu widzeniaużytkowników. Piszemy je w konwencji:

Jako (kto) chcę (czego oczekuję), by (w jakim celu).

Przykład: Jako zwykły użytkownik chcę powiększyć zdjęcie, bylepiej mu się przyjrzeć.

19 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 20: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Akronim INVEST dla Historyjek użytkownika

INDEPENDENT (niezależna) - historyjka nie powinnazależeć od innych.

NEGOTIABLE (negocjowalna) - powinna istniećmożliwość delikatnej modyfikacji.

VALUABLE (cenna) - musi dostarczyć wartośćinteresariuszom.

ESTIMABLE (dająca się oszacować) - musi istniećmożliwość oszacowania rozmiaru historyjki.

SMALL (niewielka) - powinna być możliwa dozaplanowania, wykonania i priorytetyzacji.

TESTABLE (testowalna) - musi umożliwić przetestowaniedodanej funkcji.

20 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 21: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Dekompozycja Historyjek użytkownika

http://www.agile-scrum.be

21 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 22: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Technika priorytetyzacji MoSCoW

MUST - wymaganie, które musi być spełnione wkońcowym, finalnym rozwiązaniu.

SHOULD - wymaganie o wysokim priorytecie, którepowinno być zawarte w rozwiązaniu, jeżeli jest to możliwe.

COULD - wymaganie, które jest pożądane, ale może gozabraknąć, tj. zostanie dodane, jeżeli pozwoli na to czas izasoby.

WON’T - wymaganie, które nie zostanie dodane waktualnej wersji tworzonego oprogramowania (za zgodąinteresariuszy), ale może zostać zaimplementowane wprzyszłości.

22 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 23: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Rejestr Sprintu

Rejestr Sprintu jest listą Elementów Rejestru wybranych zRejestru Produktowego do wykonania podczas danego sprintu.

https://www.scrumalliance.org/

23 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 24: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykładowy Rejestr Sprintu

https://www.mountaingoatsoftware.com

24 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 25: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przyrost Produktu

Przyrost Produktu jest wynikiem prac dostarczanym na koniecsprintu, tj. działający produkt rozszerzony o nowe funkcje wstosunku do wersji z poprzedniej iteracji. Powinien byćpozbawiony długu technologicznego.

http://www.enhancedscrumguidedotcom.files.wordpress.com/25 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 26: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Definition of Done

Definition of DoneDefinition of Done (DoD) to lista wymagań określająca stanwykonania zadania. Kiedy zespół deweloperski stwierdza, żeaktywność została ukończona oznacza to, że spełnia onawszystkie wymagania określone w DoD.

Powinny być określone przed estymacją.

Są ogólnodostępne.

Muszą być zrozumiałe i zaakceptowane.

Określają jakość produktu.

26 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 27: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykładowe Definition of Done

Testy jednostkowe pokrywają 40% kodu.

Pomyślnie przeprowadzono testy manualne.

Przeprowadzono inspekcję kodu.

Zaktualizowano dokumentację.

27 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 28: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Kryteria akceptacji

Kryteria akceptacji

Kryteria akceptacji (ang. Acceptance Criteria) określają jakiezałożenia muszą zostać spełnione przez rozwiązanie, abymogło ono zostać uznane, przez zamawiającego, jakoukończone. Dotyczy konkretnych zadań (historyjekużytkownika) i dzieli się na funkcjonalne (użyteczne z punktuwidzenia użytkownika) oraz niefunkcjonalne (dotyczyszczegółów technicznych, np. „System musi być dostępnypoprzez przeglądarkę internetową zgodną z ACID 3 napoziomie 100/100”).

28 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 29: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykładowe kryteria akceptacji dla rejestracji

Użytkownik nie może zakończyć procesu rejestracji bezwypełnienia wszystkich pól obowiązkowych w formularzu(oznaczonych gwiazdką).

Wszystkie wprowadzone przez użytkownika informacje, wformularzu rejestracyjnym, będą przechowywane w SZBDMySQL.

29 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 30: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Przygotujcie w zespole DoD dla systemu zarządzaniaprzedsiębiorstwem transportowym.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 31: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Wytypujcie w zespole Właściciela produktu.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 32: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Jestem klientem - porozmawiajmy o ramach projektu.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 33: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Stwórzmy historyjki użytkownika.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 34: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Napiszcie kryteria akceptacji dla historyjek użytkownika.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 35: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Dokonajcie priorytetyzacji historyjek z wykorzystaniemMoSCoW.

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 36: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

Przypiszmy Story Points do historyjek z wykorzystaniemplanistycznego pokera (play.planningpoker.com).

https://pbs.twimg.com/

30 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 37: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zdarzenia w scrumie

Zdarzenia mają za zadanie wprowadzenie regularności orazograniczenia potrzeby organizowania innych spotkań. Są oneograniczone czasowo (ang. timebox), a maksymalny czas ichtrwania jest ustalany z góry.

Czas trwania sprintu jest ustalany w chwili jegorozpoczęcia i nie może być modyfikowany.

Pozostałe zdarzenia mogą się zakończyć w momencie, gdycel zostanie osiągnięty (wykorzystanie wyłącznieniezbędnej ilości czasu).

https://blog.3back.com31 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 38: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Rodzaje zdarzeń

1 Sprint (zawiera wszystkie zdarzenia, role i artefakty).2 Planowanie sprintu.3 Codzienny Scrum.4 Przegląd sprintu.5 Retrospektywa sprintu.

http://csharpcorner.mindcrackerinc.netdna-cdn.com

32 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 39: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Cechy przebiegu (ang. sprint)

Trwa maksymalnie jeden miesiąc kalendarzowy.

Najczęściej trwa od jednego do czterech tygodni.

Zaleca się stosowanie przebiegów o stałych długościach.

33 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 40: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Planowanie sprintu

Określenie jaki będzie rezultat następnego sprintu(zdefiniowanie następnego Przyrostu Produktu).

Stworzenie Rejestru Sprintu przez zespół, który wybierazadania z Rejestru Produktowego.

Ograniczony najczęściej do ośmiu godzin dla miesięcznegosprintu (dla krótszych przebiegów jest ono zwyklekrótsze).

Rolą Scrum Mastera jest zapewnienie, że Planowaniesprintu się odbywa i jego uczestnicy rozumieją cel tegozdarzenia.

Scrum Master uczy Zespół Scrumowy utrzymywać je wwyznaczonych ramach czasowych.

34 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 41: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Codzienny Scrum

Przeznaczony dla Zespołu Deweloperskiego.

Ograniczony czasowo do 15 minut.

Ma wyznaczone stałe miejsce i czas.

Podczas niego następuje synchronizacja działań istworzenie planu na najbliższe 24 godziny (dokonywanajest inspekcja prac wykonanych od ostatniegoCodziennego Scruma i prognozowanie prac, które mogązostać wykonane przed kolejnym spotkaniem).

Scrum Master zapewnia, że Zespół Deweloperski (i tylkoon) spotyka się w ramach Codziennego Scruma, lecz toZespół Deweloperski jest odpowiedzialny za jegoprzebiega. Scrum Master uczy Zespół Deweloperski takżejak utrzymać piętnastominutowe ograniczenie czasowe.

Kluczowy dla procesu inspekcji i adaptacji.

35 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 42: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Codzienny Scrum - trzy pytania

Każdy członek Zespołu Deweloperskiego udziela odpowiedzina trzy pytania:1 Co zrobiłem wczoraj, co pomogło Zespołowi

Deweloperskiemu przybliżyć się do osiągnięcia celusprintu?

2 Co zrobię dzisiaj, co pomoże Zespołowi Deweloperskiemuprzybliżyć się do osiągnięcia celu sprintu?

3 Czy dostrzegam przeszkody mogące uniemożliwićosiągnięcie celu sprintu?

http://www.entrypoint.cz36 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 43: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przegląd sprintu

Organizowany na zakończenie sprintu w celuprzeprowadzenia inspekcji Przyrostu Produktu iewentualnego dostosowania Rejestru Produktowego.

Zespół Scrumowy i interesariusze dyskutują o efekciesprintu (uzyskanie informacji zwrotnej).

Uczestnicy spotkania wspólnie decydują co należałobywykonać w następnej kolejności, aby zwiększyćdostarczaną wartość.

Trwa maksymalnie 4 godziny dla miesięcznego sprintu(krócej dla krótszych sprintów).

W jego rezultacie aktualizowany jest Rejestr Produktowy.

37 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 44: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przegląd sprintu cz. 2

Scrum Master dba o to, aby spotkanie się odbyło i jegouczestnicy rozumieli jego cel. Uczy on wszystkichzgromadzonych jak utrzymywać je w wyznaczonychramach czasowych.

http://www.full-stackagile.com

38 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 45: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przegląd sprintu - przebieg

1 Właściciel Produktu informuje o stworzonejfunkcjonalności.

2 Zespół Deweloperski przedstawia co poszło dobrze, a coźle podczas sprintu.

3 Zespół Deweloperski przedstawia wynik pracy iodpowiada na pytania w sprawie Przyrostu Produktu.

4 Właściciel Produktu omawia Rejestr Produktowy i, jeślijest to wymagane, przewiduje termin zakończenia prac.

5 Cała grupa wspólnie omawia kolejne kroki procesu.6 Dokonuje się oceny zmian rynku i rewiduje zasoby.

39 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 46: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Retrospektywa sprintu

Ma na celu przeprowadzenie inspekcji działań iopracowania planu usprawnień.Trwa maksymalnie 3 godziny dla comiesięcznych sprintów.Scrum Master zapewnia, że Retrospektywa się odbędzie,a uczestnicy rozumieją jej cel i uczy jak utrzymaćzdarzenie w określonych ramach czasowych. Uczestniczyon w Retrospektywie jako zwykły członek zespołu.

http://4.bp.blogspot.com/

40 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 47: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Podsumowanie - scrum

http://www.agilebuddha.com/

41 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 48: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Dodatkowe narzędzie - tablica scrum

Tablica scrumTablica scrum (ang. scrum board) wykorzystywana jest dozobrazowania Rejestru Sprintu w formie listy zadań zpodziałem najczęściej na aktywności do wykonania,wykonywane oraz zakończone. Opcjonalnie można na niejzwizualizować np. tematy do omówienia podczas Retrospekcji.

https://cdn.slidehunter.com42 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 49: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Dodatkowe narzędzie - wykres wypalenia

Wykres wypalenia

Wykres wypalenia (ang. burndown chart) to metodawizualizacji postępów sprintu. W zależności od podejściamożemy korzystać z wykresów opartych na zadaniach lub naStory Points. Cechy wykresu:

Przedstawiając odchylenia względem idealnej linii postępumożemy wyciągać wnioski podczas Retrospektywy co doważnych momentów sprintu.

Ukazuje ryzyko niemożności wykonania prac w założonymterminie.

Prezentuje status sprintu.

43 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 50: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Przykładowy wykres wypalenia

http://3.bp.blogspot.com

44 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 51: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

1 Na podstawie Rejestru Produktowego przygotujmyRejestr Sprintu (niech każdy zespół dobierze unikalnezadania z Rejestru Produktowego o najwyższympriorytecie i jednocześnie mniejszym SP).

2 Przedstawcie wyniki zadania 1 na tablicy scrumowej.Skorzystajcie w tym celu z https://trello.com/

3 Czas na sprint.

45 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 52: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

1 Na podstawie Rejestru Produktowego przygotujmyRejestr Sprintu (niech każdy zespół dobierze unikalnezadania z Rejestru Produktowego o najwyższympriorytecie i jednocześnie mniejszym SP).

2 Przedstawcie wyniki zadania 1 na tablicy scrumowej.Skorzystajcie w tym celu z https://trello.com/

3 Czas na sprint.

45 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 53: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Zadania

1 Na podstawie Rejestru Produktowego przygotujmyRejestr Sprintu (niech każdy zespół dobierze unikalnezadania z Rejestru Produktowego o najwyższympriorytecie i jednocześnie mniejszym SP).

2 Przedstawcie wyniki zadania 1 na tablicy scrumowej.Skorzystajcie w tym celu z https://trello.com/

3 Czas na sprint.

45 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe

Page 54: Programowanie obiektowe - Laboratorium 7 i 8 - wstep do … 8.pdfScrum Master Odpowiada za poprawne wdrożenie oraz promowanie podejścia zwinnego. Rozumie i tłumaczy zasady scruma.

Dziękuję za uwagę

46 / 46 mgr inż. Krzysztof Szwarc Programowanie obiektowe