scrum w 59 minut

31
Scrum w 59 minut Tomasz Włodarek 1.00.12

Upload: me-myself-and-i-affiliated-with-scrumorg

Post on 14-May-2015

16.263 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Scrum w 59 minut

Scrum w 59 minut Tomasz Włodarek

1.00.12

Page 2: Scrum w 59 minut

Tomasz Włodarek

PST, PSM, PSPO, CSM, CSPO, CSP, itp. itd. J Obecnie: niezależny konsultant, trener, coach Wcześniej: Senior Project Manager, Sabre Holdings, Kraków Product Team Manager, Motorola, Kraków (Senior) Software Engineer, Motorola, Kraków Game Developer, Game Co-Author, Optimus Nexus, Gdańsk Pełny profil zawodowy: www.linkedin.com/in/wlodarek www.poddrzewem.pl [email protected]

Page 3: Scrum w 59 minut

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

plany, plany, plany

Page 4: Scrum w 59 minut

konfrontacja

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 5: Scrum w 59 minut

Kocham te ostateczne, nieprzekraczalne terminy.

Uwielbiam świst jaki wydają gdy mijamy je na

pełnym gazie. –Douglas Adams

*http://pl.wikipedia.org/wiki/Douglas_Adams

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 6: Scrum w 59 minut

Odjazd autobusu 17:00, kolejne przystanki 24:15, 26:15, … Przyjazd na miejsce 31:15

Oddać software na czas (prawie) każdy głupi potrafi. –Przysłowie indiańskie

” “

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 7: Scrum w 59 minut

W zmaganiach między tobą a rzeczywistością, rzeczywistość zdaje

się mieć przewagę. –Przysłowie indiańskie

” “

Jeśli nazwiemy psi ogon łapą, ile łap ma pies?

Cztery. Nazwanie ogona łapą nie powoduje, że pies zaczyna biegać szybciej.

–Abraham Lincoln

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 8: Scrum w 59 minut

więcej wariantów pod adresem: www.projectcartoon.com

Oto czego naprawdę potrzebował klient…

…a oto co zostało mu dostarczone

Page 9: Scrum w 59 minut

agile (Agile Software Development)

Page 10: Scrum w 59 minut

Zwinność (agility) oznacza (1) zdolność łatwego i szybkiego poruszania się; lekkość, zwrotność, bystrość; (2) zdolność do szybkiego myślenia i wyciągania wniosków; (3) 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.

Page 11: Scrum w 59 minut

Dlaczego warto rozważać zwinne podejście

Stan bieżący §  Opóźnienia w realizacji projektów, długie cykle

produkcyjne, późna kapitalizacja. Innowacja staje się imitacją

§  Planowanie i utrzymanie planu wydaje się zabierać zbyt dużo czasu

§  Odstępstwo od planu jest kosztowne, wprowadzanie zmian w trakcie realizacji projektu jest trudne

§  Jakość tworzonego oprogramowania się pogarsza, faza stabilizacji przed wydaniem się wydłuża

§  Produkty stają się coraz droższe w utrzymaniu i rozwijaniu

§  Niezadowoleni, zrażeni współpracą klienci/odbiorcy §  Marsze śmierci* obniżają morale, rośnie frustracja,

występuje przerzucanie się odpowiedzialnością i szukanie kozłów ofiarnych

*Edward Yourdon, Marsz ku klęsce, WNT 2007

Agile §  Umiejętność dokonywania szybkiej zmiany, łatwość jej

realizowania

§  Zwiększona produktywność i jakość §  Wczesna eliminacja ryzyka

§  Wczesne uzyskiwanie wartości §  Zwiększona świadomość odnośnie 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)

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Wszystkie prawa zastrzeżone.

Page 12: Scrum w 59 minut

Wszyscy docenią Scruma, bowiem opisuje on dokładnie to, co robimy, gdy zostaniemy przyparci do muru.

–Jim Coplien (The Scrum Guide, Ken Schwaber, Jeff Sutherland)

Paradoksalnie, dopiero kiedy jest naprawdę tragicznie postępujemy właściwie – zbieramy zespół i odwołując się do nadrzędnego celu prosimy o inicjatywę, pomoc i zaangażowanie, deklarując pełne wsparcie.

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 13: Scrum w 59 minut

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

