More Related Content Similar to Scrum w 59 minut Similar to Scrum w 59 minut (20) Scrum w 59 minut2. 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
tomek@poddrzewem.pl
3. plany, plany, plany
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
4. konfrontacja
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
5. 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).
6. 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).
”
7. Jeśli nazwiemy psi ogon łapą, ile łap ma pies?
Cztery. Nazwanie ogona łapą nie powoduje, że pies
zaczyna biegać szybciej.
–Abraham Lincoln
“ W zmaganiach między tobą a
rzeczywistością, rzeczywistość zdaje
się mieć przewagę.
”
–Przysłowie indiańskie
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
8. Oto czego naprawdę potrzebował …a oto co zostało mu dostarczone
klient…
więcej wariantów pod adresem: www.projectcartoon.com
10. 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.
11. Dlaczego warto rozważać zwinne podejście
Stan bieżący Agile
§ Opóźnienia w realizacji projektów, długie cykle § Umiejętność dokonywania szybkiej zmiany, łatwość jej
produkcyjne, późna kapitalizacja. Innowacja staje się realizowania
imitacją
§ Planowanie i utrzymanie planu wydaje się zabierać zbyt § Zwiększona produktywność i jakość
dużo czasu § Wczesna eliminacja ryzyka
§ Odstępstwo od planu jest kosztowne, wprowadzanie § Wczesne uzyskiwanie wartości
zmian w trakcie realizacji projektu jest trudne
§ Jakość tworzonego oprogramowania się pogarsza, faza § Zwiększona świadomość odnośnie aktualnego stanu prac
stabilizacji przed wydaniem się wydłuża (umiejscowienie w cyklu produkcyjnym)
§ Produkty stają się coraz droższe w utrzymaniu i § Ograniczone marnotrawstwo
rozwijaniu
§ Niezadowoleni, zrażeni współpracą klienci/odbiorcy § Odchudzone (lean) produkty, szybciej i precyzyjniej
zdobywające rynek
§ Marsze śmierci* obniżają morale, rośnie frustracja,
występuje przerzucanie się odpowiedzialnością i szukanie § Poprawa relacji z klientami/odbiorcami
kozłów ofiarnych § Zaangażowani i zmotywowani pracownicy
*Edward § Obniżone całkowite koszty realizacji (produkcji, wdrożenia
Yourdon, Marsz ku klęsce, WNT 2007
i utrzymania oprogramowania)
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Wszystkie prawa zastrzeżone.
12. 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).
13. “ ...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)
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
14. Scrum w pigułce
• 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
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
15. Scrum Master stoi na straży przejrzystości (nazywania
Scrum
rzeczy takimi jakie są), przestrzegania reguł i efektywności
wykorzystania Scruma
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)
2–4 tygodnie
Role (Scrum Team) (1) Product Backlog jest omawiany, w ten sposób
Product Owner uzgadniany jest zakres i cel pojedynczego Sprintu
Zespół Deweloperski (2) Zespół przygotowuje Sprint Backlog, czyli szczegółowy
zakres i plan prac na bieżący Sprint
Scrum Master
Narzędzia (Artifacts) Realizacja Sprintu
Przyrost Zespół realizuje Przyrost, zgodnie z ustalonymi
standardami (DoD), poddając przebieg prac codziennej
Product Backlog
ocenie (Daily Scrum); ilość pozostałej do wykonania pracy
Sprint Backlog oceniana jest na podstawie wykresu spalania
Definition of Done (DoD) Sprint Review (4h)
Wykres spalania (Burndown Chart) Produkt poddawany jest wspólnej (angażującej
Zdarzenia (Events) interesariuszy i odbiorców) inspekcji (feedback loop)
Sprint Na jej podstawie modyfikuje się plany rozwoju produktu
(Product Backlog) a Product Owner ustala kolejność prac
Sprint Planning (1) i (2)
na kolejne Sprinty
Codzienny Scrum (Daily Scrum) Sprint Retrospective (3h)
Sprint Review Zespół Scrumowy poddaje kontroli i korekcie efektywność
Retrospektywa (Retrospective) swoich działań
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
16. 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).
17. 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).
18. nie bryka?
Scrum jest łatwy i intuicyjny, i jednocześnie
niezwykle trudny do opanowania.
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
19. 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).
20. Teściowa
Nasza metafor yczna
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.
Po p r z e z d e c y z j ę o
wdr ażaniu Scr uma,
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).
21. 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).
22. (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).
23. (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).
24. test charakteru całej organizacji
“ 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
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
25. syndrom wybitej szyby
“ 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
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
”
26. 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).
27. 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).
28. 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).
29. 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).
30. Pytania?
© 2006–2011 Tomasz Włodarek. Pragmatyczne metody wytwarzania
oprogramowania. Materiał udostępniany na licencji Creative Commons (by-nc-nd).
31. Tomasz Włodarek
dziękuję!
tomek@poddrzewem.pl
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).