...podejście holistyczne – „rugby” – charakteryzuje się tym, że cały zespół,

wspólnie próbuje pokonać cały dystans, wielokrotnie przekazując sobie piłkę.

–Hirotaka Takeuchi, Ikujiro Nonaka The New New Product Development Game (1986) ”

Page 14: Scrum w 59 minut

Scrum w pigułce

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

•  Ustal datę prezentacji •  Stwórz produkt do

zaprezentowania

•  Przedstaw go odbiorcy, uzyskaj informację zwrotną i wykorzystaj ją w toku dalszego rozwoju

•  Powtarzaj ten cykl regularnie i często, jak najczęściej

Page 15: Scrum w 59 minut

2–4 tygodnie Scrum

Role (Scrum Team) Product Owner

Zespół Deweloperski

Scrum Master

Narzędzia (Artifacts) Przyrost

Product Backlog

Sprint Backlog

Definition of Done (DoD)

Wykres spalania (Burndown Chart)

Zdarzenia (Events) Sprint

Sprint Planning (1) i (2)

Codzienny Scrum (Daily Scrum)

Sprint Review

Retrospektywa (Retrospective)

Wstępne planowanie (1) Product Owner uczestniczy w przygotowaniu wizji produktu, roadmappingu, wstępnym budżetowaniu (2) Product Owner przygotowuje założenia wydania i wraz z Zespołem tworzy zręby Product Backlogu. Ustala kolejność realizacji od kątem osiąganej wartości. Sprint Planning (4h + 4h) (1) Product Backlog jest omawiany, w ten sposób uzgadniany jest zakres i cel pojedynczego Sprintu (2) Zespół przygotowuje Sprint Backlog, czyli szczegółowy zakres i plan prac na bieżący Sprint

Realizacja Sprintu Zespół realizuje Przyrost, zgodnie z ustalonymi standardami (DoD), poddając przebieg prac codziennej ocenie (Daily Scrum); ilość pozostałej do wykonania pracy oceniana jest na podstawie wykresu spalania Sprint Review (4h) Produkt poddawany jest wspólnej (angażującej interesariuszy i odbiorców) inspekcji (feedback loop) Na jej podstawie modyfikuje się plany rozwoju produktu (Product Backlog) a Product Owner ustala kolejność prac na kolejne Sprinty

Scrum Master stoi na straży przejrzystości (nazywania rzeczy takimi jakie są), przestrzegania reguł i efektywności wykorzystania Scruma

Sprint Retrospective (3h) Zespół Scrumowy poddaje kontroli i korekcie efektywność swoich działań

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 16: Scrum w 59 minut

Scrum jest narzędziem umożliwiającym osiągnięcie zwinności

Scrum: (1) narzędzie wykorzystywane do osiągnięcia zwinności (2) metoda, dzieki której ludzie mogą rozwiązywać złożone problemy, by w sposób produktywny i kreatywny wytwarzać produkty o najwyższej możliwej wartości. §  proste reguły i wszechobecne ograniczenia czasowe (time–boxed containers)

pozwalają zapanować nad chaosem

§  samoorganizacja pozwala zyskać synergię

§  tworzenie gotowego produktu z każdym krokiem pozwala lepiej rozpoznawać rzeczywistość

Najbardziej popularna ze wszystkich zwinnych metod: 58% Scrum, 17% hybryda Scruma z programowaniem ekstremalnym (XP), pozostałe łącznie 25% (w tym własne odmiany 5%).

Źródło: State of Agile Survey, 5th annual State of Agile Software Development Survey, 2010, VersionOne Inc.

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 17: Scrum w 59 minut

Scrum nie jest

•  magiczną różdżką, nie uzdrawia cudownie, nie leczy arogancji, ignorancji, lenistwa i wiary w cuda – powoduje natomiast, że wszystkie te problemy stają się bardzo, bardzo widoczne

•  Scrum nie jest metodyką która mówi jak wytwarzać lepsze produkty •  Scrum nie odpowiada na pytanie jak należy produkować oprogramowanie

wyższej jakości, lepiej, szybciej •  Scrum (jak wszystkie zwinne metody) bazuje na postulacie, że nie istnieje

meta–rozwiązanie dla produkcji oprogramowania •  możliwe jest jedynie zdefiniowanie ram w obrębie których stosowane

procesy i narzędzia będą empirycznie doskonalone

•  Scrum jest modelem koncepcyjnym, narzędziem, które pomaga ustalić co jest przeszkodą w produkowaniu oprogramowania o wyższej jakości, lepiej, szybciej

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 18: Scrum w 59 minut

Scrum jest łatwy i intuicyjny, i jednocześnie niezwykle trudny do opanowania.

nie bryka?

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 19: Scrum w 59 minut

Jaja kwadratowe. Scrum but. WAGILE. Quasi–agile. Pseudo Scrum. Flaccid Scrum.

Fasada. Ludzie uczą się Scruma i używają go, ale nie zmieniają sposobów w jaki wykonują pracę na co dzień. Product Ownerzy nalegają na jednoczesne zobowiązania odnośnie dat i zakresu. Zespoły wytwarzają niekompletne, niezrozumiałe przyrosty i robią to nieregularnie. Jakość ulega degradacji. Wobec tych faktów, kierownictwo nadal zmuszone jest wydawać polecenia.

Źródła trudności. Współpraca z klientem 71%, opór przed zmianą 59%, brak doświadczenia 52%, brak wsparcia kierownictwa 26%, sztywne przypisania do działów 22%

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 20: Scrum w 59 minut

Teściowa N a s z a m e t a f o r y c z n a teściowa to osoba, która doskonale wie, że jej córka/syn mogła/mógł poślubić kogoś lepszego i której sensem życia staje się wyprowadzenie cię na ludzi.

Poprzez decyz ję o wdrażaniu Scruma, zaprosiliście ją, by z wami zamieszkała.

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 21: Scrum w 59 minut

Podczas wdrażania Scruma…

•  …natychmiast zaczynają się pojawiać wykręty (ScrumButs)

•  ScrumButs to „powody”, dla których nie można w pełni wykorzystać Scruma, by rozwiązać problemy i uzyskać spodziewanych korzyści

•  ScrumButs to przejaw postaw kulturowych, tradycyjnie stosowanych praktyk i przyzwyczajeń

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 22: Scrum w 59 minut

(Wykręt)(Powód)(Alternatywa) Scrumujemy, ale (codzienne Scrumy są zbyteczne)(ponieważ członkowie zespołu nie muszą się spotykać tak często)(więc robimy status meetingi z udziałem managementu raz w tygodniu) Scrumujemy, ale (retrospektywy to strata czasu)(bo i tak się nic nie zmienia)(więc po prostu ich nie robimy) Scrumujemy, ale (nie możemy mieć zespołów interdyscyplinarnych)(bo przecież nie możemy zmienić struktury organizacyjnej)(więc nie mamy gotowego produktu co Sprint, ani co dwa, ani nawet co trzy, cztery, pieć…) Scrumujemy, ale (jedna osoba nie jest w stanie ogarnąć całości produktu)(przecież jest taki rozległy)(więc mamy po kilku Product Ownerów na każdy zespół)

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 23: Scrum w 59 minut

(Wykręt)(Powód)(Alternatywa) Scrumujemy, ale (nasz Product Owner nie ma czasu)(bo jest bardzo zajęty swoimi sprawami)(więc Product Backlog jest przygotowywany przez Scrum Mastera) Scrumujemy, ale (zakres prac jest zamrożony)(bo kierownik projektu wymaga od nas deklaracji co do zakresu i czasu)(więc nie robimy testów, żeby wyrobić się na koniec Sprintów) Scrumujemy, ale (zakres prac w Sprincie ciągle się zmienia)(bo nasi klienci ciągle zgłaszają zmiany i zastrzeżenia)(więc granice Sprintów są tylko umowne) Scrumujemy, ale (nie robimy Sprint Review)(bo i tak nikt tego nie rozumie – najpierw robimy przecież backend, poza tym to wszystko nie jest jeszcze przetestowane)(więc pokazujemy coś Product Ownerowi średnio raz na pół roku)

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 24: Scrum w 59 minut

test charakteru całej organizacji

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Zwykle, gdy ktoś usuwa jeden z podstawowych elementów Scruma, robi tak ponieważ element ten obnaża aspekty rzeczywistości których nikt nie chce zauważać. –Ken Schwaber

” “

Page 25: Scrum w 59 minut

syndrom wybitej szyby

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Jeśli komuś na czymś nie zależy jest spora szansa, że za chwilę nikomu nie

będzie zależało na niczym. –Przysłowie indiańskie

” “

Page 26: Scrum w 59 minut

wartości i kodeks Scrum

•  Umiejętność podejmowania zobowiązania rozumiana jako silne poczucie związku z wyrażanymi opiniami i podejmowanymi działaniami oraz konsekwencja w ich realizacji

•  Uważność i koncentracja uwagi, bez nich nie jest możliwe dogłębne rozumienie problemów i potrzeb, których rozwiązaniem ma być wytworzone oprogramowanie

•  Otwartość wskazywana jako gotowość do dzielenia się informacją ze wszystkimi członkami zespołu, bez względu na charakter – zgodny z oczekiwaniami czy nie – przekazywanej informacji

•  Poszanowanie oznaczające pozytywne odczucia jednej osoby względem drugiej i umiejętność budowania synergii przy uwzględnieniu silnych i słabych stron innych członków zespołu, różnic w doświadczeniu, wykształceniu i roli w zespole. Zespół scrumowy stanowi całość i jedność i tak jest postrzegany przez resztę organizacji

•  Odwaga jest elementem niezbędnym do istnienia i rozwoju Scruma. Jako nowa metoda pracy wymaga on zmiany dotychczasowego porządku, przełamywania zwyczajów i sposobów wykonywania pracy. Nieodmiennie związane jest to z dużym oporem

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 27: Scrum w 59 minut

najczęstsze problemy

•  Przyrost nie jest wykonany w sposób kompleksowy, w związku z czym postęp prac nie jest klarowny

•  Dług technologiczny się kumuluje ponieważ przyrosty nie są w pełni zakończone

•  Zespoły nie są interdyscyplinarne •  Zespoły nie są samoorganizujące się •  Zespołom przerywa się pracę w Sprintach •  Data ukończenia i zakres prac są w dalszym ciągu

używane łącznie i traktowane jako niezmienne

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 28: Scrum w 59 minut

z czym toczy się walka

•  tyrania modelu kaskadowego •  iluzja podejścia nakazowo–rozdzielczego •  wiara w cuda •  przekonanie o własnej nieomylności •  przywiązanie do braku przejrzystości

Dlatego poziom sukcesu zależy od wizji, determinacji, konsekwencji i woli zmierzenia się z tymi akceptowanymi od lat nieefektywnościami.

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 29: Scrum w 59 minut

wymagane zmiany

•  zarządzenie empiryczne zastępuje zarządzanie predyktywne

•  przejrzystość staje się podstawową wartością

•  władza – decyzyjność i odpowiedzialność – przechodzi na niższe szczeble organizacji

•  większa uważność i częste dokonywanie trudnych wyborów

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 30: Scrum w 59 minut

Pytania?

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).

Page 31: Scrum w 59 minut

dziękuję! Tomasz Włodarek [email protected]

http://www.linkedin.com/in/wlodarek

http://www.poddrzewem.pl http://www.scrum.org Scrum Guide. Ken Schaber, Jeff Sutherland, 2011 The Land that Scrum Forgot. Robert Martin, 2010 Death March. Edward Yourdon, Prentice Hall 2004 The Mythical Man–Month: Essays on Software Engineering. Frederick P. Brooks, Jr., Pearson, 1975–1995 The New New Product Development Game. Hirotaka Takeuchi, Ikujiro Nonaka, Harvard Business Review, Jan-Feb 1986 Agile Project Management: Creating Innovative Products. Jim Highsmith Agile and Iterative Development: A Manager's Guide. Craig Larman Agile Project Management with Scrum. Ken Schwaber The Enterprise and Scrum. Ken Schwaber Scaling Lean & Agile Development. Craig Larman, Bas Vodde Succeeding with Agile. Mike Cohn, Addison-Wesley 2010

© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).