SlideShare une entreprise Scribd logo
1  sur  169
1. Metodyki zwinne
Wprowadzenie – manifest i zasady Agile
Metodyki zwinne
Spis treści
1. Wstęp do metodyk zwinnych – manifest i zasady Agile
2. Dostarczanie oparte na wartości – ocena, planowanie,
dostarczanie, weryfikowanie i monitorowanie wartości
3. Zaangażowanie interesariuszy – współpraca i komunikacja,
przywództwo
4. Wydajność zespołów – co to jest, od czego zależy i jak ją
poprawiać
5. Planowanie adaptacyjne – koncepcje planowania, estymacja,
planowanie zwinne
6. Problemy – jakość, wykrywanie, zapobieganie i rozwiązywanie
problemów
7. Ciągłe doskonalenie – retrospekcje i udoskonalanie procesów
8. Opis najpopularniejszych metodyk – SCRUM
2014-04-29Łukasz Rzepecki
2
Metodyki zwinne
Projekty pracownika wiedzy
• Rewolucia przemysłowa (XVIII – XX w.) – jest źródłem
większości idei zarządzania projektami
- 3. rewolucja przemysłowa – naukowo-techniczna (formalnie trwa
do dziś): wykresy Gantt’a, WBS  PMI – PMBOK (1983 r.)
• Rewolucja informacyjna (od 2. połowy XX w.) – bazuje
na tzw. pracownikach wiedzy:
- specjaliści w danej dziedzinie
- wymagana wiedza a nie tylko umiejętności
- komunikowanie się i transfer wiedzy ważniejsze od “instrukcji”
2014-04-29Łukasz Rzepecki
3
Metodyki zwinne
Praca przemysłowa vs praca wiedzy
2014-04-29Łukasz Rzepecki
4
Metodyki zwinne
Praca przemysłowa vs praca wiedzy
Praca przemysłowa Praca wiedzy
Efekty pracy są widoczne Pracy nie widać
Praca jest ciągła i taka sama Praca jest zmienna
Nacisk na wykonywanie czynności Nacisk na tworzenie/zmienianie rzeczy
Mała decyzyjność (struktury i procedury) Częste podejmowanie różnych decyzji
Skupienie się na właściwych odpowiedziach Skupienie się na właściwych pytaniach
Zdefiniowanie zadania Zrozumienie zadania
Zarządzanie i kontrola Większa autonomia
Ważniejsza ilość Ważniejsza jakość
Sztywne standardy Innowacje
Wydajność zgodna ze standardami Ciągła nauka i doskonalenie
Pracownik kosztem Pracownik zasobem
2014-04-29Łukasz Rzepecki
5
Metodyki zwinne
Zarządzanie projektami wiedzy
• Próbowano stosować te same koncepcje i techniki z
pracy przemysłowej do projektów pracowników wiedzy
- Praca do wykonania często nie była tak dobrze określona jak w
branży przemysłowej
- Prowadziło to do niepowodzeń i frustracji
• W odpowiedzi powstały koncepcje zwinnych metodyk
zarządzania
• Przez lata wytworzyło się wiele różnych koncepcji –
pionierem branża informatyczna
2014-04-29Łukasz Rzepecki
6
Metodyki zwinne
Manifest Agile (2001 r.)
• Wytwarzając oprogramowanie i pomagając innym w tym
zakresie, odkrywamy lepsze sposoby wykonywania tej pracy.
W wyniku tych doświadczeń przedkładamy:
- Ludzie i interakcje ponad procesy i narzędzia
- Działające oprogramowanie ponad obszerną dokumentację
- Współpraca z klientem ponad formalne ustalenia
- Reagowanie na zmiany ponad podążanie za planem
• Doceniamy to, co wymieniono po prawej stronie, jednak
bardziej cenimy to, co po lewej
• Deklaracja współzależności (DOI) – poszerza manifest o
zastosowania w innych projektach niż IT
2014-04-29Łukasz Rzepecki
7
Metodyki zwinne
Zasady Agile
• Zadowolenie klienta poprzez szybkie dostarczanie użytecznego
oprogramowania
• Otwartość na zmiany, nawet w późnym etapie projektu
• Działające oprogramowanie dostarczane jest często (tygodnie, nie miesiące)
• Działające oprogramowanie jest głównym wskaźnikiem postępu
• Regularność (stały rytm) i ciągłość pracy
• Bliska, codzienna współpraca pomiędzy biznesem a zespołem
• Komunikacja face-to-face jest najlepszą formą komunikacji (kolokacja)
• Projekty tworzą zmotywowane jednostki, którym należy zaufać
• Ciągła uwaga na doskonałość technologiczną i dobry design
• Kluczowa jest prostota – sztuka maksymalizowania ilości pracy nie wykonanej
• Samoorganizujące się zespoły
• Regularna adaptacja do zmieniających się okoliczności
2014-04-29Łukasz Rzepecki
8
Metodyki zwinne
Poziom skomplikowania projektów
2014-04-29Łukasz Rzepecki
9
Agile
Waterfall
Metodyki zwinne
Trójkąt ograniczeń
2014-04-29Łukasz Rzepecki
10
4 podstawowe ograniczenia każdego projektu:
Zmieniając jeden z parametrów należy zmienić pozostałe,
w przeciwnym razie nie dotrzymamy parametru środkowego
Metodyki zwinne
Macierz kompromisów projektowych
Parametr
Ustalony
(dokładnie 1)
Optymalizowany
( dokładnie 1)
Negocjowany
(pozostałe 2)
Czas X
Budżet X
Zakres X
Jakość X
Kluczowy parametr,
nie podlegający
żadnym negocjacjom
w trakcie trwania
projektu
Np. realizując projekt
jak najszybciej,
najtaniej, jak
najwięcej prac lub
dbając o jakość.
Te dwa parametry
mogą się zmieniać o
określonych
granicach
2014-04-29Łukasz Rzepecki
11
Metodyki zwinne
Kiedy stosować Agile
• Klasyka Agile:
- “Ruchomy cel”, np. prace badawcze
- Nieznany/niedookreślony efekt końcowy
• Kiedy faktycznie stosować Agile:
- Cel jest znany i może być bardzo dobrze określony
- …ale wiemy, że na pewno ulegnie zmianie ;)
- Kiedy rezultat projektu jest bardzo trudny/kosztowny do
modyfikacji (vs łatwy/możliwy do zmiany po koszcie zbliżonym
do pierwotnego)
• np. budowa domu, mostu, software pudełkowy
2014-04-29Łukasz Rzepecki
12
Metodyki zwinne
Sukces realizacji projektów – duże/małe
2014-04-29Łukasz Rzepecki
13
The Standish Group: Chaos Manifesto 2013 – Think Big, Act Small
• od 1985 r.
• 50k projektów
• 60% US, 25% EU
• połowa Fortune 1000
• 20% firmy małe
Metodyki zwinne
Sukces realizacji projektów małych
2014-04-29Łukasz Rzepecki
14
The Standish Group: Chaos Manifesto 2013 – Think Big, Act Small
• od 1985 r.
• 50k projektów
• 60% US, 25% EU
• połowa Fortune 1000
• 20% firmy małe
Metodyki zwinne
Rodzaje metodyk zwinnych
2014-04-29Łukasz Rzepecki
15
Metodyki zwinne
Rodzaje metodyk zwinnych
• Extreme Programming (XP)
- Daje techniki wytwarzania oprogramowania
- Jest bardzo mało zarządzania
- Trzeba łączyć ją z metodykami zarządzania
• Lean
- Główną zasadą jest eliminacja strat – „Wartością jest to, co klient uzna za wartościowe”
- Przykładem myślenia Lean jest twierdzenie, że nie należy wykonywać wszystkich analiz na
początku, bo zajdą zmiany
- Może być stosowany na poziomie wytwarzania i organizacji
• Scrum
- Zapewnia znakomite podejście oparte na zespole
- Porządkuje (priorytetyzuje) pracę
- Potrzebuje dodatkowego podejścia na poziomie zarządzania projektem (np. DSDM Atern)
- Często łączony z XP (Scrum zapewnia zarządzanie zespołem, a XP techniki wytwarzania)
2014-04-29Łukasz Rzepecki
16
Metodyki zwinne
Rodzaje metodyk zwinnych
• DSDM Atern (Dynamic Systems Development Method)
- Najstarsza na świecie metodyka Agile, powstała w 1995 roku (PRINCE2
powstał w 1996!)
- Jako jedyna w pełni opisuje zarządzanie projektami Agile
- Jest w ciągłym rozwoju, a DSDM Atern jest jej najnowszą wersją
• Agile Project Management
- Na początku projektu tworzony jest plan wysokiego poziomu oparty o zarys
wymagań i rozwiązanie widziane „z lotu ptaka”
- Projekt jest realizowany w sposób iteracyjny i przyrostowy
- Kolejny przyrost jest budowany w oparciu o produkt wytworzony w
poprzedniej iteracji
- Szczegółowy plan każdego kroku jest tworzony przez zespół, a nie
Kierownika Projektu
2014-04-29Łukasz Rzepecki
17
Metodyki zwinne
Metodyki zwinne i ich zasady
• SCRUM – Transparency, Inspection, Adaptation
• Extreme Programming (XP) – Simplicity, Communication,
Feedback, Courage, Respect
• Lean Software Development – Eliminate waste, Empower the
team, Deliver fast, Optimize the whole, Build quality in, Defer
decisions, Amplify learning
• Kanban Development – Visualize the workflow, Limit WIP,
Manage flow, Make process policies explicit, Improve
collaboratively
• Dynamic Systems Development Method (DSDM)
• Crystal
• Lean Startup
2014-04-29Łukasz Rzepecki
18
2. Dostarczanie oparte na wartości
Ocena, planowanie, dostarczanie i weryfikowanie
Metodyki zwinne
Dostarczanie oparte na wartości
• Value-Driven Delivery – to kluczowy komponent każdej
metodyki zwinnej
• Powodem realizacji każdego projektu jest wygenerowanie
jakiejś wartości biznesowej
• Ryzyka projektowe (zagrożenia), to anty-wartości
• Maksymalizacja wartości wymaga redukcji ryzyka
• Szybkie dostarczanie wartościowych elementów:
- eliminuje ryzyko porażki
- buduje zaufanie sponsora projektu (udowadnia możliwość realizacji
projektu)
- angażuje zespół
2014-04-29Łukasz Rzepecki
20
Metodyki zwinne
Tematyka
• Ocena wartości
• Planowanie wartości
• Dostarczanie wartości
• Weryfikowanie wartości
• Śledzenie i raportowanie wartości
2014-04-29Łukasz Rzepecki
21
Ocena wartości
ROI, NPV, IRR
Metodyki zwinne
Ocena wartości
• Projekty biznesowe najlepiej oceniać za pomocą
narzędzi finansowych, takich jak:
- ROI – zwrot z inwestycji
- NPV – bierząca wartość netto
- IRR – wewnętrzna stopa zwrotu
• W niektórych przypadkach, gdy projekt nie generuje
bezpośrednio przychodów, można oszacować koszty
nie zrealizowania projektu
• W ostateczności projekt można uznać za niezbędny i
nie szacować jego wartości
2014-04-29Łukasz Rzepecki
23
Metodyki zwinne
Wskaźniki finansowe
• Zwrot z inwestycji (ROI)
- ROI = 0, gdy przychody z projektu pokrywają jego koszty
- To suma wygenerowanych przychodów minus koszty (należy
uwzględnić infalcję i ew. koszty oprocentowania pożyczek)
• Wartość bieżąca netto (NPV)
- Wartość pieniądza w czasie zmienia się (pieniądze w przyszłości
będą mniej warte niż obecnie)
- NPV określa aktualną wartość przyszłych przychodów
- Pozwala określić bliższy prawdzie czas zwrotu i wartość inwestycji
• Wewnętrzna stopa zwrotu (IRR)
- Oznacza stopę dyskonta, przy jakiej NPV=0
- Projekt jest opłacalny gdy IRR > oprocentowanie
2014-04-29Łukasz Rzepecki
24
Planowanie wartości
Straty (strumień wartości), mapa drogowa, ryzyko
Metodyki zwinne
Planowanie wartości
• Karta projektu
- Powinna zawierać odpowiedź na W5H: What, Why, Who, When,
How – z naciskiem na How
- Jak zamiany będą zatwierdzane i porządkowane w backlogu po
zatwierdzeniu?
- Mniejsze znaczenie ma co będzie wykonane, bardziej jak
• Mapowanie strumienia wartości
- Ilustruje przepływ informacji wymaganych do zrealizowania procesu
- Pomaga ustalić miejsca strat – marnowania czasu i opóźnień
- Efektywność procesu = czas przynoszący realną wartość / łączny
czas pracy w danym procesie
2014-04-29Łukasz Rzepecki
26
Metodyki zwinne
Mapowanie strumienia wartości
2014-04-29Łukasz Rzepecki
27
Metodyki zwinne
Straty - rodzaje
• Częściowo wykonana praca
• Dodatkowy proces
• Dodatkowe funkcjonalności
• Przełączanie sie między zadaniami
• Oczekiwanie
• Ruch
• Wady
2014-04-29Łukasz Rzepecki
28
Metodyki zwinne
Straty – typowe w IT
• Kod oczekujący na testy
• Wymagania czekające na implementację
• Tworzenie nigdy nie używanej dokumentacji
• Nadmiarowe, niepotrzebne akceptacje
• “Wodotryski” i zbędne features w kodzie
• Technologiczne nice-to-haves
• Praca przy wielu projektach równocześnie (switching)
• Czekanie na ocenę/przegląd prototypów/dokumentów
• Czekanie na zatwierdzenie dokumentów
• Komunikacja przy zespołach rozproszonych
• Błędy w specyfikacji wymagań wymagające naprawy
• Wady w oprogramowaniu
2014-04-29Łukasz Rzepecki
29
Metodyki zwinne
Porządkowanie wg wartości dla klienta
• Aby projekt przynosił jak najszybciej wartość dla klienta niezbędne jest
poznanie co to dla niego oznacza – zaangażowanie klienta
• Każda metodyka zwinna ma swój odpowiednik, np.:
- Scrum – product backlog
- FDD – feature list
- DSDM – prioritized requirements list
• Modele porządkowania:
- Priorytet wysoki/średni/niski – mało efektywne
- MoSCoW – Must/Schould/Could have, Would like to have but not…
- Monopoly Money – rozdział budżetu na wymagania przez sponsora
- Metoda 100 punktów – każdy interesariusz ma dowolność w głosach
- Analiza Kano – Exciters/Satisfiers/Dissatisfiers/Indifferent
- Model porządkowania wymagań – ocena 1-9 korzyści z posiadania danej funkcjonalności,
straty za jej nie posiadanie (klient) oraz kosztu i ryzyka (zespół), następnie wg ustalonych
wag porządkuje się wymagania
2014-04-29Łukasz Rzepecki
30
Metodyki zwinne
Lista rankingowa
• Bardzo prosta ale skuteczna metoda sortowania wymagań wg
kolejności oznaczającej wartość dla klienta
- Eliminuje stratę czasu na zastanawianie się nad porządkowaniem
• Lista może określać po których wymaganiach następuje wydanie
oraz które aktualnie się nie mieszczą w budżecie (pod kreską, na
później)
• Pomaga zarządzać zmianą, klient decyduje w którym miejscu na
liście umieścić daną zmianę
• Nowe wymagania umieszczone wyżej spychają pod kreskę nie
mieszczące się w budżecie
• Używa się jednej listy work-to-be-done bez rozdziału na źródło (tzn.
oryginalny backlog + zmiany + błędy + nowe)
2014-04-29Łukasz Rzepecki
31
Metodyki zwinne
Mapa drogowa projektu
• To wizualny przegląd planu wydań produktu
• Story Maps – pomagają wybrać i zgrupować
wymagania do poszczególnych wydań:
- Backbone – niezbędna funkcjonalność, która musi być
- Walking skeleton – najprostszy system, który będzie działał
- Dodatowe funkcjonalności – wszystkie pozostałe, posortowanie
wg ważności (mniej/bardziej opcjonalne)
2014-04-29Łukasz Rzepecki
32
Metodyki zwinne
Story Map #1
2014-04-29Łukasz Rzepecki
33
Metodyki zwinne
Story Map #2
2014-04-29Łukasz Rzepecki
34
Metodyki zwinne
Zarządzanie ryzykiem
• Ryzyko - to zdarzenie lub okoliczności które mogą się
wydarzyć i wpłynąć na projekt – ryzyka mogą być zarówno
negatywne (zagrożenia) jak i pozytywne (możliwości)
• Ryzykiem należy zarządzać i analogicznie do jak
najszybszego dostarczania wartości w projekcie należy
również jak najszybciej identyfikować i przeciwdziałać
ryzykom zagrażającym projektowi
• Wymagania mogą mieć określony poziom ryzyka – te o
wyższym ryzyku powinno się realizować wcześniej
• Backlog powinien zawierać również akcje zapobiegające
zidentyfikowanym ryzykom (poziom ryzyka można określić
jako wartość/wpływ x prawdopodobieństwo)
2014-04-29Łukasz Rzepecki
35
Metodyki zwinne
Zarządanie ryzykiem
2014-04-29Łukasz Rzepecki
36
Kontraktowanie
Modele zawierania umów na projekty zwinne
Metodyki zwinne
Kontraktowanie
• Projekty zwinne, w odróżnieniu od tradycyjnych, starają się określić
dostępne zasoby i czas oraz pozostawić elastyczną funkcjonalność,
starając się dostarczyć produkt o jak najlepszej możliwej jakości
• Idea możliwości nie dostarczenia pełnej funkcjonalności czy też braku
dokładnej wyceny całego projektu może być przez niektórych nie do
zaakceptowania
• Szczegółowy kosztorys wymaga opracowania wnikliwej analizy i
rzetelnej specyfikacji, co również jest procesem czasochłonnym i
kosztownym
• Kontrakt i tak musi zawierać metody na nieprzewidziane przypadki:
zmiany zarówno uzasadnione jak i nieprzewidziane, problemy
techniczne, możliwość niepowodzenia – w metodykach zwinnych
współpraca z klientem (zaufanie) jest ważniejsza od negocjowania
umów
2014-04-29Łukasz Rzepecki
38
Metodyki zwinne
Kontraktowanie
• W zwinnych metodykach ważniejsze jest skupienie się na
dostarczeniu jak najszybciej wartościowego produktu niż debaty jak
będą negocjowane zmiany i jakie tak na prawdę są kryteria
akceptacyjne
• Wymagają również od biznesu większego zaangażowania się w
trakcie poszczególnych iteracji
- Ciągłe ponowne porządkowanie wymagań
- Szacowanie wartości żądanych zmian w stosunku do pozostałej pracy
• Typy kontraktów zwinnych:
- DSDM – zapłata za spełnienie testów a nie wykonanie specyfikacji
- Pieniądze za nic, Zmiany za darmo
- Stała cena uzależniona od wyników
- Pakiety o stałej wartości
2014-04-29Łukasz Rzepecki
39
Metodyki zwinne
Metodyki zwinne vs klasyczne
2014-04-29Łukasz Rzepecki
40
Metodyki zwinne
Money for Nothing and Change for Free
• Na starcie projektu określona jest stała cena (fixed-price) za pracę do
wykonania oraz stawka za wszelkie prace dodatkowe
• Klauzula “zmiany za darmo”
- Jeśli klient jest zaangażowany, PO może porządkować backlog i dokonywać zmian, o ile
całkowita praca się nie zwiększa (wymagania o mniejszej ważności są zdejmowane lub
upraszczane)
• Klauzula “pieniądze za nic”
- Opcja wcześniejszego zakończenia kontraktu w dowolnym momencie przez klienta, kiedy
uzna, że produkt spełnia jego oczekiwania
- Klient płaci np. 20% pozostałej, niewykonanej wartości kontraktu
• Klient może korzystać z tych zapisów tylko jeśli współpracuje aktywnie z
zespołem w trakcie każdej iteracji
• Brak współpracy oznacza, że klauzule tracą ważność
- Każda zamiana będzie traktowana jak praca dodatkowa
- Klient musi zapłacić za (a dostawca wykonać) cały kontrakt
2014-04-29Łukasz Rzepecki
41
Metodyki zwinne
Money for Nothing and Change for Free
2014-04-29Łukasz Rzepecki
42
Metodyki zwinne
Stała cena uzależniona od wyników
• Kontrakt typu fixed-price, w którym obie strony dzielą się
ryzykiem – potencjalnymi zyskami i kosztami
• Ustala się różną stawkę godzinową w zależności od
szybkości zakończenia projektu:
- Wcześniej – dostawca przepracuje mniej ale po wyższej stawce
godzinowej (klient sumarycznie zapłaci mniej)
- Na czas – jak w standardowym kontrakcie
- Później – dostawca przepracuje więcej ale po niższej stawce (klient
zapłaci więcej)
• Jeśli projekt się wydłuży to obie strony tracą pieniądze i będą
niezadowolone – wykonawca przeznaczy więcej zasobów po
niższej stawce a klient musi zapłacić więcej
2014-04-29Łukasz Rzepecki
43
Metodyki zwinne
Pakiety o stałej cenie
• Ustalenie stałej ceny za poszczególne fragmenty projektu
• Łagodzi ryzyko niedoszacowania i przeszacowania poprzez
zawężanie zakresu pracy i kosztów do poszczególnych
modułów
• Dostawca ma prawo reestymować pozostałe pakiety, gdy
pojawiają się nowe informacje lub nowe ryzyka
• Dostawca nie musi wliczać dużego marginesu w budżecie na
ryzyko, gdyż jest ono podzielone na mniejsze pakiety
• Klient może również wprowadzać zmiany do
nierozpoczętych pakietów i ew. zmieniać priorytety lub
zakres prac
2014-04-29Łukasz Rzepecki
44
Monitorowanie i raportowanie
wartości
Narzędzia
Metodyki zwinne
Narzędzia
• Klasyczne harmonogramy (Gantt)
- Są skomplikowane i nieprzyjazne – nieczytelne, trudne do zmiany
- Ograniczają liczbę osób, które mają na nie wpływ
- Zwykle PM aktualizuje harmonogram sam dla siebie
- Narzucają sposób i dokładność raportowania
• Narzędzia zwinne (np. tablice zadań i Kanban)
- Nie zapewniają integralności danych i udokumentowania przebiegu
prac – ale czy to kiedykolwiek było potrzebne?
- W niektórych środowiskach niezbędne jest prowadzenie równolegle
sformalizowanej dokumentacji
- Są zrozumiałe przez wszystkich i dostępne dla wszystkich
- Ułatwiają prace grupową i wymianę informacji, są przyjazne
2014-04-29Łukasz Rzepecki
46
Metodyki zwinne
Limitowanie WIP
• Duże poziomy “pracy w toku” powodują szereg problemów:
- Konsumują zainwestowane pieniądze i nie przynoszą żadnych korzyści (zwrotu z
inwestycji)
- Ukrywają wąskie gardła i problemy z wydajnością (gdy wszystko jest w toku nie
wydać gdzie jest faktycznie problem – na jakim etapie pracy a wszyscy są zajęci)
- Zwiększają ryzoko konieczności wykonania dużej części pracy od nowa (np.
zmiany wpływające na dużą liczbę WIP)
• Celem metodyk zwinnych jest eliminowanie WIP
• Jedną z metod jest stosowanie tablic Kanban, które limitują ilość pracy
w projekcie na różnych etapach
• Celem jest optymizacja przepustowości w projekcie a nie
wykorzystania zasobów!
• Prawo Little – czas realizacji zadań jest proporcjonalny do rozmiaru
kolejki zadań w toku
2014-04-29Łukasz Rzepecki
47
Metodyki zwinne
WIP – Kanban #1
2014-04-29Łukasz Rzepecki
48
Metodyki zwinne
WIP – Kanban #2
2014-04-29Łukasz Rzepecki
49
Metodyki zwinne
Weryfikowanie wartości
• Rezultaty projektów IT są nieuchwytne, nienamacalne
• Bardzo często odbiorca informacji inaczej ją interpretuje (występuje
luka semantyczna)
- Istotne jest zidentyfikowanie luki jak najwcześniej aby wyeliminować ryzyko
wykonywania pracy od nowa
• W weryfikowaniu wartości dla klienta pomocne jest porządkowanie
co iterację pozostałych wymagań – daje to obraz co jest istotne dla
klienta i jaka wg niego jest definicja sukcesu
• Częste demonstracje wykonanych funkcjonalności są kluczowe w
projektach IT
- Dopiero wtedy pojawiają się prawdziwe wymagania: IKIWISI
(I’ll Know It When I See It)
- Eliminują lukę semantyczną
2014-04-29Łukasz Rzepecki
50
Metodyki zwinne
Model luk wg ParasuramanaModel luk wg Parasuramana
2014-04-29Łukasz Rzepecki
51
Metodyki zwinne
Analiza luk jakości
Analiza luk jakości – przykład dla fi rmy 
opracowującej projekty
2014-04-29Łukasz Rzepecki
52
Jaka jest luka jakości gdy
specyfikacja powstaje wiele
miesięcy przed realizacją
projektu i/lub tworzy ją
wręcz inny podmiot niż
wykonawca (np. SIWZ)?
Metodyki zwinne
Prawo Little’a
2014-04-29Łukasz Rzepecki
53
Metodyki zwinne
Wartość wypracowana (Earned Value)
• Krzywa-S – pokazuje wydatki w projekcie (np. nakład pracy
w czasie) ale nie postęp wykonania projektu
• Wykres Gantta pokazuje postęp w harmonogramie ale nie
stopień wykorzystania budżetu
• Wartość wypracowana (EV) – zaakceptowane prace
- Umożliwia porównanie bieżącej wydajności (zrealizowanej pracy)
do zaplanowanej, w określonym punkcie czasu
- Kluczowa jest jakość wstępnego planu (wartość wymagań)
- Uwaga! W projektach zwinnych plany się zmieniają i utrudniają
wykorzystanie metody EV do weryfikowania wydajności pracy ale
jest to dobre narzędzie do wizualizacji i prognozowania
2014-04-29Łukasz Rzepecki
54
Metodyki zwinne
Earned Value
2014-04-29Łukasz Rzepecki
55
Metodyki zwinne
Wykres skumulowanych przepływów
(CFD)
• Wykres warstwowy pokazujący na jednym wykresie
całkowitą pracę w projekcie, na którą składają się:
- Praca pozostała do wykonania (backlog produktu)
- Praca w toku (WIP)
- Praca zakończona (EV)
• Wykres pomaga też oszacować długość cyklu realizacji
zadań poprzez analizę wartości pracy w toku (zgodnie z
prawem Little są to wartości proporcjonalne)
2014-04-29Łukasz Rzepecki
56
Metodyki zwinne
CFD
2014-04-29Łukasz Rzepecki
57
Metodyki zwinne
Wąskie gardła i teoria ograniczeń
• Wykres CFD pracy w toku można podzielić na
poszczególne aktywności i uszeregować warstwy wg
kolejności działań
• Jeśli któryś z obszarów się rozszerza, to znaczy, że
wąskie gardło jest w warstwie poniżej
• Umożliwia to wykrycie problemu w skali całej
organizacji bez drobiazgowego analizowania każdego
obszaru
2014-04-29Łukasz Rzepecki
58
Metodyki zwinne
CFD – wąskie gardło
2014-04-29Łukasz Rzepecki
59
Metodyki zwinne
Wykres spalania ryzyka
• Na początku projektu tworzy się listę ryzyk, analogicznie do
product backloga
• Zaangażowani powinni być wszyscy interesariusze i zespół
• Dla każdego ryzyka określa się:
- Koszt jego wystąpienia (wartość finansowa lub w skali punktowej,
np. mały 1 – duży 3)
- Prawdopodobieństwo wystąpienia (procentowo lub również w skali,
np. 0-3)
- Sumarycznie każde ryzyko ma określoną wartość (np. 0-9)
• Co iterację lub ustalony okres czasu (np. miesięcznie)
dokonuje się weryfikacji ryzyk i rysuje wykres spalania
ryzyka – analogicznie jak burndown chart dla wymagań
2014-04-29Łukasz Rzepecki
60
Metodyki zwinne
Wykres spalania ryzyka
2014-04-29Łukasz Rzepecki
61
3. Zaangażowanie interesariuszy
Współpraca i komunikacja, przywództwo
Rozdział w opracowaniu
Metodyki zwinne
Interesariusze projektu
• To wszystkie osoby i grupy, na które będą miały wpływ na projekt
oraz których projekt będzie dotyczył
• W projektach pracownika wiedzy rezultaty prac są często
nienamacalne i nieuchwytne – prowadzi to do powstawania luki
semantycznej w zrozumieniu przez wykonawcę intencji klienta
• Zasady angażowania interesariuszy:
- Istotne jest zidentyfikowanie odpowiednich interesariuszy, którzy pomogą w
zrozumieniu wymagań i celów
- Zaangażowanie powinno być widoczne i monitorowane
- Aktywne zarządzanie zainteresowaniem – świętowanie postępów
- Częste dyskusje co oznacza “done” – eliminacja luki
- Eksponowanie progresu (dema) i możliwości oraz limitów zespołu
- Dyskutowanie estymat i prognoz – prawdziwa wydajność projektu
2014-04-29Łukasz Rzepecki
63
Metodyki zwinne
Wspólne zrozumienie
Eliminowanie luki semantycznej poprzez:
• Makiety – szybki sposób na wizualizację produktu i zrozumienie
przez wszystkich interesariuszy produktu
• Personas – przykładowi interesariusze projektu, np. różni
użytkownicy (opis, wartości dla nich, zainteresowania)
• Historyjki, backlog
- Często mają formę “Jako <Rola> Chcę <Funkcjonalność> Aby <Korzyść>”
(ważne kto i dlaczego) lub Given, When, Then
- Powinny być INVEST, tzn. Independent, Negotiable, Valuable, Estimatable,
Small, Testable
- Obejmują Pionowy zakres funkcjonalny
- Mogą być grupowane pionowo w Features a te w Epics jak również
poziomo w Themes oraz planowane w Story Maps
2014-04-29Łukasz Rzepecki
64
Metodyki zwinne
Komunikacja z interesariuszami
2014-04-29Łukasz Rzepecki
65
Metodyki zwinne
Radiatory informacji
• Radiatory
• Burn Down, Burn Up, CFD
• Velocity
2014-04-29Łukasz Rzepecki
66
Metodyki zwinne
Krytyczne umiejętności miękkie
• Negocjowanie
• Aktywne słuchanie
- Wewnętrzne
- Skupione
- Globalne
• Efektywne spotkania
• Rozwiązywanie konfliktów
• Partycypacyjne metody podejmowania decyzji
2014-04-29Łukasz Rzepecki
67
4. Wydajność zespołów
Co to jest, od czego zależy i jak ją poprawiać
Metodyki zwinne
Tematyka
• Wydajność zespołów
- Przywództwo adaptacyjne
- Inteligencja emocjonalna
- Budowanie umocowanych i wydajnych zespołów
• Praktyka
- Codzienne standupy
- Przestrzeń pracy
- Narzędzia
- Coaching i mentoring
- Burza mózgów
- Zespoły rozproszone
2014-04-29Łukasz Rzepecki
69
Wydajność zespołów
Na czym polega i od czego zależy wydajność zespołów
Metodyki zwinne
Ludzie i interakcje ponad procesy i
narzędzia
• COCOMO (I, II) – popularny model estymacji
oprogramowania
• 7 czynników mających wpływ na koszt, a w nich:
- Czynniki ludzkie – 33%
- Produkt – 10%
- Procesy i narzędzia – 3%
• Wpływ czynników ludzkich jest 10x większy niż wpływ
stosowanych (lub nie) procesów i narzędzi
• Sprawny zespół jakoś sobie poradzi bez żadnych procesów i
narzędzi, najlepsze T&T nic nie poradzą w sytuacji
niedoświadczonego i niezgranego zespołu
2014-04-29Łukasz Rzepecki
71
Metodyki zwinne
Przywództwo adaptacyjne
Formowanie się zespołów zwykle obejmuje cykl:
• Formowanie (forming) – grupa uczy się o sobie
- Kierowanie (directing) – co jest do zrobienia, pomoc w problemach
• Burza (storming) – wewnętrzna rywalizacja w pseudozespole
- Coaching – główny cel, to rozwiązywanie konfliktów
• Normowanie (norming) – potencjalny zespół, uczy się sprawnej
współpracy ze sobą
- Wsparcie (supporting) – zespół pracuje wg własnych reguł, rola
wspierająca, egzekfowanie reguł zespołu, stawianie wysokich celów
• Sprawne działanie (performing) – zespół pracujący jak jeden,
autonomiczny, umocowany, samozarządzający i regulujący się
- Delegowanie (delegating) – lider stawia zespołowi wyzwania a nie zadania,
problemy do rozwiązania wewnętrznie przez zespół
2014-04-29Łukasz Rzepecki
72
Metodyki zwinne
Formowanie się zespołów
2014-04-29Łukasz Rzepecki
73
Metodyki zwinne
Inteligencja emocjonalna
• To zdolność do zaóważania (identyfikowania), oceny
(szacowania) i wpływania na emocje: własne, innych, grup
• Dobra metoda na elastyczne zarządzanie i przywództwo
zmiennymi zespołami
Etapy:
• Samoświadomość (self: recognize)
- Zrozumienie własnych emocji (co mnie denerwuje, frustruje, cieszy,
zadowala itp.) i umiejętność ich prawidłowej oceny
- Pewność siebie - mamy wpływ na własne emocje i na to jak na nie
reagujemy (np. czy pozwalamy aby coś nas dalej denerwowało czy
jakoś zareagujemy)
2014-04-29Łukasz Rzepecki
74
Metodyki zwinne
Inteligencja emocjonalna
• Samokontrola (self: regulate)
- Sumienność
- Zdolność adaptacji
- Motywacja
• Nastrój i zachowanie liderów wpływa na wszystkich innych!
• Świadomość społeczna (others: recognize)
- Empatia - rozumienie otoczenia (np. kiedy jakieś problemy mają
człokowie zespołu)
• Umiejętności społeczne (others: regulate)
- Wpływanie, inspirowanie, przewodzenie i rozwijanie innych tak aby
pomóc w ich pracy i współpracy zespołowej
2014-04-29Łukasz Rzepecki
75
Metodyki zwinne
Empowerment
Samo-organizujące się zespoły:
• Wykorzystanie wiedzy zespołu jak najlepiej wykonać daną pracę i
naturalnej zdolniści ludzi do rozwiązywania złożonych problemów
• Przedstawianie celów a nie zadań wraz ze sposobem ich
wykonania (to zespoł jest ekspertem)
• Pozwolenie zespołom na własną organizację codziennej pracy (w
ramach podstawowych reguł panujących w organizacji)
• Delegowanie odpowiedzialności za sukces projektu na zespół w
celu osiągnięcia założonych celów (downward serving)
• Celem lidera jest ochrona przed czynnikami zewnętrznymi,
eliminowanie przeszkód, komunikowanie wizji, wsparcie…
2014-04-29Łukasz Rzepecki
76
Metodyki zwinne
Empowerment
Samo-zarządzające się zespoły:
• Zespół wytwarza wewnętrzne normy i podejmuje lokalne
decyzje (technologia, priorytety, estymacje)
• Zespól ma duża dowolność – ale w granicach sprintu!
• Złe decyzje (np. technologiczne, złe estymaty) są
dyskutowane na retrospekcji w celu zapobiegnięcia
podobnym sytuacjom w przyszłych sprintach
• Samoorganizacja i samozarządzanie to tylko cele!
• Na początku projektu żaden zespół taki nie jest, może to być
długoterminowym celem zespołu postawionym w fazie
normowania się zespołu.
2014-04-29Łukasz Rzepecki
77
Metodyki zwinne
Budowanie wydajnych zespołów
• Zespół powinien być niewielki (do 12 osób) co ułatwia
budowanie wzajemnych relacji i bezpośrednią komunikację
• Członkowie zespołu powinni mieć komplementarne
umiejętności i rozpowszechniać je w zespole (umożliwienie
zamiany ról, wykonywanie różnych zadań)
• Cele członków zespołu powinny być spójne (zrównane) z
celami projektu
- Indywidualne zobowiązanie do osiągnięcia wspólnego celu
- Świadomość każdego jak cele postawione grupie będą mierzalne i
w jaki sposób będą realizowane przez zespół
- Wzajemna odpowiedzialność członków zespołu za rezultaty
2014-04-29Łukasz Rzepecki
78
Metodyki zwinne
Motywowanie zespołów
• Wynagrodzenie jest za pojawianie się w pracy
• Produktywność w pracy każdego jest inna i zależy w
istotnym stopniu od zmotywowania i zaangażowania
• Etapy produktywności:
- Podważanie i opór (-)
- Pasywna zgodność (0)
- Aktywne uczestnictwo (+)
- Oddanie i poświęcenie (++)
- Pasja i wprowadzanie innowacji (+++)
• Kluczowe jest zrównanie celów indywidualnych członków
zespołu z celami projektu
2014-04-29Łukasz Rzepecki
79
Metodyki zwinne
Wspólne cele
2014-04-29Łukasz Rzepecki
80
Metodyki zwinne
Motywowanie zespołów
• Zrozumienie zarówno osobistych czynników motywujących (i
demotywujących) poszczególne osoby jak i cały zespół (np.
poprzez rozmowy 1-1)
• W większości projektów jest możliwość zaspokojenia
niektórych celów osobistych, choćby tymczasowo
• Wyjaśnienie przez kogoś z wysokiego szczebla organizacji
dlaczego projekt jest ważny dla firmy, jakie są związane z
nim nadzieje (wizja) istotnie może wpłynąć na
zaangażowanie
• Istotne jest świętowanie sukcesów zespołów
• Ew. nagrody dla całych zespołów a nie indywidualne
2014-04-29Łukasz Rzepecki
81
Praktyka
W jaki sposób funkcjonują wydajne zespoły
Metodyki zwinne
Codzienne stand-upy
• To kluczowy element w praktykach zwinnych
• Krótkie (max. 10-15 min.) codzienne spotkanie mające na
celu wyeliminowanie konieczności innych spotkań
• To spotkania zespołu dla zespołu (nie dla kierownictwa)
• Każdy członek zespołu po kolei odpowiada na 3 pytania:
- Co zrobiłem od poprzedniego spotkania?
- Co planuję zakończyć dzisiaj?
- Czy są jakieś blokady lub zależności utrudniające pracę?
• Wszelkie rozpoczynające się dyskusję (np. jak coś
rozwiązać, sprawy techniczne) należy odłożyc na bok (np.
indywidualna rozmowa zaangażowanych osób po stand-
upie)
2014-04-29Łukasz Rzepecki
83
Metodyki zwinne
Coaching i mentoring
• Pomaga zespołom utrzymać kierunek działań,
przezwyciężać problemy i ciągle polepszać
umiejętności
• Powinien być realizowany równolegle indywidualne i z
całym zespołem
• Coaching zespołowy ma miejsce głównie na granicach
sprintu (planowanie, przegląd/demo, retrospekcja)
• Coaching indywidualny głównie w trakcie sprintu
- Spotkania 1-1 umożliwiające prywatną rozmowę na temat ew.
problemów i skarg – szczere z pozytywnym nastawieniem i
poszanowaniem do zgłaszanych uwag
2014-04-29Łukasz Rzepecki
84
Metodyki zwinne
Coaching i mentoring
Pomocne działania:
• Spotkanie się w pół drogi – nie naciskać do osiągnięcia
bezpośrednio punktu końcowego (“bo tak ma być”) ale
wymyślać rozwiązania pośrednie
• Zagwarantowanie poufności – poprzez jej dochowanie
• Współpraca z innymi lidierami – mająca na celu
rozwiązywanie problemów między zespołami i spójną
komunikację w organizacji
• Pozytywne traktowanie – nawet jeśli kogoś nie lubimy
należy to odłożyć na bok aby pomóc danej osobie
2014-04-29Łukasz Rzepecki
85
Metodyki zwinne
Burza mózgów
Pomagają zidentyfikowac różne możliwości, rozwiązywać
problemy, znajdywać drogi do ulepszeń:
• Quiet writing – każdy członek zespołu w określonym czasie
spisuje pomysły indywidualne, eliminuje wpływ i
oddziaływanie innych
• Round-Robin – każdy po kolei zgłasza pomysł, zesół musi
być komfortowy z dzieleniem się pomysłami przed sobą
• Free-for-All – każdy kto chce zgłasza spontanicznie nowy
pomysł, stymuluje dyskusję, zespołowe wetowanie i
rozwijanie pomysłów
2014-04-29Łukasz Rzepecki
86
Metodyki zwinne
Burza mózgów
Pomysły należy następnie uporządkować:
• MoSCoW – technika oparta o wartość:
- Must have
- Should have
- Could have
- Would like to have, but not this time
• Głosowanie – każdy dostaje określoną liczbę głosów (dla
każdego w wysokości ok. 20% z liczby pomysłów) i
przydziela pomysłom głosy wg własnego uznania (można
przydzielić więcej niż 1 głos dla danego pomysłu)
2014-04-29Łukasz Rzepecki
87
Metodyki zwinne
Przestrzeń pracy
• Metodyki zwinne rekomendują interakcje face-to-face oraz
kolokowanie całych zespołów we wspólnym miejscu pracy,
co poprawia pracę grupową i dzielenie się informacjami
• Caves and common – otwarta przestrzeń pracy oraz
miejsca na prywatne rozmowy lub tymczasową pracę w
odizolowaniu umożliwiającą skupienie się i koncentrację
• Komunikacja osmotyczna – to użyteczne informacje
przepływające mimowolnie między członkami zespołu
podczas zwykłych konwersacji
• Milcząca wiedza (tacit knowledge) – niepisana wiedza ale
funkcjonująca w zespole/firmie (na głośno zadane pytanie
ktoś z otoczenia prawdopodobnie będzie znał odpowiedź)
2014-04-29Łukasz Rzepecki
88
Metodyki zwinne
Zespoły rozproszone
• To standard, nie wyjątek (ok. połowa zespołów zwinnych jest
rozproszona – tzn. przynajmniej 1 osoba pracuje zdalnie)
• Niezbędne znalezienie substytutów dla korzyści z
współpracy face-to-face, komunikacji osmotycznej i milczącej
wiedzy oraz lepszych relacji w zespole
• Wykorzystanie narzędzi komunikacji on-line
• Przynajmniej pierwsze spotkanie powinno obejmować cały
zespół
• Problem - osoby poza zasięgiem wzroku łatwiej ignorować,
mają mniejszy wpływ i poważanie
2014-04-29Łukasz Rzepecki
89
Metodyki zwinne
Narzędzia
• Low-Tech, High-Touch
- Wykorzystanie realnych namacalnych i prostych przedmiotów
polepsza komunikację i pracę grupową
- Niechęć do korzystania ze skomplikowanych narzędzi
- Najczęściej wykorzystywane: tablica z zadaniami (to do, doing,
accepted), user stories zapisane na karteczkach, karty do
planning pokera
• Narzędzia on-line
- Pomocne przy pracy w zespołach rozproszonych
- Np. wirtualna tablica, strony wiki, webowe systemy zarządzania
2014-04-29Łukasz Rzepecki
90
5. Planowanie adaptacyjne
Koncepcje planowania, estymacja, planowanie zwinne
Metodyki zwinne
Tematyka – narzędzia i techniki
• Koncepcje planowania
- Timeboxing
- Stopniowe doprecyzowanie
- Proces na miarę
- Minimalna funkcjonalność nadająca się do sprzedaży (MMF)
• Estymacja
- Wideband Delphi, Planning Poker
- Czas idealny
- Szacowanie porównawcze, Story Points
- Estymacja przez podobieństwo
• Planowanie zwinne
- Planowanie iteracji i wydań
2014-04-29Łukasz Rzepecki
92
Metodyki zwinne
Tematyka – wiedza i umiejętności
• Koncepcje planowania
- Analiza oparta o wartość
- Dekompozycja i porządkowanie oparte o wartość
- Gry Agile
• Estymacja
- Szacowanie czasu, budżetu i kosztów
- Zasady kosztorysowania
• Planowanie zwinne
- Karta projektu
2014-04-29Łukasz Rzepecki
93
Koncepcje planowania
Timeboxing, analiza oparta o wartość, gry Agile
Metodyki zwinne
“Mapa nie jest terytorium” (A.
Korzybski)
• Celem metod zwinnych jest eliminacja pracy nie
przynoszącej bezpośrednio wartości biznesowej
• Planowanie z tego punktu widzenia jest trwonieniem
czasu (waste – odpad)
• Celem każdej metodyki jest eliminacja odpadów
• Z punktu widzenia wydajności najlepiej byłoby zaplanować
projekt w całości raz i do tematu nie wracać
• Jest to nieefektywne dla projektów angażujących w
większości tzw. pracowników wiedzy (knowledge worker)
• Powinno się zaplanować replanning i zaakceptować, że
wstępny plan na pewno będzie zawierał wady
2014-04-29Łukasz Rzepecki
95
Metodyki zwinne
Timeboxing
• Dzielenie czasu pracy na krótkie etapy o stałej długości
• Zespół bierze do wykonania w iteracji tyle pracy ile uważa, że będzie
w stanie wykonać (zwykle na 2 tygodnie)
• Niewykonana praca wraca na koniec iteracji do backloga
• Pomaga w ocenie rezultatów, zbierania informacji zwrotnych,
kontrolowaniu kosztów i ryzyka
• Architectural spike – okres czasu dedykowany na PoC
• Narzędzie służące motywowaniu i skupieniu się na zakańczaniu pracy
• Ludzie mają skłonność do rozpraszania się i wykonywania wielu
rzeczy naraz nieefektywnie – analogicznie w projektach
• Pomaga walczyć z prawem Parkinsona (praca zajmie cały
przydzielony czas) i syndromem studenta (praca na deadline)
2014-04-29Łukasz Rzepecki
96
Metodyki zwinne
Stopniowe doprecyzownie (progressive
elabor.)
• Proces uszczegółowania gdy pojawiają się nowe
informacje i detale
• Na początku projektu planuje i estymuje się wstępnie
pracę do wykonania
• Szczegółowo planuje się tylko najbliższe iterację,
kolejne zawierają coraz mniej detali
• Poziom czasu poświęconego na fazy projektu:
- Wstępne planowanie – 10-15%
- Wydanie wersji (iteracje) – 80-85%
- Zamknięcie – 5%
2014-04-29Łukasz Rzepecki
97
Metodyki zwinne
Dopasowanie procesu (process
tailoring)
• Ma na celu indywidualne dopasowanie procesów do
aktualnej sytuacji w projekcie i w organizacji
• Zmiany następują w efekcie retrospekcji w projekcie
• Spotkanie na koniec iteracji z zespołem i biznesem mające
na celu odpowiedź na 3 pytania:
- Co idzie dobrze?
- Które obszary wymagają ulepszenia?
- Co powinno być realizowane w inny sposób?
• Problemy są rozwiązywane poprzez burzę mózgów
• Rozwiązania są testowane i analizowane przez kilka iteracji
a następnie wdrażane na stałe lub zmieniane
2014-04-29Łukasz Rzepecki
98
Metodyki zwinne
Minimally Marketable Feature (MMF)
• Każde wydanie oprogramowania powinno być sensowne,
użyteczne i wartościowe dla klienta
• MMF oznacza rozwiązanie kompletne na tyle aby było
użyteczne dla klientów/użytkowników ale na tyle małe, że nie
reprezentuje całego projektu
• Udostępnia biznesowi korzyści zanim cały projekt będzie
gotowy
• Umożliwia szybszy zwrot z inwestycji podczas gdy zespół
kontynuuje rozwijanie kolejnych funkcjonalności
• Np. ołówek: MMF – pozostawia ślad na papierze, dodatkowa
funkcjonalność – gumka do mazania itp.
2014-04-29Łukasz Rzepecki
99
Metodyki zwinne
Analiza oparta o wartość
• Na każdym etapie projektu zadajemy pytania:
- Jaka jest wartość biznesowa danej funkcjonalności?
- Które funkcjonalności mają najwyższą wartość biznesową?
• Następnie porządkujemy pracę tak aby dostarczyć w
pierwszej kolejności funkcjonalności o najwyższej wartości
biznesowej
• Należy wziąść pod uwagę również koszt ich wytworzenia
(element o wartości 5 ale kosztujący 4 ma niższą wartość
biznesową od elementu o wartości 3 kosztującego 1)
• Uwaga na zależności – realizacja zadań o niskiej wartości
może być niezbędna, żeby zrealizować te o wyższej
2014-04-29Łukasz Rzepecki
100
Metodyki zwinne
Dekompozycja i porządk. oparte o
wartość
• To proces wydobywania wymagań od biznesu,
porządkowania oraz włączania w proces produkcyjny
• Kick off – powinien obejmować wysiłek na zdefiniowanie
wizji projektu na wysokim poziomie oraz wyrównanie wśród
wszystkich interesariuszy wspólnej misji, celów i kryteriów
sukcesu (tak samo rozumianych)
• Warsztaty – mają na celu wyodrębnienie z wizji
potencjalnych wymagań (candidate feature list)
• Lista jest następnie porządkowana wg wartości biznesowej i
ryzyk oraz poddana iteracyjnemu procesowi realizacji
• Następuje dalsze stopniowe doprecyzowanie wymagań
2014-04-29Łukasz Rzepecki
101
Metodyki zwinne
Dekompozycja i porządk. oparte o
wartość
• W metodykach zwinnych nie doprecyzowuje się dokładnie
wymagań z góry, są “gruboziarniste” – doprecyzowanie
następuje w trakcie postępu projektu
• Pomaga to utrzymać projekt zbalansowany, bez
nadmiernego (niepotrzebnego) wykonania w niektórych
obszarach
• Opóźnia się decyzje o detalach implementacji do ostatniej
chwili (last responsible moment) – nie wykonuje się
funkcjonalności, które mogą (prawie na pewno) się zmienić
w wyniku nowych informacji lub zmian
• Zmiany wprowadzane wcześniej kosztują mniej
2014-04-29Łukasz Rzepecki
102
Metodyki zwinne
Gry Agile
Remember the Future
• Badania wykazały, że jest istotna różnica gdy poprosi się o
odpowiedź na pytanie “Co system powinien robić?” (zwykle
następuje generowanie kompletnej listy potencjalnie
niepotrzebnych funkcjonalności) od poproszenia o
wyobrażenie sobie punktu w przyszłości – po releasie
zakończonym z sukcesem – i “przypomnienie sobie” co
zostało wykonane w ramach projektu
• Każdy interesariusz przez 20 minut spisuje na karteczkach
wymagania, dzieki którym udało się zrealizowac projekt
• Kolejne 20 minut wspólnie grupują i wyjaśniają sobie
wymagania oraz eliminują duplikaty
2014-04-29Łukasz Rzepecki
103
Metodyki zwinne
Gry Agile
Prune the Product Tree
• Gra pomaga w zrozumieniu porządkowania i zdefiniowania
kolejności prac
• Wykorzystanie burzy mózgów w celu narysowania drzewa
wymagań i funkcjonalności oraz zależności
• Pień reprezentuje to co wiemy lub zostało już wykonane
• Gałęzie to nowe funkcjonalności lub wymagające
zaprojektowania
• Wymagania zależne umieszcza się dalej na gałęzi lub wyżej
drzewa
2014-04-29Łukasz Rzepecki
104
Metodyki zwinne
Gry Agile
Speedboat
• Gra pomaga w wyodrębnieniu ryzyk i możliwości
• Niektórzy potrzebują możliwości i sposobu na
wyartykułowanie swoich wątpliwości przed
przystąpieniem do pracy
• Kiedy ich obawy zostaną zaóważone i “zapisane” będą
mogli z mniejszym obciążeniem przystąpić do dalszej
pracy i lepiej współpracować
2014-04-29Łukasz Rzepecki
105
Metodyki zwinne
Gry Agile
2014-04-29Łukasz Rzepecki
106
Estymacja
Zasady i metody
Metodyki zwinne
Estymacja
• Jest niezbędna do szacowania rozmiaru i akceptowania
projektów, ustalania pracy możliwej do wykonania w
ramach wydania bądź iteracji, wyliczeń ROI/IRR/NPV
• Powinna być określana jako przedziały uwzględniające
niepewność
• Wstępne szacunki są najmniej dokładne, należy
reestymować projekt (czas i koszt) cały czas w jego
trakcie
• Nie powinna się tym zajmować tylko 1 osoba lecz cały
zespół, który jest/będzie zaangażowany w pracę
2014-04-29Łukasz Rzepecki
108
Metodyki zwinne
Wideband Delphi
• Metoda iteracyjna, adaptacyjna oparta o zespół ekspertów
• Każdy członek zespołu estymuje anonimowo
- Eliminacja skłonności do zgadzania się z liderem i przyjmowania opinii innych zamiast własnych
ocen danego problemu
• Sesja zaczyna się od podziału całego projektu na fragmenty (estymowane osobno),
specyfikuje się problem, przyjmuje założenia i ograniczenia projektu (w tym minimalne)
• Definiuje się wspólne jednostki estymacji i kryteria zakończenia procesu wyceny (np.
różnice w wycenach max. +/- 20%)
• Iteracja zaczyna się od dyskusji nt. złożoności problemu
• Każdy na kartce zapisuje zadania i ich estymaty wg uznania
• Na koniec iteracji sumy estymat są zapisywane na tablicy (bez wskazywania autorów)
• Jeśli są zbyt duże różnice robi się kolejną iterację
• Na koniec tworzy się wspólną główną listę zadań z wszystkich
2014-04-29Łukasz Rzepecki
109
Metodyki zwinne
Planning Poker
• Rozwinięcie poprzedniej metody
• Oparta na kartach z wartościami (często liczby
Fibonacciego: 1, 2, 3, 5, 8, 13, 21, 34) wyrażającymi
czasochłonność mh/md lub inne jednostki np. Story Points
• Wymagania są czytane kolejno i każdy jednocześnie głosuje
• Przyjmuje się wycenę większości, drobne różnice się pomija,
jeśli ktoś miał zdecydowanie odmienne zdanie jest
dyskutowane a głosowanie jest powtarzane aż do
osiągnięcia konsensusu przez zespół
2014-04-29Łukasz Rzepecki
110
Metodyki zwinne
Czas idealny
• Zwykle praca w ciągu dnia jest rozpraszana i
przerywana przez inne aktywności, nie związane
bezpośrednio z wykonaniem zadania (spotkania, e-
maile, kawa itp.)
• Szacowanie wg czasu idealnego zakłada pominięcie
wszelkich rozpraszających czynników, tzn. pracę
skupioną wyłącznie nad danym zadaniem i przy
założeniu, że nie ma żadnych innych przeszkód do jego
wykonania
2014-04-29Łukasz Rzepecki
111
Metodyki zwinne
Szacowanie porównawcze, Story Points
• Pomaga rozwiązać problem ludzi z dokładnym szacowaniem
całkowitego czasu pracy jak również zwalczyć niechęć do
skomplikowanego procesu wycen
• Łatwiej jest opisywać zjawiska przez porównanie do innych
znanych (np. coś jest 2x większe od…) niż określać je dokładnie
• Bazuje na pracy już wykonanej przez zespół w projekcie
(porównanie do estymat zakończonych zadań)
• Pozwala łatwiej pogodzić się z niewłaściwymi estymacjami (jeśli
wycena nie była w godzinach to przekroczony czas pracy nie
informuje wprost, że estymacja była błędna)
• Zmiana wyceny może nastąpić zawsze gdy tak uzna zespół, w
szczególności gdy pojawiają się nowe informacje
2014-04-29Łukasz Rzepecki
112
Metodyki zwinne
Szacowanie porównawcze, Story Points
• Definicja SP wychodzi z zespołu projektowego, to on ustala
co oznacza 1SP (np. stworzenie prostego ekranu aplikacji
lub 1 dzień idealny), SP między zespołami i w różnych
projektach mogą oznaczać co innego
• Estymaty w SP powinny być all-inclusive (zawierać testy,
refactoring itp.), nie powinno wprowadzać się mnożników
• Suma estymat szczegółowych zadań/wymagań może się
różnić od wstępnej ogólnej wyceny wymagania/wydania
• Estymaty w SP powinny być relatywne (4x5SP = 20x1SP) a
nie określać stopnia skomplikowania
• Powinno się brac pod uwagę 3 aspekty: złożoność problemu,
wymagany nakład pracy oraz ryzyko
2014-04-29Łukasz Rzepecki
113
Metodyki zwinne
Estymacja przez podobieństwo (affinity est.)
• Proces grupowania wymagań w kategorie/kolekcje, np. wg
ich estymat
• Daje możliwość łątwiejszego porównania czy w danej
kategorii wymagania są faktycznie o porównywalnej
wielkości
• Można do tego wykorzystać tablicę podzieloną na pionowe
kolumny, z których każda określa estymację lub jakiś
przedział
• Po wycenie nowego wymagania lub rewycenie porównuje się
czy jego wielkość faktycznie wydaje się być podobna do
innych w danej kolumnie – możliwość dyskusji
2014-04-29Łukasz Rzepecki
114
Metodyki zwinne
Szacowanie czasu, budżetu i kosztów
• Określenie rozmiaru projektu – np. Planning Poker, w czasie
idealnym lub innych jednostkach (SP)
• Skalkulowanie wymaganego nakładu pracy w
godzinach/dniach/tygodniach/miesiącach roboczych –
wymaga przeliczenia estymat z uwzgl. dostępności zasobów
(w tym – określenie stosunku godzina robocza/idealna dla
każdego z członków zespołu)
• Zaplanowanie harmonogramu z uwzględnieniem
wymaganych dni roboczych i rozmiaru zespołu
• Wyliczenie kosztu projektu wg stawek wynagrodzeń oraz
innych kosztów + rezerwa na ryzyko i niepewność
2014-04-29Łukasz Rzepecki
115
Metodyki zwinne
Zasady kosztorysowania
• Do określenia kosztu projektu należy wyliczyć koszt każdego
z członków zespołu – np. roczne wynagrodzenie (koszt) /
liczba tygodni w roku (52)
• Do kosztu należy doliczyć inne obciążenia firmy (czynsz,
sprzęt, administracja)
• Powinno się unikać określania dokładnej ceny lecz podawać
przedziały, na różnych etapach projektów IT inne:
- Wizja – cena: 25-400% / harmonogram (czas): 60-160%
- Definicja, zakres projektu – 50-200% / 80-125%
- Specyfikacja wymagań, ident. historyjek – 66-150% / 85-115%
- Specyfikacja projektowa, gotowy backlog – 80-125% / 90-110%
- Dokładna specyfikacja, 50% wykonane – 95-105% / 98-105%
2014-04-29Łukasz Rzepecki
116
Planowanie zwinne
Cykl życia projektu, karta projektu, planowanie iteracji i wydań
Metodyki zwinne
Planowanie zwinne
Istotnie różni się od planowania tradycyjnego:
• Wersje testowe i demo ujawniają prawdziwe wymagania, które
wymagają replanningu
- Zamiast tworzyć szczegółowe specyfikacje lepiej zbudować prototyp aby lepiej
zrozumieć problem i wykorzystać go do dalszego planowania
• Planowanie zwinne, to większy wysiłek w trakcie projektu niż przed
jego rozpoczęciem
- Ważniejsze jest określenie ryzyk i niepewności
- Uszczegóławianie w trakcie sprzyja lepszemu dopasowaniu wraz z nowymi
informacjami
- Zwykle planowanie zajmuje sumarycznie więcej czasu od tradyc.
- Eliminuje ryzyka błędnego zaplanowania już na początku
• Normą są zmiany w trakcie realizacji projektu
- Podejście kierowanego pocisku zmierzającego do ruchomego celu
2014-04-29Łukasz Rzepecki
118
Metodyki zwinne
Cykl życia projektu zwinnego
2014-04-29Łukasz Rzepecki
119
Metodyki zwinne
Karta projektu
• To pierwszy i podstatowy dokument projektowy
• Odpowiada na 5 pytań (W5H):
- O czym jest projekt – wizja, misja, cele
- Dlaczego jest realizowany – racjonalne wyjaśnienie biznesu
- Kiedy się rozpocznie i zakończy – plan
- Kto będzie zaangażowany – lista interesariuszy
- Gdzię będzie realizowany – fizycznie i technicznie
- Jak będzie realizowany – opis podejścia, zasady realizacji
• Okeślenie przez interesariuszy celów projektu w 140 zn.
• Nie ma standardów – może to być zarówno 1 strona jak i
skomplikowany szczegółowy dokument, ważne aby był
2014-04-29Łukasz Rzepecki
120
Metodyki zwinne
Planowanie iteracji i wydań
• Projekty zwinne dzielą się na wydania i iteracje
• Wydanie to zbiór iteracji, których realizacja skutkuje
dostarczeniem wartościowego produktu bieznesowi/klientowi
• Wydanie może byc uzależnione od terminu (deadline, np.
targi) lub osiągnięcia określonej funkcjonalności – w
zależności od tego, z wykorzystaniem informacji o prędkości
zespołu, szacujemy co uda się zrobić w danym czasie lub
kiedy osiągniemy daną funkcjonalność
• Do planowania wydań stosuje się Story Maps – podział
najpierw wg zależności a później funkcjonalności
2014-04-29Łukasz Rzepecki
121
Metodyki zwinne
Planowanie iteracji i wydań
• Planowanie iteracji robi zespół wybierając wymagania o
najwyższym priorytecie, które uda się zaimplementować,
przetestować i dostarczyć na koniec iteracji
• Istotne jest określenie głównych celów do osiągnięcia na koniec
iteracji z biznesem – klientem lub Product Ownerem (w celu
właściwego doboru wymagań)
• W przypadku Scruma, PO powinien przyjść na planning
przygotowany ze świeżo uporządkowanym backlogiem
- Pierwszą połowę spotkania PO opowiada o wymaganiach, które chciałby
zrealizować a zespół zobowiązuje się do wykonania określonych wymagań
w ramach swoich możliwości
- Przez drugą połowę spotkania zespół dzieli wymagania na zadania oraz
dyskutuje jak będą realizowane – powstaje sprint backlog
- Przypisywanie zadań do osób może być później i może się zmieniać
2014-04-29Łukasz Rzepecki
122
6. Problemy
Jakość, zapobieganie i rozwiązywanie problemów
Wykrywanie problemów
Czas cyklu, niewykryte wady, jakość
Metodyki zwinne
Czas cyklu
• Mierzy jak długo zajmuje wykonywanie zadań (od rozpoczęcia do
akceptacji)
• Jest blisko związany z pojęciem pracy w toku (Work in progress –
WIP)
• Duża liczba WIP wiąże się z problemami:
- Oznacza inwestycję w toku, z której nie ma zwrotu
- Ukrywa wąskie gardła i maskuje problemy z wydajnością
- Zwiększa ryzyko potencjalnych zmian – duża liczba niezaakceptowanych
wymagań w toku, mogących wpływać na siebie
• Długi czas cyklu zwiększa liczbę WIP – dlatego metody zwinne
dążą do jego skracania i dzielenia pracy na fragmenty
• Czas cyklu = WIP / przepustowość
2014-04-29Łukasz Rzepecki
125
Metodyki zwinne
Czas cyklu
• Pojęcie to jest użyteczne do analizowania wad i napraw
• Można niezależnie monitorować czas cyklu naprawy wad
• Im dłużej wady są nienaprawione tym są kosztowniejsze
• Kluczowe jest szybkie wykrywanie problemów na jak
najwcześniejszym etapie aby zredukować ryzyko
wykonywania pracy od nowa:
- Programowanie w parach
- Continuous integration
- Test-driven development
- Partycypacja interesariuszy
- Częste demonstracje produktu (opinie od biznesu/klienta)
2014-04-29Łukasz Rzepecki
126
Metodyki zwinne
Niewykryte wady (escaped defects)
• To wady, które nie zostały wykryte na etapie produkcji
ani kontroli jakości i przedostały się do oprogramowania
działającego produkcyjnie, ew. wykryte przez klienta
• Są najbardziej kosztowne do naprawy
• Monitorowanie liczby takich wad pojawiających się w
poszczególnych wydaniach może pomóc w ich
eliminacji w przyszłości
2014-04-29Łukasz Rzepecki
127
Metodyki zwinne
Koszt zmiany
2014-04-29Łukasz Rzepecki
128
Metodyki zwinne
Standardy jakości
• Dotyczą tego co zespół będzie robił aby zapewnić jakość i
właściwą wartość produktu?
• Standardy mogą być spisane lub nieformalne w postaci
wymagań i wytycznych, za które zespół bierze
odpowiedzialność
• Źródła wiedzy o standardach jakości:
- Standardy formalne – spisane
- Monitorowanie, audyty
- Rozmowy i dyskusje
- Przeglądy (dema)
- Retrospekcje
2014-04-29Łukasz Rzepecki
129
Metodyki zwinne
Standardy jakości – praktyki
• Mierzenie jakości przez testy i akceptację biznesu/klienta
• Testy automatyczne
• Zapewnienie aby testowanie było częścią każdej iteracji
• Staranie się naprawy 90% wad w następnej iteracji
• Ujednolicenie rozumienia kryterów akceptacyjnych wśród
developerów, biznesu i ew. osób odpowiedzialnych za jakość
• Akceptacja naprawy wad nie przez developerów a biznes
• Współpraca osób wykrywających wady z developerami
mająca na celu umożliwienie powtórzenia błedu
• Monitorowanie liczby wad, rządań zmian i wyjaśnień oraz
utrzymania wskaźników w poziomach tolerancji
2014-04-29Łukasz Rzepecki
130
Metodyki zwinne
Przyczyny problemów
• Popełnianie błędów ludzkich
• Działania zachowawcze – zwłaszcza w przypadku wysokiej
niepewności, wykorzystanie dotychczasowej wiedzy, która
nie jest najoptymalniejsza do wykonania danego zadania
• Wynajdywanie nowych metod (narażonych na wady) zamiast
wykorzystania gotowych, sprawdzonych, re-używalnych
rozwiązań
• Przyzwyczajenie – unikanie zmian gdy są konieczne
• Brak konsekwencji we wdrażaniu nowych rozwiązań
2014-04-29Łukasz Rzepecki
131
Rozwiązywanie problemów
Sposoby zapobiegania i rozwiązywania problemów
Metodyki zwinne
Metody zapobiegania problemom
• Continuous Integration – zapobieganie problemom
wynikającym z częstego dołączania nowego kodu przez
różnych członków zespołu do repozytorium projektu
• Risk-Based Spike – krótkie ćwiczenie typu PoC mające na
celu przeanalizowanie sposobu rozwiązania problemu w celu
pomniejszenia ryzyka przed właściwą implementacją
• Test-Driven Development (TDD) – testy są pisane przed
kodem, wymaga zastanowienia się jak rozwiązanie będzie
testowane i jak ma działać, testy nie przejdą dopóki napisany
kod nie będzie spełniał założonych kryteriów
- Red  Green  Refactor (Red  Green  Clean)
2014-04-29Łukasz Rzepecki
133
Metodyki zwinne
Metody zapobiegania problemom
• Acceptance Test-Driven Dev. (ATDD) – przeniesienie testowania
z kodu na wymagania biznesowe, 4 etapy:
- Discuss – omówienie wymagań, kryteriów akceptacyjnych
- Distill – ustrukturyzowanie i wprowadzenie testów do narzędzia typu FIT
(Frmrk For Integrated Testing) lub FitNesse
- Develop – kodowanie i podpięcie kodu do testów
- Demo – końcowe testy akceptacyjne i demo produktu
• Częsta weryfikacja i walidacja – funkcjonuje na każdym poziomie
projektów zwinnych, np. programowanie w parach/code review,
testy jednostkowe, stand-upy, testy akceptacyjne, przegląd
iteracji/demo itp. – każde z tych działań ma na celu jak najszybcie
wykrycie i wyeliminowanie problemów
2014-04-29Łukasz Rzepecki
134
Metodyki zwinne
Rozwiązywanie problemów
3 fazy:
• Zebranie danych – mające na celu wspólny pogląd na problemy
- Timeline – zaznaczenie wydarzeń (+/-/!) na linii czasu i emocji zesp.
- Triple Nickels – 5 pomysłów x 5 iteracji w zespole na karteczkach
• Wnioski – przeanalizowanie zebranych danych, interpretacja,
zrozumienie następstw
- Burza mózgów – wygenerowanie, przefiltrowanie i posortowanie
- 5 pytań Dlaczego – dojście od ogółu do rdzenia/przyczyny problemu
- Fishbone – diagram doprecyzowujący Five whys
• Decyzje co zrobić – jasne decyzje
- Short Subjects – np. Keep/Drop/Add, Zacznij/Przestań/Więcej/Mniej
- SMART – Specific, Measurable, Attainable, Relevant, Timely
2014-04-29Łukasz Rzepecki
135
Metodyki zwinne
Zaangażowanie zespołu w rozw. problemów
• Zaangażowanie zespołu w rozwiązywanie problemów jest
bardzo ważne:
• Brak konieczności “sprzedaży” rozwiązania zespołowi
• Zespół jest bliżej szczegółów i może znać lepsze rozw.
• Zespół wygeneruje bardziej praktyczne rozwiązania
(uniknięcie odpowiedzi “nie da się”)
• Ludzie zapytani o pomoc lubią zastanawiać się i pracować
nad najlepszymi rozwiązaniami oraz doceniają to
• Prośba o pomoc pokazuje zaufanie a nie słabość
• Wpływa na porządany sposób zachowań w organiazcji
2014-04-29Łukasz Rzepecki
136
7. Ciągłe doskonalenie
Retrospekcje i udoskonalanie procesów
Metodyki zwinne
Retrospekcja
• To wydarzenie odbywające się po sprincie mające na celu
naukę i refleksję aby doskonalić metody działania i pracę
zespołową ze sprintu na sprint a nie dopiero po projekcie (jak
klasyczne lessons learned)
• Typowe spotkanie składa się z kilku etapów (czas trwania dla
sprintu 2-tygodniowego, to max. 2 godziny):
- Przygotowanie – 5%
- Zebranie informacji – 30-50%
- Wnioski – 20-30%
- Decyzje co zrobić – 15-20%
- Zamknięcie – 10-15%
2014-04-29Łukasz Rzepecki
138
Metodyki zwinne
Retrospekcja
Przygotowanie
• Ma na celu skoncentrowanie się na celach spotkania, wytworzenie
przyjaznej atmosfery sprzyjającej rozmowie na problematyczne
tematy, zaplanowanie tematów do dyskusji
• Pomocne narzędzia:
- Check-In – podsumowanie w 1-2 słowach przez każdego po kolei czego
oczekuje od spotkania, głównego tematu do podjęcia lub odczuć co do
retrospekcji
- Focus On / Focus Off
- ESVP – Explorers, Shoppers, Vacationers, Prisoners – anonimowa ankieta
jakie są nastroje na spotkanie i omówienie wyników
- Working agreements – praca w podgrupach nad tematyką retrospekcji
2014-04-29Łukasz Rzepecki
139
Metodyki zwinne
Retrospekcja
Zebranie informacji
• Stworzenie wspólnego obrazu co się wydarzyło podczas
iteracji/wydania/projektu – zebranie obserwacji, faktów, odkryć
• Narzędzia (rozdz. VI):
- Timeline
- Triplce nickels
- Color code dots
- Mad, sad, glad
- Locate strengths
- Satisfaction histogram
- Team radar
- Like to like
2014-04-29Łukasz Rzepecki
140
Metodyki zwinne
Retrospekcja
Wnioski
• Czas na ocenę informacji i wyciągnięcie z nich
wniosków, celem jest pomoc w zrozumieniu implikacji
odkryć i podjętych decyzji
• Narzędzia (rozdz. VI):
- Burza mózgów
- Five whys
- Fishbone
- Prioritize with dots
- Identify themes
2014-04-29Łukasz Rzepecki
141
Metodyki zwinne
Retrospekcja
Decyzje co zrobić
• Zastanowienie się co można zmienić w kolejnych iteracjach i
co zrobić inaczej
• W tym etapie zespół identyfikuje i porządkuje działania do
podjęcia, tworzy plan ew. eksperymentów, ustala mierzalne
cele do osiągnięcia i spodziewane rezultaty
• Narzędzia (rozdz. VI):
- Short subjects
- SMART goals
- Retrospective planning game
- Circle of questions
2014-04-29Łukasz Rzepecki
142
Metodyki zwinne
Retrospekcja
Zamknięcie
• Refleksja na temat samej retrospekcji
• Narzędzia:
- Plus/Delta – spisanie w dwóch kolumnach pomysłów co idzie
dobrze (+) i co można by zmienić (Δ) w retrospekcjach
- Helped (Pomocne), Hindered (Utrudnienia), Hypothesis
(Przypuszczenia) – rozmowa na temat samego procesu
retrospekcji, jak go poprawić w kolejnych iteracjach
- Return on Time Invested (ROTI) – czy zespół sądzi, że poświecony
czas został dobrze wykorzystany
- Uznania – wzajemne podziękowania za pomoc, wkład w
rozwiązywanie problemów itp.
2014-04-29Łukasz Rzepecki
143
Metodyki zwinne
Dzielenie się wiedzą
• Jest kluczowe w projektach zwinnych, w środowiskach
pracownika wiedzy
• Odbywa się na wielu poziomach – podczas dema (zespół-
klient), wiedza niepisana w środowisku f2f, poprzez
komunikację osmotyczną, na stand-upach, retrospekcjach
• Klutura organizacyjna powinna promować dzielenie się
wiedzą, odkrycia i innowacje a nie jednostki które mają dużą
wiedzę (guru) ale się nią nie dzielą (klasyczne podejście)
• Najlepszym sposobem do zachęcania do pracy grupowej,
wzajemnej pomocy i dzielenia się wiedzą jest mierzenie
efektów o poziom wyżej – tzn. nie konkretnego pracownika
ale całego zespołu, nie zespołu ale całego działu itp.
2014-04-29Łukasz Rzepecki
144
Metodyki zwinne
Udoskonalanie procesów
• Ma na celu lepsze dopasowanie metodologii do środowiska
projektu
• Np. Kanban zaleca modyfikowanie metodologi do własnych
potrzeb ale Scrum jest mniej elastyczny
• Niektórzy promują podejście “proces per projekt”
• Kluczowe jest doświadczenie zespołów w realizacji kilku
projektów by-the-book a dopiero później ich modyfikowanie
do własnych potrzeb
• Proste projekty o znanej technologii i dokładnej specyfikacji
wymagań wcale nie potrzebuja metodyk zwinnych! Z drugiej
strony jeśli projekt jest w stanie chaosu metodyki zwinne
również nie pomogą
2014-04-29Łukasz Rzepecki
145
Metodyki zwinne
Udoskonalanie procesów
• Analiza procesu
- Antywzorce:
• Jeden rozwmiar dla wszystkich projektów
• Nietolerancyjny
• Ciężki
• Upiększony
• Niewypróbowany
• Użyty raz
- Kryteria pozytywne:
• Projekt został zakończony i sprzedany
• Lider nie został zwolniony
• Zespół pracowałby ponownie w ten sam sposób
2014-04-29Łukasz Rzepecki
146
Metodyki zwinne
Udoskonalanie procesów
• Kryteria sukcesu
- Komunikacja face-to-face
- Nadmiar narzutu metodologii jest kosztowny – minimalizacja
produkowanej dokumentacji
- Większe zespoły wymagają cięższych metodologii
- Projekty krytyczne wymagają większych rygorów metodyki
- Informacje zwrotne i częsta komunikacja redukują potrzebę
dostarczania częstych pośrednich rezultatów
- Ważniejsza jest dyscyplina, umiejętności i zrozumienie niż procesy,
formalności i dokumentacja
- Wydajność można zwiększać tylko w środowiskach bez wąskich
gardeł
2014-04-29Łukasz Rzepecki
147
Metodyki zwinne
Udoskonalanie procesów
• Stosowanie nowych praktyk
- Nie stosować dopóki nie jest to niezbędne
- Czy jest jakieś inne rozwiązanie – głównego problemu?
- Czy nowe rozwiązanie faktycznie coś poprawia?
- Próbować nowe praktyki w małych dawkach (kilka iteracji)
- Analizować skutki uboczne – retrospekcje
• Proces ciągłego doskonalenia
- Analogia Plan-Develop-Evaluate-Learn do Plan-Do-Check-Act Deminga
- Iteracyjne i przyrostowe tworzenie jest formą ciągłego doskonalenia a
informacje zwrotne od klienta kierują zespół na finalne rozwiązanie
• Samoocena – nie tylko proces i produkt ale równiez zespół
wymaga oceny, jak działa i co wymaga poprawy
2014-04-29Łukasz Rzepecki
148
8. Opis metodyk
SCRUM, XP
SCRUM
Zespół, zdarzenia, artefakty
Metodyki zwinne
SCRUM
• Określa ramy postępowania przy rozwiązywaniu złożonych
problemów adaptacyjnych – optymalizuje elastyczność,
kreatywność i produktywność
• Podejście iteracyjne i przyrostowe w celu zwiększenia
przewidywalności i lepszej kontroli ryzyka
• Opiera się na:
- Przejrzystości – wszystkie aspekty procesu muszą być widoczne,
jasne i jednakowo zrozumiałe przez wszystkich (np. wspólna
definicja “ukończonej” pracy – DoD)
- Inspekcji – częsta weryfikacja realiacji celów sprintu
- Adaptacji – jeśli któryś z aspektów projektu wykracza poza ramy,
należy szybko dokonać niezbędnych korekt
2014-04-29Łukasz Rzepecki
151
Metodyki zwinne
Zespół Scrumowy (Development Team)
• Jest samo-organizujący się i międzyfunkcjonalny
- Zespół sam decyduje jak najlepiej wykonać pracę
- Nie jest kierowany przez nikogo z zewnątrz
- Posiada wszelkie kompetencje do wykonania pracy – nie jest
zależny od osób spoza zespołu
• Dostarcza ukończone produkty iteracyjnie i przyrostowo
- Zwiększone szanse na wczesne uzyskanie informacji zwrotnej
- Nieprzerwana dostępność działającej użytecznej wersji
• Zespół Scrumowy, to:
- Product Owner – właściciel produktu
- Zespół developerski
- Scrum Master
2014-04-29Łukasz Rzepecki
152
Metodyki zwinne
Właściciel Produktu (Product Owner)
• To pojedyńcza osoba, nie komitet
• Może reprezentować interesy grupy osób
• Wszelkie zmiany w backlogu muszą przechodzić przez
właściciela produktu
• Cała organizacja musi respektować jego decyzje (treść i
kolejność elementów w backlogu)
• Nikt inny nie może nakazać zespołowi realizacji innych
wymagań
2014-04-29Łukasz Rzepecki
153
Metodyki zwinne
Właściciel Produktu (Product Owner)
• Odpowiada za maksymalizację wartości produktu i pracy
• Jest jedyną osobą zarządzającą backlogiem produktu:
- Jasne artykułowanie elementów backlogu
- Ustalanie kolejności elementów w sposób pozwalający osiągać założone
cele i misje
- Optymalizowanie wartości pracy wykonywanej przez zespół
- Zapewnianie dostępności, przejrzystości oraz że jest jasny i zrozumiały
przez wszystkich
- Dobrze opisuje to, czym zespół będzie się zajmował w dalszej kolejności
- Zapewnianie, że zespół rozumie elementy backlogu w wymaganym stopniu
• Może zlecić realizację tych zadań na zespół ale właściciel produktu
pozostaje za nie w pełni odpowiedzialny
2014-04-29Łukasz Rzepecki
154
Metodyki zwinne
Zespół developerski
• Złożony jest z profesjonalistów, którzy tworzą przyrost
• Jest uprawniony do samodzielnego organizowania własnej pracy i zarządzania
nią
• Nikt (nawet Scrum Master) nie może nakazać zespołowi jak przekształcać
elementy backloga w przyrosty
• Nie uznaje tytułów innych niż “developer” (np. nazwa stanowiska czy ranga
starszy/młodszy) ani podzespołów
• Mimo, że pojedyńcze osoby mogą mieć specjalizację, to odpowiedzialność za
rezultat ponosi solidarnie cały zespół
• Zespołowi nie wolno podejmować działań w oparciu o to co mówią inne osoby
niż właściciel produktu
• Idealny rozmiar, to 3-9 osób (+ PO i SM)
• Product Owner i Scrum Master mogą być członkami zespołu, jeśli
jednocześnie wykonują też pracę wynikająca z backloga
2014-04-29Łukasz Rzepecki
155
Metodyki zwinne
Scrum Master
• Jest odpowiedzialny za to aby Scrum był zrozumiany i był
stosowany, szczególnie gdy nie jest jeszcze w pełni przyjęty i
rozumiany w danej organizacji
• Wspiera właściciela produktu w technikach efektywnego
zarządzania backlogiem i maksymalizowania wartości
• Wspiera zespół scrumowy w rozumieniu i praktykowaniu
zwinności i empirycznego podejścia rozwoju produktu
• Wspomaga przebieg zdarzeń scrumowych – jeśli jest to
konieczne lub zostanie o to poproszony
• Coachuje zespół w zakresie samoorganizacji
• Usuwa przeszkody ograniczające postęp pracy zespołu
2014-04-29Łukasz Rzepecki
156
Metodyki zwinne
Zdarzenia w Scrumie
• Są okazją do inspekcji i adaptacji – niewykonanie któregoś z
nich redukuje przejrzystość i możliwość dokonania inspekcji i
adaptacji, które są filarami Scruma
• Wprowadzają regularność i ograniczają konieczność
organizowania innych spotkań
• Wszystkie zdarzenia są organiczone czasowo (timeboxing)
• Zdarzenia w Scrumie:
- Sprint
• Planowanie sprintu (Sprint Planning)
• Codzienny Scrum (Daily Scrum)
• Przegląd sprintu (Sprint Review)
• Retrospektywa sprintu (Sprint Retrospective)
2014-04-29Łukasz Rzepecki
157
Metodyki zwinne
Sprint
• Musi posiadać cel – opis tego co ma powstać, cel uspójnia działania zespołu
• Iteracja ograniczona czasowo do maksymalnie 1 m-ca
- Dłuższy czas wzmaga ryzyko zmiany definicji celów i zwiększa złożoność
- Inspekcja i adaptacja są regularne
• Czas trwania jest ustalany w momencie rozpoczęcia i nie może być zmieniany ale
najlepiej aby miały stałą długość przez cały projekt
• Wytwarza przyrost – ukończony, gotowy do użycia i potencjalnego wydania
• Zakres pracy może być wyjaśniany trakcie sprintu z PO
• Może również być renegocjowany z PO jeśli pojawiają się nowe informacje, np. charakter
prac okazuje się inny od zaplanowanych
• Nie można wprowadzać zmian zagrażających realizacji celów sprintu bądź obniżających
cele jakościowe
• W trakcie sprintu zespół może uczestniczyć w doskonaleniu backloga (max. 10% czasu
sprintu)
• Może być przerwany tylko przez PO np. jeśli zdezaktualizują się cele
2014-04-29Łukasz Rzepecki
158
Metodyki zwinne
Planowanie sprintu
• Spotkanie całego zespołu scrumowego, maksymalnie 8h dla 1-
miesięcznego sprintu
• Co może zostać zrobione w Sprincie?
- Zespół prognozuje zakres prac, które może zrealizować
- PO omawia założenia sprintu oraz elementy backloga, które temu służą
- Zespół scrumowy uzgadnia cel sprinta a zespół developerski podejmuje
zobowiązanie które elementy backloga wykona
• W jaki sposób wybrany zakres pracy zostanie zrealizowany?
- Zespół planuje w jaki sposób elementy backloga produktu zostaną
przekształcone w ukończony przyrost – tworzy projekt i zadania
- Wybrane elementy backloga produktu wraz ww. planem tworzą backlog sprintu
• Zespół może zaprosić na spotkanie inne osoby z wiedzą techniczną
lub z danej domeny
2014-04-29Łukasz Rzepecki
159
Metodyki zwinne
Codzienny Scrum
• Zdarzenie zespołu developerskiego (tylko), max. 15 minut, o stałym miejscu i
porze, wygodnej dla wszystkich, za którego przebieg jest odpowiedzialny sam
zespół
• Scrum Master jest jednakże odpowiedzialny za to aby zdarzenie miało miejsce
i trwało nie dłużej niż 15 minut
• Służy synchronizacji działań, ocenie postępu prac, trendów i zaplanowaniu
następnych 24 godzin (to nie tylko status)
• Każdy członek zespołu udziela pozostałym informacji:
- Co wykonał od poprzedniego spotkania aby pomóc zespołowi przybliżyć się do osiągnięcia
cel sprintu?
- Co zrobi w tym celu do następnego spotkania? (planowanie!)
- Czy widzi jakiekolwiek przeszkody w realizacji celu przez zespół?
• Po codziennym scrumie członkowie zespołu mogą szczegółowo omówić
wybrane zagadnienia i problemy
• Jest to spotkanie kluczowe dla procesu inspekcji i adaptacji
2014-04-29Łukasz Rzepecki
160
Metodyki zwinne
Przegląd sprintu
• Spotkanie całego zespołu scrumowego i kluczowych interesariuszy na
zakończenie sprintu, max. 4h dla 1-miesięcznego sprintu
• Celem jest inspekcja przyrostu i ew. dostosowanie backloga produktu w celu
zwiększenia dostarczanej wartości
• To spotkanie robocze a nie statusowe:
- PO wyjaśnia, które funkcjonalności uznał za ukończone
- Zespół prezentuje wykonany przyrost oraz wyjaśnia co poszło dobrze a gdzie były problemy i
jak zostały rozwiązane
- PO omawia aktualny backlog produktu
- Uczestnicy rozważają co najlepiej wykonać w następnej kolejności aby dostarczyć
maksymalną wartość
- Rewiduje się czas, budżet i wprowadza ew. zmiany do backloga
- PO dokonuje podsumowania całej pozostałej do wykonania pracy i porównuje ją ze stanem
poprzednim (ocena możliwości realizacji celów w wyznaczonym terminie, np. wykorzystując
wskaźnik prędkości pracy)
- Rezultatem jest zaktualizowany backlog produktu
2014-04-29Łukasz Rzepecki
161
Metodyki zwinne
Retrospektywa sprintu
• Spotkanie zespołu scrumowego, odbywające się
między przeglądem i planowaniem sprintów, max. 3h
dla 1-miesięcznego sprintu
• Ma na celu autoinspekcję własnych działań zespołu i
opracowaniu planu usprawnień na kolejny sprint:
- Sprawdzenie, co działo się w ostatnim sprincie, z
uwzględnieniem ludzi, relacji, procesów i narzędzi
- Co się sprawdziło a co wymaga usprawnienia
- Opracowanie plananu usprawnień
• np. doprecyzowanie definicji “ukończenia”
2014-04-29Łukasz Rzepecki
162
Metodyki zwinne
Artefakty Scruma
• Artefakty w Scrumie, to:
- Backlog produktu
- Backlog sprinta
- Przyrost – suma wszystkich ukończonych elementów backloga
produktu zgodnie z definicją DoD zespołu scrumowego
• Musi być zachowana ich pełna przejrzystość
• Są podstawą podejmowanych decyzji mających na celu
optymalizację wartości i kontrolę ryzyka
• Zadaniem Scrum Mastera jest dbanie o ich przejrzystość
- Inspekcja
- Wyłapywanie różnic między oczekiwaniami a wynikami
2014-04-29Łukasz Rzepecki
163
Metodyki zwinne
Backlog produktu (Product Backlog)
• Jedyne źródło wymagań: lista wszystkich cech, funkcji, wymagań, ulepszeń i korekt błędów
• Elementy zawierają: opis, kolejność, oszacowanie, wartość
• PO jest za niego odpowiedzialny ale oszacowania dokonuje wyłącznie zespół developerski
• Nigdy nie jest kompletny, ewoluuje wraz z produktem i środowiskiem, dynamicznie się zmienia
• Doskonalenie backloga (refinement) – ciągła praca zespołu scrumowego: przeglądanie i
korygowanie
- Dodawanie szczegółów, oszacowań, porządkowanie
• Istnieje tak długo jak produkt
• Jeśli nad jednym produktem pracuje kilka zespołów scrumowych, to korzystają z tego samego
backloga
• Elementy najwyżej, na najbliższy sprint, muszą być szczegółowo opisane i możliwe do realizacji
w ramach sprintu
- Statusy: Nieprzygotowane  Przygotowane (gotowe do realizacji, wystarczająco zrozumiałe i wystarczająco
małe)  Ukończone
2014-04-29Łukasz Rzepecki
164
Metodyki zwinne
Backlog sprintu (Sprint Backlog)
• To zbiór elementów backloga produktu wybranych do realizacji na dany sprint,
rozszerzony o:
- Plan dostarczenia przyrostu produktu
- Plan realizacji celu sprintu (praca niezbędna wg zespołu developerskiego do jego
osiągnięcia)
• Wystarczająco szczegółowy
• Jest modyfikowany przez zespół developerski w trakcie trwania sprintu (w
miarę realizacji celów i wyłaniania się nowych informacji aby je osiągnąć)
- Dodatkowa praca jest dodawana do backloga sprintu z zbędne elementy usuwane – tylko
zespół developerski może go zmieniać!
• W miarę postępu prac aktualizowane jest oszacowanie pozostałej do
wykonania pracy w sprincie (przynajmniej raz dziennie podczas codziennego
scruma)
• Na koniec sprintu nowy przyrost musi być ukończony i być przetestowany z
poprzednimi przyrostami (muszą działać razem)
2014-04-29Łukasz Rzepecki
165
Metodyki zwinne
Definicja ukończenia (DoD)
• Każdy musi rozumieć co oznacza ukończenie elementu
backloga produktu albo przyrostu produktu (pracy w
kolejnym sprincie)
• Zespół scrumowy musi mieć wspólne rozumienie DoD
• Celem każdego sprintu jest dostarczenie gotowej do
wydania funkcjonalności, zgodnie z aktualną definicją
ukończenia funkcjonującą w zespole scrumowym
• Konwencja, standardy i wytyczne w organizacji
stanowią minimum definicji ukończenia – jeśli ich nie
ma musi je wypracować sam zespół
2014-04-29Łukasz Rzepecki
166
Metodyki zwinne
Podsumowanie Scruma
• Scrum istnieje tylko w swojej pełnej postaci
• Może stanowić ramy dla innych technik, metodyk i
praktyk
2014-04-29Łukasz Rzepecki
167
Metodyki zwinne
SCRUM
2014-04-29Łukasz Rzepecki
168
Metodyki zwinne
Dziękuję
2014-04-29Łukasz Rzepecki
169

Contenu connexe

Tendances

Getting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnGetting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnInstitut Lean France
 
Practical Project Management - full course
Practical Project Management - full coursePractical Project Management - full course
Practical Project Management - full courseMarten Schoonman
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...die.agilen GmbH
 
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...Agile Montréal
 
Sécurité psychologique : l’organisation à cœur!
Sécurité psychologique : l’organisation à cœur!Sécurité psychologique : l’organisation à cœur!
Sécurité psychologique : l’organisation à cœur!Agile Montréal
 
[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancas[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancasXavier Albaladejo
 
Implementing a project delivery framework
Implementing a project delivery frameworkImplementing a project delivery framework
Implementing a project delivery frameworkJohn Napier
 
Product owner
Product ownerProduct owner
Product ownerMrSnow76
 
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...Agile Montréal
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projectsrachna_nainani
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to ScrumPavel Dabrytski
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesXPDays
 
Inspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling AgileInspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling AgileLeland Newsom CSP-SM, SPC5, SDP
 

Tendances (20)

Getting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnGetting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair Cockburn
 
Practical Project Management - full course
Practical Project Management - full coursePractical Project Management - full course
Practical Project Management - full course
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
 
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...
ATMTL23 - Développer vos habiletés relationnelles pour un leadership inspiran...
 
Scrum Values
Scrum ValuesScrum Values
Scrum Values
 
Sécurité psychologique : l’organisation à cœur!
Sécurité psychologique : l’organisation à cœur!Sécurité psychologique : l’organisation à cœur!
Sécurité psychologique : l’organisation à cœur!
 
[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancas[es] Enterprise Agile adoption - Límites y palancas
[es] Enterprise Agile adoption - Límites y palancas
 
SCRUM w pigułce
SCRUM w pigułceSCRUM w pigułce
SCRUM w pigułce
 
Implementing a project delivery framework
Implementing a project delivery frameworkImplementing a project delivery framework
Implementing a project delivery framework
 
Agile coaching
Agile coachingAgile coaching
Agile coaching
 
Product owner
Product ownerProduct owner
Product owner
 
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
 
Agile estimation
Agile estimationAgile estimation
Agile estimation
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projects
 
Pmp hr chapter 9
Pmp hr chapter 9Pmp hr chapter 9
Pmp hr chapter 9
 
Agile & Scrum podstawy
Agile & Scrum podstawyAgile & Scrum podstawy
Agile & Scrum podstawy
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to Scrum
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation Techniques
 
Jenkins Job DSL plugin
Jenkins Job DSL plugin Jenkins Job DSL plugin
Jenkins Job DSL plugin
 
Inspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling AgileInspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
Inspiring Alignment and Autonomy - The Leaders Role in Scaling Agile
 

En vedette

Strefa PMI nr 9, czerwiec 2015
Strefa PMI nr 9, czerwiec 2015Strefa PMI nr 9, czerwiec 2015
Strefa PMI nr 9, czerwiec 2015Strefa PMI
 
Agile - co w tym jest? (PMI&IPMA Szczecin)
Agile - co w tym jest? (PMI&IPMA Szczecin)Agile - co w tym jest? (PMI&IPMA Szczecin)
Agile - co w tym jest? (PMI&IPMA Szczecin)Michal Raczka
 
Praktyczne metody realizacji Projektów
Praktyczne metody realizacji ProjektówPraktyczne metody realizacji Projektów
Praktyczne metody realizacji ProjektówASAP24
 
Prezentacja na temat grafiki
Prezentacja na temat grafikiPrezentacja na temat grafiki
Prezentacja na temat grafikiRobert Mucha
 
Wiosenne Wieczory ze Scrum 1 Rzut okiem na Scrum
Wiosenne Wieczory ze Scrum 1 Rzut okiem na ScrumWiosenne Wieczory ze Scrum 1 Rzut okiem na Scrum
Wiosenne Wieczory ze Scrum 1 Rzut okiem na ScrumMichał Parkoła
 
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...Grant Thornton
 
Uf adaptacja pracowników
Uf adaptacja pracownikówUf adaptacja pracowników
Uf adaptacja pracownikówLidiaI
 
Zarządzanie Ryzykiem w projektach
Zarządzanie Ryzykiem w projektachZarządzanie Ryzykiem w projektach
Zarządzanie Ryzykiem w projektachguesteae0e5b
 
Czym jest jakość architektury korporacyjnej i jak ją oceniać?
Czym jest jakość architektury korporacyjnej i jak ją oceniać? Czym jest jakość architektury korporacyjnej i jak ją oceniać?
Czym jest jakość architektury korporacyjnej i jak ją oceniać? Andrzej Sobczak
 
Kurikulum bilet cavab (cografiya)
Kurikulum bilet cavab (cografiya)Kurikulum bilet cavab (cografiya)
Kurikulum bilet cavab (cografiya)ADPU
 
Sugammadeks wskazania do_stosowania
Sugammadeks wskazania do_stosowaniaSugammadeks wskazania do_stosowania
Sugammadeks wskazania do_stosowaniaPolanest
 
Prezentacja Ola Mąkosa
Prezentacja Ola MąkosaPrezentacja Ola Mąkosa
Prezentacja Ola Mąkosamgra12
 

En vedette (20)

Transport i spedycja
Transport i spedycjaTransport i spedycja
Transport i spedycja
 
Strefa PMI nr 9, czerwiec 2015
Strefa PMI nr 9, czerwiec 2015Strefa PMI nr 9, czerwiec 2015
Strefa PMI nr 9, czerwiec 2015
 
Agile - co w tym jest? (PMI&IPMA Szczecin)
Agile - co w tym jest? (PMI&IPMA Szczecin)Agile - co w tym jest? (PMI&IPMA Szczecin)
Agile - co w tym jest? (PMI&IPMA Szczecin)
 
Scrum - Jakub Bażela z CodeSprinters
Scrum - Jakub Bażela z CodeSprinters Scrum - Jakub Bażela z CodeSprinters
Scrum - Jakub Bażela z CodeSprinters
 
Praktyczne metody realizacji Projektów
Praktyczne metody realizacji ProjektówPraktyczne metody realizacji Projektów
Praktyczne metody realizacji Projektów
 
Prezentacja na temat grafiki
Prezentacja na temat grafikiPrezentacja na temat grafiki
Prezentacja na temat grafiki
 
Wiosenne Wieczory ze Scrum 1 Rzut okiem na Scrum
Wiosenne Wieczory ze Scrum 1 Rzut okiem na ScrumWiosenne Wieczory ze Scrum 1 Rzut okiem na Scrum
Wiosenne Wieczory ze Scrum 1 Rzut okiem na Scrum
 
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...
Analiza rentowności spółek budowlanych funkcjonujących na rynku polskim w lat...
 
Uf adaptacja pracowników
Uf adaptacja pracownikówUf adaptacja pracowników
Uf adaptacja pracowników
 
Zarządzanie Ryzykiem w projektach
Zarządzanie Ryzykiem w projektachZarządzanie Ryzykiem w projektach
Zarządzanie Ryzykiem w projektach
 
Czym jest jakość architektury korporacyjnej i jak ją oceniać?
Czym jest jakość architektury korporacyjnej i jak ją oceniać? Czym jest jakość architektury korporacyjnej i jak ją oceniać?
Czym jest jakość architektury korporacyjnej i jak ją oceniać?
 
Z2.04
Z2.04Z2.04
Z2.04
 
Autyzm II
Autyzm IIAutyzm II
Autyzm II
 
Szkice o metodologii deskryptywnej
Szkice o metodologii deskryptywnejSzkice o metodologii deskryptywnej
Szkice o metodologii deskryptywnej
 
Firma w internecie
Firma w internecieFirma w internecie
Firma w internecie
 
SEMMELROCK - PORADNIK BRUKARSKI
SEMMELROCK - PORADNIK BRUKARSKISEMMELROCK - PORADNIK BRUKARSKI
SEMMELROCK - PORADNIK BRUKARSKI
 
Kurikulum bilet cavab (cografiya)
Kurikulum bilet cavab (cografiya)Kurikulum bilet cavab (cografiya)
Kurikulum bilet cavab (cografiya)
 
Sugammadeks wskazania do_stosowania
Sugammadeks wskazania do_stosowaniaSugammadeks wskazania do_stosowania
Sugammadeks wskazania do_stosowania
 
Prezentacja Ola Mąkosa
Prezentacja Ola MąkosaPrezentacja Ola Mąkosa
Prezentacja Ola Mąkosa
 
Zecharia Sitchin 12 Planeta[1]
Zecharia Sitchin   12 Planeta[1]Zecharia Sitchin   12 Planeta[1]
Zecharia Sitchin 12 Planeta[1]
 

Similaire à Agile - metodyki zwinne (ver. 2014-04-29)

Najnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiNajnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiJanusz Pieklik
 
Metodyki W Projektach Marketingowych
Metodyki W Projektach MarketingowychMetodyki W Projektach Marketingowych
Metodyki W Projektach MarketingowychSymetria
 
Skuteczne Zarządzanie Projektami Internetowymi 2015
Skuteczne Zarządzanie Projektami Internetowymi 2015Skuteczne Zarządzanie Projektami Internetowymi 2015
Skuteczne Zarządzanie Projektami Internetowymi 2015GoTechnologies sp. z o.o.
 
Zarzadzanie portfelem projektow
Zarzadzanie portfelem projektowZarzadzanie portfelem projektow
Zarzadzanie portfelem projektowRyszard Dałkowski
 
Szkolenie zarządzanie projektami wersja
Szkolenie zarządzanie projektami wersjaSzkolenie zarządzanie projektami wersja
Szkolenie zarządzanie projektami wersjaRoman Morawski-Jagram
 
Agile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska PoznanAgile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska PoznanMichal Raczka
 
Scrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworkaScrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworkaalbrzykowski
 
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...Michal Bukowski, MBA, P2P
 
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, Lafarge
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, LafargeWdrożenie S&OP - krok po kroku - Krzysztof Frączek, Lafarge
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, LafargeLafarge Polska
 
Pomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile ModelingPomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile ModelingPaweł Jarosiński
 
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...PMI Szczecin
 
Procesy mogą nam pomóc prowadzić projekty!
Procesy mogą nam pomóc prowadzić projekty!Procesy mogą nam pomóc prowadzić projekty!
Procesy mogą nam pomóc prowadzić projekty!Marek Smura
 
Olcamp v18 Project Managment
Olcamp v18 Project ManagmentOlcamp v18 Project Managment
Olcamp v18 Project ManagmentPaweł Harajda
 
Zwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek PotiukZwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek PotiukMamStartup
 
Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.Wòjcech Makùrôt
 
Wiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i PlanowanieWiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i PlanowanieMichał Parkoła
 
Projekt getin bank
Projekt getin bank Projekt getin bank
Projekt getin bank knaparty
 

Similaire à Agile - metodyki zwinne (ver. 2014-04-29) (20)

Najnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiNajnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektami
 
Metodyki W Projektach Marketingowych
Metodyki W Projektach MarketingowychMetodyki W Projektach Marketingowych
Metodyki W Projektach Marketingowych
 
Skuteczne Zarządzanie Projektami Internetowymi 2015
Skuteczne Zarządzanie Projektami Internetowymi 2015Skuteczne Zarządzanie Projektami Internetowymi 2015
Skuteczne Zarządzanie Projektami Internetowymi 2015
 
Zarzadzanie portfelem projektow
Zarzadzanie portfelem projektowZarzadzanie portfelem projektow
Zarzadzanie portfelem projektow
 
Szkolenie zarządzanie projektami wersja
Szkolenie zarządzanie projektami wersjaSzkolenie zarządzanie projektami wersja
Szkolenie zarządzanie projektami wersja
 
Agile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska PoznanAgile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska Poznan
 
Scrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworkaScrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworka
 
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...
Projekty internetowe: książka kucharska czyli... szczypta teorii i kocioł p...
 
Zarządzanie projektami - logicznie, skutecznie, niełatwo - Manage or Die Insp...
Zarządzanie projektami - logicznie, skutecznie, niełatwo - Manage or Die Insp...Zarządzanie projektami - logicznie, skutecznie, niełatwo - Manage or Die Insp...
Zarządzanie projektami - logicznie, skutecznie, niełatwo - Manage or Die Insp...
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, Lafarge
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, LafargeWdrożenie S&OP - krok po kroku - Krzysztof Frączek, Lafarge
Wdrożenie S&OP - krok po kroku - Krzysztof Frączek, Lafarge
 
Pomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile ModelingPomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile Modeling
 
Wstęp do Agile
Wstęp do AgileWstęp do Agile
Wstęp do Agile
 
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...
Michał Koniewicz - "SCRUM - jak ugryźć i nie połamać sobie zębów - doświadcza...
 
Procesy mogą nam pomóc prowadzić projekty!
Procesy mogą nam pomóc prowadzić projekty!Procesy mogą nam pomóc prowadzić projekty!
Procesy mogą nam pomóc prowadzić projekty!
 
Olcamp v18 Project Managment
Olcamp v18 Project ManagmentOlcamp v18 Project Managment
Olcamp v18 Project Managment
 
Zwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek PotiukZwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek Potiuk
 
Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.
 
Wiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i PlanowanieWiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
 
Projekt getin bank
Projekt getin bank Projekt getin bank
Projekt getin bank
 

Agile - metodyki zwinne (ver. 2014-04-29)

  • 1. 1. Metodyki zwinne Wprowadzenie – manifest i zasady Agile
  • 2. Metodyki zwinne Spis treści 1. Wstęp do metodyk zwinnych – manifest i zasady Agile 2. Dostarczanie oparte na wartości – ocena, planowanie, dostarczanie, weryfikowanie i monitorowanie wartości 3. Zaangażowanie interesariuszy – współpraca i komunikacja, przywództwo 4. Wydajność zespołów – co to jest, od czego zależy i jak ją poprawiać 5. Planowanie adaptacyjne – koncepcje planowania, estymacja, planowanie zwinne 6. Problemy – jakość, wykrywanie, zapobieganie i rozwiązywanie problemów 7. Ciągłe doskonalenie – retrospekcje i udoskonalanie procesów 8. Opis najpopularniejszych metodyk – SCRUM 2014-04-29Łukasz Rzepecki 2
  • 3. Metodyki zwinne Projekty pracownika wiedzy • Rewolucia przemysłowa (XVIII – XX w.) – jest źródłem większości idei zarządzania projektami - 3. rewolucja przemysłowa – naukowo-techniczna (formalnie trwa do dziś): wykresy Gantt’a, WBS  PMI – PMBOK (1983 r.) • Rewolucja informacyjna (od 2. połowy XX w.) – bazuje na tzw. pracownikach wiedzy: - specjaliści w danej dziedzinie - wymagana wiedza a nie tylko umiejętności - komunikowanie się i transfer wiedzy ważniejsze od “instrukcji” 2014-04-29Łukasz Rzepecki 3
  • 4. Metodyki zwinne Praca przemysłowa vs praca wiedzy 2014-04-29Łukasz Rzepecki 4
  • 5. Metodyki zwinne Praca przemysłowa vs praca wiedzy Praca przemysłowa Praca wiedzy Efekty pracy są widoczne Pracy nie widać Praca jest ciągła i taka sama Praca jest zmienna Nacisk na wykonywanie czynności Nacisk na tworzenie/zmienianie rzeczy Mała decyzyjność (struktury i procedury) Częste podejmowanie różnych decyzji Skupienie się na właściwych odpowiedziach Skupienie się na właściwych pytaniach Zdefiniowanie zadania Zrozumienie zadania Zarządzanie i kontrola Większa autonomia Ważniejsza ilość Ważniejsza jakość Sztywne standardy Innowacje Wydajność zgodna ze standardami Ciągła nauka i doskonalenie Pracownik kosztem Pracownik zasobem 2014-04-29Łukasz Rzepecki 5
  • 6. Metodyki zwinne Zarządzanie projektami wiedzy • Próbowano stosować te same koncepcje i techniki z pracy przemysłowej do projektów pracowników wiedzy - Praca do wykonania często nie była tak dobrze określona jak w branży przemysłowej - Prowadziło to do niepowodzeń i frustracji • W odpowiedzi powstały koncepcje zwinnych metodyk zarządzania • Przez lata wytworzyło się wiele różnych koncepcji – pionierem branża informatyczna 2014-04-29Łukasz Rzepecki 6
  • 7. Metodyki zwinne Manifest Agile (2001 r.) • Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywamy lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkładamy: - Ludzie i interakcje ponad procesy i narzędzia - Działające oprogramowanie ponad obszerną dokumentację - Współpraca z klientem ponad formalne ustalenia - Reagowanie na zmiany ponad podążanie za planem • Doceniamy to, co wymieniono po prawej stronie, jednak bardziej cenimy to, co po lewej • Deklaracja współzależności (DOI) – poszerza manifest o zastosowania w innych projektach niż IT 2014-04-29Łukasz Rzepecki 7
  • 8. Metodyki zwinne Zasady Agile • Zadowolenie klienta poprzez szybkie dostarczanie użytecznego oprogramowania • Otwartość na zmiany, nawet w późnym etapie projektu • Działające oprogramowanie dostarczane jest często (tygodnie, nie miesiące) • Działające oprogramowanie jest głównym wskaźnikiem postępu • Regularność (stały rytm) i ciągłość pracy • Bliska, codzienna współpraca pomiędzy biznesem a zespołem • Komunikacja face-to-face jest najlepszą formą komunikacji (kolokacja) • Projekty tworzą zmotywowane jednostki, którym należy zaufać • Ciągła uwaga na doskonałość technologiczną i dobry design • Kluczowa jest prostota – sztuka maksymalizowania ilości pracy nie wykonanej • Samoorganizujące się zespoły • Regularna adaptacja do zmieniających się okoliczności 2014-04-29Łukasz Rzepecki 8
  • 9. Metodyki zwinne Poziom skomplikowania projektów 2014-04-29Łukasz Rzepecki 9 Agile Waterfall
  • 10. Metodyki zwinne Trójkąt ograniczeń 2014-04-29Łukasz Rzepecki 10 4 podstawowe ograniczenia każdego projektu: Zmieniając jeden z parametrów należy zmienić pozostałe, w przeciwnym razie nie dotrzymamy parametru środkowego
  • 11. Metodyki zwinne Macierz kompromisów projektowych Parametr Ustalony (dokładnie 1) Optymalizowany ( dokładnie 1) Negocjowany (pozostałe 2) Czas X Budżet X Zakres X Jakość X Kluczowy parametr, nie podlegający żadnym negocjacjom w trakcie trwania projektu Np. realizując projekt jak najszybciej, najtaniej, jak najwięcej prac lub dbając o jakość. Te dwa parametry mogą się zmieniać o określonych granicach 2014-04-29Łukasz Rzepecki 11
  • 12. Metodyki zwinne Kiedy stosować Agile • Klasyka Agile: - “Ruchomy cel”, np. prace badawcze - Nieznany/niedookreślony efekt końcowy • Kiedy faktycznie stosować Agile: - Cel jest znany i może być bardzo dobrze określony - …ale wiemy, że na pewno ulegnie zmianie ;) - Kiedy rezultat projektu jest bardzo trudny/kosztowny do modyfikacji (vs łatwy/możliwy do zmiany po koszcie zbliżonym do pierwotnego) • np. budowa domu, mostu, software pudełkowy 2014-04-29Łukasz Rzepecki 12
  • 13. Metodyki zwinne Sukces realizacji projektów – duże/małe 2014-04-29Łukasz Rzepecki 13 The Standish Group: Chaos Manifesto 2013 – Think Big, Act Small • od 1985 r. • 50k projektów • 60% US, 25% EU • połowa Fortune 1000 • 20% firmy małe
  • 14. Metodyki zwinne Sukces realizacji projektów małych 2014-04-29Łukasz Rzepecki 14 The Standish Group: Chaos Manifesto 2013 – Think Big, Act Small • od 1985 r. • 50k projektów • 60% US, 25% EU • połowa Fortune 1000 • 20% firmy małe
  • 15. Metodyki zwinne Rodzaje metodyk zwinnych 2014-04-29Łukasz Rzepecki 15
  • 16. Metodyki zwinne Rodzaje metodyk zwinnych • Extreme Programming (XP) - Daje techniki wytwarzania oprogramowania - Jest bardzo mało zarządzania - Trzeba łączyć ją z metodykami zarządzania • Lean - Główną zasadą jest eliminacja strat – „Wartością jest to, co klient uzna za wartościowe” - Przykładem myślenia Lean jest twierdzenie, że nie należy wykonywać wszystkich analiz na początku, bo zajdą zmiany - Może być stosowany na poziomie wytwarzania i organizacji • Scrum - Zapewnia znakomite podejście oparte na zespole - Porządkuje (priorytetyzuje) pracę - Potrzebuje dodatkowego podejścia na poziomie zarządzania projektem (np. DSDM Atern) - Często łączony z XP (Scrum zapewnia zarządzanie zespołem, a XP techniki wytwarzania) 2014-04-29Łukasz Rzepecki 16
  • 17. Metodyki zwinne Rodzaje metodyk zwinnych • DSDM Atern (Dynamic Systems Development Method) - Najstarsza na świecie metodyka Agile, powstała w 1995 roku (PRINCE2 powstał w 1996!) - Jako jedyna w pełni opisuje zarządzanie projektami Agile - Jest w ciągłym rozwoju, a DSDM Atern jest jej najnowszą wersją • Agile Project Management - Na początku projektu tworzony jest plan wysokiego poziomu oparty o zarys wymagań i rozwiązanie widziane „z lotu ptaka” - Projekt jest realizowany w sposób iteracyjny i przyrostowy - Kolejny przyrost jest budowany w oparciu o produkt wytworzony w poprzedniej iteracji - Szczegółowy plan każdego kroku jest tworzony przez zespół, a nie Kierownika Projektu 2014-04-29Łukasz Rzepecki 17
  • 18. Metodyki zwinne Metodyki zwinne i ich zasady • SCRUM – Transparency, Inspection, Adaptation • Extreme Programming (XP) – Simplicity, Communication, Feedback, Courage, Respect • Lean Software Development – Eliminate waste, Empower the team, Deliver fast, Optimize the whole, Build quality in, Defer decisions, Amplify learning • Kanban Development – Visualize the workflow, Limit WIP, Manage flow, Make process policies explicit, Improve collaboratively • Dynamic Systems Development Method (DSDM) • Crystal • Lean Startup 2014-04-29Łukasz Rzepecki 18
  • 19. 2. Dostarczanie oparte na wartości Ocena, planowanie, dostarczanie i weryfikowanie
  • 20. Metodyki zwinne Dostarczanie oparte na wartości • Value-Driven Delivery – to kluczowy komponent każdej metodyki zwinnej • Powodem realizacji każdego projektu jest wygenerowanie jakiejś wartości biznesowej • Ryzyka projektowe (zagrożenia), to anty-wartości • Maksymalizacja wartości wymaga redukcji ryzyka • Szybkie dostarczanie wartościowych elementów: - eliminuje ryzyko porażki - buduje zaufanie sponsora projektu (udowadnia możliwość realizacji projektu) - angażuje zespół 2014-04-29Łukasz Rzepecki 20
  • 21. Metodyki zwinne Tematyka • Ocena wartości • Planowanie wartości • Dostarczanie wartości • Weryfikowanie wartości • Śledzenie i raportowanie wartości 2014-04-29Łukasz Rzepecki 21
  • 23. Metodyki zwinne Ocena wartości • Projekty biznesowe najlepiej oceniać za pomocą narzędzi finansowych, takich jak: - ROI – zwrot z inwestycji - NPV – bierząca wartość netto - IRR – wewnętrzna stopa zwrotu • W niektórych przypadkach, gdy projekt nie generuje bezpośrednio przychodów, można oszacować koszty nie zrealizowania projektu • W ostateczności projekt można uznać za niezbędny i nie szacować jego wartości 2014-04-29Łukasz Rzepecki 23
  • 24. Metodyki zwinne Wskaźniki finansowe • Zwrot z inwestycji (ROI) - ROI = 0, gdy przychody z projektu pokrywają jego koszty - To suma wygenerowanych przychodów minus koszty (należy uwzględnić infalcję i ew. koszty oprocentowania pożyczek) • Wartość bieżąca netto (NPV) - Wartość pieniądza w czasie zmienia się (pieniądze w przyszłości będą mniej warte niż obecnie) - NPV określa aktualną wartość przyszłych przychodów - Pozwala określić bliższy prawdzie czas zwrotu i wartość inwestycji • Wewnętrzna stopa zwrotu (IRR) - Oznacza stopę dyskonta, przy jakiej NPV=0 - Projekt jest opłacalny gdy IRR > oprocentowanie 2014-04-29Łukasz Rzepecki 24
  • 25. Planowanie wartości Straty (strumień wartości), mapa drogowa, ryzyko
  • 26. Metodyki zwinne Planowanie wartości • Karta projektu - Powinna zawierać odpowiedź na W5H: What, Why, Who, When, How – z naciskiem na How - Jak zamiany będą zatwierdzane i porządkowane w backlogu po zatwierdzeniu? - Mniejsze znaczenie ma co będzie wykonane, bardziej jak • Mapowanie strumienia wartości - Ilustruje przepływ informacji wymaganych do zrealizowania procesu - Pomaga ustalić miejsca strat – marnowania czasu i opóźnień - Efektywność procesu = czas przynoszący realną wartość / łączny czas pracy w danym procesie 2014-04-29Łukasz Rzepecki 26
  • 27. Metodyki zwinne Mapowanie strumienia wartości 2014-04-29Łukasz Rzepecki 27
  • 28. Metodyki zwinne Straty - rodzaje • Częściowo wykonana praca • Dodatkowy proces • Dodatkowe funkcjonalności • Przełączanie sie między zadaniami • Oczekiwanie • Ruch • Wady 2014-04-29Łukasz Rzepecki 28
  • 29. Metodyki zwinne Straty – typowe w IT • Kod oczekujący na testy • Wymagania czekające na implementację • Tworzenie nigdy nie używanej dokumentacji • Nadmiarowe, niepotrzebne akceptacje • “Wodotryski” i zbędne features w kodzie • Technologiczne nice-to-haves • Praca przy wielu projektach równocześnie (switching) • Czekanie na ocenę/przegląd prototypów/dokumentów • Czekanie na zatwierdzenie dokumentów • Komunikacja przy zespołach rozproszonych • Błędy w specyfikacji wymagań wymagające naprawy • Wady w oprogramowaniu 2014-04-29Łukasz Rzepecki 29
  • 30. Metodyki zwinne Porządkowanie wg wartości dla klienta • Aby projekt przynosił jak najszybciej wartość dla klienta niezbędne jest poznanie co to dla niego oznacza – zaangażowanie klienta • Każda metodyka zwinna ma swój odpowiednik, np.: - Scrum – product backlog - FDD – feature list - DSDM – prioritized requirements list • Modele porządkowania: - Priorytet wysoki/średni/niski – mało efektywne - MoSCoW – Must/Schould/Could have, Would like to have but not… - Monopoly Money – rozdział budżetu na wymagania przez sponsora - Metoda 100 punktów – każdy interesariusz ma dowolność w głosach - Analiza Kano – Exciters/Satisfiers/Dissatisfiers/Indifferent - Model porządkowania wymagań – ocena 1-9 korzyści z posiadania danej funkcjonalności, straty za jej nie posiadanie (klient) oraz kosztu i ryzyka (zespół), następnie wg ustalonych wag porządkuje się wymagania 2014-04-29Łukasz Rzepecki 30
  • 31. Metodyki zwinne Lista rankingowa • Bardzo prosta ale skuteczna metoda sortowania wymagań wg kolejności oznaczającej wartość dla klienta - Eliminuje stratę czasu na zastanawianie się nad porządkowaniem • Lista może określać po których wymaganiach następuje wydanie oraz które aktualnie się nie mieszczą w budżecie (pod kreską, na później) • Pomaga zarządzać zmianą, klient decyduje w którym miejscu na liście umieścić daną zmianę • Nowe wymagania umieszczone wyżej spychają pod kreskę nie mieszczące się w budżecie • Używa się jednej listy work-to-be-done bez rozdziału na źródło (tzn. oryginalny backlog + zmiany + błędy + nowe) 2014-04-29Łukasz Rzepecki 31
  • 32. Metodyki zwinne Mapa drogowa projektu • To wizualny przegląd planu wydań produktu • Story Maps – pomagają wybrać i zgrupować wymagania do poszczególnych wydań: - Backbone – niezbędna funkcjonalność, która musi być - Walking skeleton – najprostszy system, który będzie działał - Dodatowe funkcjonalności – wszystkie pozostałe, posortowanie wg ważności (mniej/bardziej opcjonalne) 2014-04-29Łukasz Rzepecki 32
  • 33. Metodyki zwinne Story Map #1 2014-04-29Łukasz Rzepecki 33
  • 34. Metodyki zwinne Story Map #2 2014-04-29Łukasz Rzepecki 34
  • 35. Metodyki zwinne Zarządzanie ryzykiem • Ryzyko - to zdarzenie lub okoliczności które mogą się wydarzyć i wpłynąć na projekt – ryzyka mogą być zarówno negatywne (zagrożenia) jak i pozytywne (możliwości) • Ryzykiem należy zarządzać i analogicznie do jak najszybszego dostarczania wartości w projekcie należy również jak najszybciej identyfikować i przeciwdziałać ryzykom zagrażającym projektowi • Wymagania mogą mieć określony poziom ryzyka – te o wyższym ryzyku powinno się realizować wcześniej • Backlog powinien zawierać również akcje zapobiegające zidentyfikowanym ryzykom (poziom ryzyka można określić jako wartość/wpływ x prawdopodobieństwo) 2014-04-29Łukasz Rzepecki 35
  • 38. Metodyki zwinne Kontraktowanie • Projekty zwinne, w odróżnieniu od tradycyjnych, starają się określić dostępne zasoby i czas oraz pozostawić elastyczną funkcjonalność, starając się dostarczyć produkt o jak najlepszej możliwej jakości • Idea możliwości nie dostarczenia pełnej funkcjonalności czy też braku dokładnej wyceny całego projektu może być przez niektórych nie do zaakceptowania • Szczegółowy kosztorys wymaga opracowania wnikliwej analizy i rzetelnej specyfikacji, co również jest procesem czasochłonnym i kosztownym • Kontrakt i tak musi zawierać metody na nieprzewidziane przypadki: zmiany zarówno uzasadnione jak i nieprzewidziane, problemy techniczne, możliwość niepowodzenia – w metodykach zwinnych współpraca z klientem (zaufanie) jest ważniejsza od negocjowania umów 2014-04-29Łukasz Rzepecki 38
  • 39. Metodyki zwinne Kontraktowanie • W zwinnych metodykach ważniejsze jest skupienie się na dostarczeniu jak najszybciej wartościowego produktu niż debaty jak będą negocjowane zmiany i jakie tak na prawdę są kryteria akceptacyjne • Wymagają również od biznesu większego zaangażowania się w trakcie poszczególnych iteracji - Ciągłe ponowne porządkowanie wymagań - Szacowanie wartości żądanych zmian w stosunku do pozostałej pracy • Typy kontraktów zwinnych: - DSDM – zapłata za spełnienie testów a nie wykonanie specyfikacji - Pieniądze za nic, Zmiany za darmo - Stała cena uzależniona od wyników - Pakiety o stałej wartości 2014-04-29Łukasz Rzepecki 39
  • 40. Metodyki zwinne Metodyki zwinne vs klasyczne 2014-04-29Łukasz Rzepecki 40
  • 41. Metodyki zwinne Money for Nothing and Change for Free • Na starcie projektu określona jest stała cena (fixed-price) za pracę do wykonania oraz stawka za wszelkie prace dodatkowe • Klauzula “zmiany za darmo” - Jeśli klient jest zaangażowany, PO może porządkować backlog i dokonywać zmian, o ile całkowita praca się nie zwiększa (wymagania o mniejszej ważności są zdejmowane lub upraszczane) • Klauzula “pieniądze za nic” - Opcja wcześniejszego zakończenia kontraktu w dowolnym momencie przez klienta, kiedy uzna, że produkt spełnia jego oczekiwania - Klient płaci np. 20% pozostałej, niewykonanej wartości kontraktu • Klient może korzystać z tych zapisów tylko jeśli współpracuje aktywnie z zespołem w trakcie każdej iteracji • Brak współpracy oznacza, że klauzule tracą ważność - Każda zamiana będzie traktowana jak praca dodatkowa - Klient musi zapłacić za (a dostawca wykonać) cały kontrakt 2014-04-29Łukasz Rzepecki 41
  • 42. Metodyki zwinne Money for Nothing and Change for Free 2014-04-29Łukasz Rzepecki 42
  • 43. Metodyki zwinne Stała cena uzależniona od wyników • Kontrakt typu fixed-price, w którym obie strony dzielą się ryzykiem – potencjalnymi zyskami i kosztami • Ustala się różną stawkę godzinową w zależności od szybkości zakończenia projektu: - Wcześniej – dostawca przepracuje mniej ale po wyższej stawce godzinowej (klient sumarycznie zapłaci mniej) - Na czas – jak w standardowym kontrakcie - Później – dostawca przepracuje więcej ale po niższej stawce (klient zapłaci więcej) • Jeśli projekt się wydłuży to obie strony tracą pieniądze i będą niezadowolone – wykonawca przeznaczy więcej zasobów po niższej stawce a klient musi zapłacić więcej 2014-04-29Łukasz Rzepecki 43
  • 44. Metodyki zwinne Pakiety o stałej cenie • Ustalenie stałej ceny za poszczególne fragmenty projektu • Łagodzi ryzyko niedoszacowania i przeszacowania poprzez zawężanie zakresu pracy i kosztów do poszczególnych modułów • Dostawca ma prawo reestymować pozostałe pakiety, gdy pojawiają się nowe informacje lub nowe ryzyka • Dostawca nie musi wliczać dużego marginesu w budżecie na ryzyko, gdyż jest ono podzielone na mniejsze pakiety • Klient może również wprowadzać zmiany do nierozpoczętych pakietów i ew. zmieniać priorytety lub zakres prac 2014-04-29Łukasz Rzepecki 44
  • 46. Metodyki zwinne Narzędzia • Klasyczne harmonogramy (Gantt) - Są skomplikowane i nieprzyjazne – nieczytelne, trudne do zmiany - Ograniczają liczbę osób, które mają na nie wpływ - Zwykle PM aktualizuje harmonogram sam dla siebie - Narzucają sposób i dokładność raportowania • Narzędzia zwinne (np. tablice zadań i Kanban) - Nie zapewniają integralności danych i udokumentowania przebiegu prac – ale czy to kiedykolwiek było potrzebne? - W niektórych środowiskach niezbędne jest prowadzenie równolegle sformalizowanej dokumentacji - Są zrozumiałe przez wszystkich i dostępne dla wszystkich - Ułatwiają prace grupową i wymianę informacji, są przyjazne 2014-04-29Łukasz Rzepecki 46
  • 47. Metodyki zwinne Limitowanie WIP • Duże poziomy “pracy w toku” powodują szereg problemów: - Konsumują zainwestowane pieniądze i nie przynoszą żadnych korzyści (zwrotu z inwestycji) - Ukrywają wąskie gardła i problemy z wydajnością (gdy wszystko jest w toku nie wydać gdzie jest faktycznie problem – na jakim etapie pracy a wszyscy są zajęci) - Zwiększają ryzoko konieczności wykonania dużej części pracy od nowa (np. zmiany wpływające na dużą liczbę WIP) • Celem metodyk zwinnych jest eliminowanie WIP • Jedną z metod jest stosowanie tablic Kanban, które limitują ilość pracy w projekcie na różnych etapach • Celem jest optymizacja przepustowości w projekcie a nie wykorzystania zasobów! • Prawo Little – czas realizacji zadań jest proporcjonalny do rozmiaru kolejki zadań w toku 2014-04-29Łukasz Rzepecki 47
  • 48. Metodyki zwinne WIP – Kanban #1 2014-04-29Łukasz Rzepecki 48
  • 49. Metodyki zwinne WIP – Kanban #2 2014-04-29Łukasz Rzepecki 49
  • 50. Metodyki zwinne Weryfikowanie wartości • Rezultaty projektów IT są nieuchwytne, nienamacalne • Bardzo często odbiorca informacji inaczej ją interpretuje (występuje luka semantyczna) - Istotne jest zidentyfikowanie luki jak najwcześniej aby wyeliminować ryzyko wykonywania pracy od nowa • W weryfikowaniu wartości dla klienta pomocne jest porządkowanie co iterację pozostałych wymagań – daje to obraz co jest istotne dla klienta i jaka wg niego jest definicja sukcesu • Częste demonstracje wykonanych funkcjonalności są kluczowe w projektach IT - Dopiero wtedy pojawiają się prawdziwe wymagania: IKIWISI (I’ll Know It When I See It) - Eliminują lukę semantyczną 2014-04-29Łukasz Rzepecki 50
  • 51. Metodyki zwinne Model luk wg ParasuramanaModel luk wg Parasuramana 2014-04-29Łukasz Rzepecki 51
  • 52. Metodyki zwinne Analiza luk jakości Analiza luk jakości – przykład dla fi rmy  opracowującej projekty 2014-04-29Łukasz Rzepecki 52 Jaka jest luka jakości gdy specyfikacja powstaje wiele miesięcy przed realizacją projektu i/lub tworzy ją wręcz inny podmiot niż wykonawca (np. SIWZ)?
  • 54. Metodyki zwinne Wartość wypracowana (Earned Value) • Krzywa-S – pokazuje wydatki w projekcie (np. nakład pracy w czasie) ale nie postęp wykonania projektu • Wykres Gantta pokazuje postęp w harmonogramie ale nie stopień wykorzystania budżetu • Wartość wypracowana (EV) – zaakceptowane prace - Umożliwia porównanie bieżącej wydajności (zrealizowanej pracy) do zaplanowanej, w określonym punkcie czasu - Kluczowa jest jakość wstępnego planu (wartość wymagań) - Uwaga! W projektach zwinnych plany się zmieniają i utrudniają wykorzystanie metody EV do weryfikowania wydajności pracy ale jest to dobre narzędzie do wizualizacji i prognozowania 2014-04-29Łukasz Rzepecki 54
  • 56. Metodyki zwinne Wykres skumulowanych przepływów (CFD) • Wykres warstwowy pokazujący na jednym wykresie całkowitą pracę w projekcie, na którą składają się: - Praca pozostała do wykonania (backlog produktu) - Praca w toku (WIP) - Praca zakończona (EV) • Wykres pomaga też oszacować długość cyklu realizacji zadań poprzez analizę wartości pracy w toku (zgodnie z prawem Little są to wartości proporcjonalne) 2014-04-29Łukasz Rzepecki 56
  • 58. Metodyki zwinne Wąskie gardła i teoria ograniczeń • Wykres CFD pracy w toku można podzielić na poszczególne aktywności i uszeregować warstwy wg kolejności działań • Jeśli któryś z obszarów się rozszerza, to znaczy, że wąskie gardło jest w warstwie poniżej • Umożliwia to wykrycie problemu w skali całej organizacji bez drobiazgowego analizowania każdego obszaru 2014-04-29Łukasz Rzepecki 58
  • 59. Metodyki zwinne CFD – wąskie gardło 2014-04-29Łukasz Rzepecki 59
  • 60. Metodyki zwinne Wykres spalania ryzyka • Na początku projektu tworzy się listę ryzyk, analogicznie do product backloga • Zaangażowani powinni być wszyscy interesariusze i zespół • Dla każdego ryzyka określa się: - Koszt jego wystąpienia (wartość finansowa lub w skali punktowej, np. mały 1 – duży 3) - Prawdopodobieństwo wystąpienia (procentowo lub również w skali, np. 0-3) - Sumarycznie każde ryzyko ma określoną wartość (np. 0-9) • Co iterację lub ustalony okres czasu (np. miesięcznie) dokonuje się weryfikacji ryzyk i rysuje wykres spalania ryzyka – analogicznie jak burndown chart dla wymagań 2014-04-29Łukasz Rzepecki 60
  • 61. Metodyki zwinne Wykres spalania ryzyka 2014-04-29Łukasz Rzepecki 61
  • 62. 3. Zaangażowanie interesariuszy Współpraca i komunikacja, przywództwo Rozdział w opracowaniu
  • 63. Metodyki zwinne Interesariusze projektu • To wszystkie osoby i grupy, na które będą miały wpływ na projekt oraz których projekt będzie dotyczył • W projektach pracownika wiedzy rezultaty prac są często nienamacalne i nieuchwytne – prowadzi to do powstawania luki semantycznej w zrozumieniu przez wykonawcę intencji klienta • Zasady angażowania interesariuszy: - Istotne jest zidentyfikowanie odpowiednich interesariuszy, którzy pomogą w zrozumieniu wymagań i celów - Zaangażowanie powinno być widoczne i monitorowane - Aktywne zarządzanie zainteresowaniem – świętowanie postępów - Częste dyskusje co oznacza “done” – eliminacja luki - Eksponowanie progresu (dema) i możliwości oraz limitów zespołu - Dyskutowanie estymat i prognoz – prawdziwa wydajność projektu 2014-04-29Łukasz Rzepecki 63
  • 64. Metodyki zwinne Wspólne zrozumienie Eliminowanie luki semantycznej poprzez: • Makiety – szybki sposób na wizualizację produktu i zrozumienie przez wszystkich interesariuszy produktu • Personas – przykładowi interesariusze projektu, np. różni użytkownicy (opis, wartości dla nich, zainteresowania) • Historyjki, backlog - Często mają formę “Jako <Rola> Chcę <Funkcjonalność> Aby <Korzyść>” (ważne kto i dlaczego) lub Given, When, Then - Powinny być INVEST, tzn. Independent, Negotiable, Valuable, Estimatable, Small, Testable - Obejmują Pionowy zakres funkcjonalny - Mogą być grupowane pionowo w Features a te w Epics jak również poziomo w Themes oraz planowane w Story Maps 2014-04-29Łukasz Rzepecki 64
  • 65. Metodyki zwinne Komunikacja z interesariuszami 2014-04-29Łukasz Rzepecki 65
  • 66. Metodyki zwinne Radiatory informacji • Radiatory • Burn Down, Burn Up, CFD • Velocity 2014-04-29Łukasz Rzepecki 66
  • 67. Metodyki zwinne Krytyczne umiejętności miękkie • Negocjowanie • Aktywne słuchanie - Wewnętrzne - Skupione - Globalne • Efektywne spotkania • Rozwiązywanie konfliktów • Partycypacyjne metody podejmowania decyzji 2014-04-29Łukasz Rzepecki 67
  • 68. 4. Wydajność zespołów Co to jest, od czego zależy i jak ją poprawiać
  • 69. Metodyki zwinne Tematyka • Wydajność zespołów - Przywództwo adaptacyjne - Inteligencja emocjonalna - Budowanie umocowanych i wydajnych zespołów • Praktyka - Codzienne standupy - Przestrzeń pracy - Narzędzia - Coaching i mentoring - Burza mózgów - Zespoły rozproszone 2014-04-29Łukasz Rzepecki 69
  • 70. Wydajność zespołów Na czym polega i od czego zależy wydajność zespołów
  • 71. Metodyki zwinne Ludzie i interakcje ponad procesy i narzędzia • COCOMO (I, II) – popularny model estymacji oprogramowania • 7 czynników mających wpływ na koszt, a w nich: - Czynniki ludzkie – 33% - Produkt – 10% - Procesy i narzędzia – 3% • Wpływ czynników ludzkich jest 10x większy niż wpływ stosowanych (lub nie) procesów i narzędzi • Sprawny zespół jakoś sobie poradzi bez żadnych procesów i narzędzi, najlepsze T&T nic nie poradzą w sytuacji niedoświadczonego i niezgranego zespołu 2014-04-29Łukasz Rzepecki 71
  • 72. Metodyki zwinne Przywództwo adaptacyjne Formowanie się zespołów zwykle obejmuje cykl: • Formowanie (forming) – grupa uczy się o sobie - Kierowanie (directing) – co jest do zrobienia, pomoc w problemach • Burza (storming) – wewnętrzna rywalizacja w pseudozespole - Coaching – główny cel, to rozwiązywanie konfliktów • Normowanie (norming) – potencjalny zespół, uczy się sprawnej współpracy ze sobą - Wsparcie (supporting) – zespół pracuje wg własnych reguł, rola wspierająca, egzekfowanie reguł zespołu, stawianie wysokich celów • Sprawne działanie (performing) – zespół pracujący jak jeden, autonomiczny, umocowany, samozarządzający i regulujący się - Delegowanie (delegating) – lider stawia zespołowi wyzwania a nie zadania, problemy do rozwiązania wewnętrznie przez zespół 2014-04-29Łukasz Rzepecki 72
  • 73. Metodyki zwinne Formowanie się zespołów 2014-04-29Łukasz Rzepecki 73
  • 74. Metodyki zwinne Inteligencja emocjonalna • To zdolność do zaóważania (identyfikowania), oceny (szacowania) i wpływania na emocje: własne, innych, grup • Dobra metoda na elastyczne zarządzanie i przywództwo zmiennymi zespołami Etapy: • Samoświadomość (self: recognize) - Zrozumienie własnych emocji (co mnie denerwuje, frustruje, cieszy, zadowala itp.) i umiejętność ich prawidłowej oceny - Pewność siebie - mamy wpływ na własne emocje i na to jak na nie reagujemy (np. czy pozwalamy aby coś nas dalej denerwowało czy jakoś zareagujemy) 2014-04-29Łukasz Rzepecki 74
  • 75. Metodyki zwinne Inteligencja emocjonalna • Samokontrola (self: regulate) - Sumienność - Zdolność adaptacji - Motywacja • Nastrój i zachowanie liderów wpływa na wszystkich innych! • Świadomość społeczna (others: recognize) - Empatia - rozumienie otoczenia (np. kiedy jakieś problemy mają człokowie zespołu) • Umiejętności społeczne (others: regulate) - Wpływanie, inspirowanie, przewodzenie i rozwijanie innych tak aby pomóc w ich pracy i współpracy zespołowej 2014-04-29Łukasz Rzepecki 75
  • 76. Metodyki zwinne Empowerment Samo-organizujące się zespoły: • Wykorzystanie wiedzy zespołu jak najlepiej wykonać daną pracę i naturalnej zdolniści ludzi do rozwiązywania złożonych problemów • Przedstawianie celów a nie zadań wraz ze sposobem ich wykonania (to zespoł jest ekspertem) • Pozwolenie zespołom na własną organizację codziennej pracy (w ramach podstawowych reguł panujących w organizacji) • Delegowanie odpowiedzialności za sukces projektu na zespół w celu osiągnięcia założonych celów (downward serving) • Celem lidera jest ochrona przed czynnikami zewnętrznymi, eliminowanie przeszkód, komunikowanie wizji, wsparcie… 2014-04-29Łukasz Rzepecki 76
  • 77. Metodyki zwinne Empowerment Samo-zarządzające się zespoły: • Zespół wytwarza wewnętrzne normy i podejmuje lokalne decyzje (technologia, priorytety, estymacje) • Zespól ma duża dowolność – ale w granicach sprintu! • Złe decyzje (np. technologiczne, złe estymaty) są dyskutowane na retrospekcji w celu zapobiegnięcia podobnym sytuacjom w przyszłych sprintach • Samoorganizacja i samozarządzanie to tylko cele! • Na początku projektu żaden zespół taki nie jest, może to być długoterminowym celem zespołu postawionym w fazie normowania się zespołu. 2014-04-29Łukasz Rzepecki 77
  • 78. Metodyki zwinne Budowanie wydajnych zespołów • Zespół powinien być niewielki (do 12 osób) co ułatwia budowanie wzajemnych relacji i bezpośrednią komunikację • Członkowie zespołu powinni mieć komplementarne umiejętności i rozpowszechniać je w zespole (umożliwienie zamiany ról, wykonywanie różnych zadań) • Cele członków zespołu powinny być spójne (zrównane) z celami projektu - Indywidualne zobowiązanie do osiągnięcia wspólnego celu - Świadomość każdego jak cele postawione grupie będą mierzalne i w jaki sposób będą realizowane przez zespół - Wzajemna odpowiedzialność członków zespołu za rezultaty 2014-04-29Łukasz Rzepecki 78
  • 79. Metodyki zwinne Motywowanie zespołów • Wynagrodzenie jest za pojawianie się w pracy • Produktywność w pracy każdego jest inna i zależy w istotnym stopniu od zmotywowania i zaangażowania • Etapy produktywności: - Podważanie i opór (-) - Pasywna zgodność (0) - Aktywne uczestnictwo (+) - Oddanie i poświęcenie (++) - Pasja i wprowadzanie innowacji (+++) • Kluczowe jest zrównanie celów indywidualnych członków zespołu z celami projektu 2014-04-29Łukasz Rzepecki 79
  • 81. Metodyki zwinne Motywowanie zespołów • Zrozumienie zarówno osobistych czynników motywujących (i demotywujących) poszczególne osoby jak i cały zespół (np. poprzez rozmowy 1-1) • W większości projektów jest możliwość zaspokojenia niektórych celów osobistych, choćby tymczasowo • Wyjaśnienie przez kogoś z wysokiego szczebla organizacji dlaczego projekt jest ważny dla firmy, jakie są związane z nim nadzieje (wizja) istotnie może wpłynąć na zaangażowanie • Istotne jest świętowanie sukcesów zespołów • Ew. nagrody dla całych zespołów a nie indywidualne 2014-04-29Łukasz Rzepecki 81
  • 82. Praktyka W jaki sposób funkcjonują wydajne zespoły
  • 83. Metodyki zwinne Codzienne stand-upy • To kluczowy element w praktykach zwinnych • Krótkie (max. 10-15 min.) codzienne spotkanie mające na celu wyeliminowanie konieczności innych spotkań • To spotkania zespołu dla zespołu (nie dla kierownictwa) • Każdy członek zespołu po kolei odpowiada na 3 pytania: - Co zrobiłem od poprzedniego spotkania? - Co planuję zakończyć dzisiaj? - Czy są jakieś blokady lub zależności utrudniające pracę? • Wszelkie rozpoczynające się dyskusję (np. jak coś rozwiązać, sprawy techniczne) należy odłożyc na bok (np. indywidualna rozmowa zaangażowanych osób po stand- upie) 2014-04-29Łukasz Rzepecki 83
  • 84. Metodyki zwinne Coaching i mentoring • Pomaga zespołom utrzymać kierunek działań, przezwyciężać problemy i ciągle polepszać umiejętności • Powinien być realizowany równolegle indywidualne i z całym zespołem • Coaching zespołowy ma miejsce głównie na granicach sprintu (planowanie, przegląd/demo, retrospekcja) • Coaching indywidualny głównie w trakcie sprintu - Spotkania 1-1 umożliwiające prywatną rozmowę na temat ew. problemów i skarg – szczere z pozytywnym nastawieniem i poszanowaniem do zgłaszanych uwag 2014-04-29Łukasz Rzepecki 84
  • 85. Metodyki zwinne Coaching i mentoring Pomocne działania: • Spotkanie się w pół drogi – nie naciskać do osiągnięcia bezpośrednio punktu końcowego (“bo tak ma być”) ale wymyślać rozwiązania pośrednie • Zagwarantowanie poufności – poprzez jej dochowanie • Współpraca z innymi lidierami – mająca na celu rozwiązywanie problemów między zespołami i spójną komunikację w organizacji • Pozytywne traktowanie – nawet jeśli kogoś nie lubimy należy to odłożyć na bok aby pomóc danej osobie 2014-04-29Łukasz Rzepecki 85
  • 86. Metodyki zwinne Burza mózgów Pomagają zidentyfikowac różne możliwości, rozwiązywać problemy, znajdywać drogi do ulepszeń: • Quiet writing – każdy członek zespołu w określonym czasie spisuje pomysły indywidualne, eliminuje wpływ i oddziaływanie innych • Round-Robin – każdy po kolei zgłasza pomysł, zesół musi być komfortowy z dzieleniem się pomysłami przed sobą • Free-for-All – każdy kto chce zgłasza spontanicznie nowy pomysł, stymuluje dyskusję, zespołowe wetowanie i rozwijanie pomysłów 2014-04-29Łukasz Rzepecki 86
  • 87. Metodyki zwinne Burza mózgów Pomysły należy następnie uporządkować: • MoSCoW – technika oparta o wartość: - Must have - Should have - Could have - Would like to have, but not this time • Głosowanie – każdy dostaje określoną liczbę głosów (dla każdego w wysokości ok. 20% z liczby pomysłów) i przydziela pomysłom głosy wg własnego uznania (można przydzielić więcej niż 1 głos dla danego pomysłu) 2014-04-29Łukasz Rzepecki 87
  • 88. Metodyki zwinne Przestrzeń pracy • Metodyki zwinne rekomendują interakcje face-to-face oraz kolokowanie całych zespołów we wspólnym miejscu pracy, co poprawia pracę grupową i dzielenie się informacjami • Caves and common – otwarta przestrzeń pracy oraz miejsca na prywatne rozmowy lub tymczasową pracę w odizolowaniu umożliwiającą skupienie się i koncentrację • Komunikacja osmotyczna – to użyteczne informacje przepływające mimowolnie między członkami zespołu podczas zwykłych konwersacji • Milcząca wiedza (tacit knowledge) – niepisana wiedza ale funkcjonująca w zespole/firmie (na głośno zadane pytanie ktoś z otoczenia prawdopodobnie będzie znał odpowiedź) 2014-04-29Łukasz Rzepecki 88
  • 89. Metodyki zwinne Zespoły rozproszone • To standard, nie wyjątek (ok. połowa zespołów zwinnych jest rozproszona – tzn. przynajmniej 1 osoba pracuje zdalnie) • Niezbędne znalezienie substytutów dla korzyści z współpracy face-to-face, komunikacji osmotycznej i milczącej wiedzy oraz lepszych relacji w zespole • Wykorzystanie narzędzi komunikacji on-line • Przynajmniej pierwsze spotkanie powinno obejmować cały zespół • Problem - osoby poza zasięgiem wzroku łatwiej ignorować, mają mniejszy wpływ i poważanie 2014-04-29Łukasz Rzepecki 89
  • 90. Metodyki zwinne Narzędzia • Low-Tech, High-Touch - Wykorzystanie realnych namacalnych i prostych przedmiotów polepsza komunikację i pracę grupową - Niechęć do korzystania ze skomplikowanych narzędzi - Najczęściej wykorzystywane: tablica z zadaniami (to do, doing, accepted), user stories zapisane na karteczkach, karty do planning pokera • Narzędzia on-line - Pomocne przy pracy w zespołach rozproszonych - Np. wirtualna tablica, strony wiki, webowe systemy zarządzania 2014-04-29Łukasz Rzepecki 90
  • 91. 5. Planowanie adaptacyjne Koncepcje planowania, estymacja, planowanie zwinne
  • 92. Metodyki zwinne Tematyka – narzędzia i techniki • Koncepcje planowania - Timeboxing - Stopniowe doprecyzowanie - Proces na miarę - Minimalna funkcjonalność nadająca się do sprzedaży (MMF) • Estymacja - Wideband Delphi, Planning Poker - Czas idealny - Szacowanie porównawcze, Story Points - Estymacja przez podobieństwo • Planowanie zwinne - Planowanie iteracji i wydań 2014-04-29Łukasz Rzepecki 92
  • 93. Metodyki zwinne Tematyka – wiedza i umiejętności • Koncepcje planowania - Analiza oparta o wartość - Dekompozycja i porządkowanie oparte o wartość - Gry Agile • Estymacja - Szacowanie czasu, budżetu i kosztów - Zasady kosztorysowania • Planowanie zwinne - Karta projektu 2014-04-29Łukasz Rzepecki 93
  • 94. Koncepcje planowania Timeboxing, analiza oparta o wartość, gry Agile
  • 95. Metodyki zwinne “Mapa nie jest terytorium” (A. Korzybski) • Celem metod zwinnych jest eliminacja pracy nie przynoszącej bezpośrednio wartości biznesowej • Planowanie z tego punktu widzenia jest trwonieniem czasu (waste – odpad) • Celem każdej metodyki jest eliminacja odpadów • Z punktu widzenia wydajności najlepiej byłoby zaplanować projekt w całości raz i do tematu nie wracać • Jest to nieefektywne dla projektów angażujących w większości tzw. pracowników wiedzy (knowledge worker) • Powinno się zaplanować replanning i zaakceptować, że wstępny plan na pewno będzie zawierał wady 2014-04-29Łukasz Rzepecki 95
  • 96. Metodyki zwinne Timeboxing • Dzielenie czasu pracy na krótkie etapy o stałej długości • Zespół bierze do wykonania w iteracji tyle pracy ile uważa, że będzie w stanie wykonać (zwykle na 2 tygodnie) • Niewykonana praca wraca na koniec iteracji do backloga • Pomaga w ocenie rezultatów, zbierania informacji zwrotnych, kontrolowaniu kosztów i ryzyka • Architectural spike – okres czasu dedykowany na PoC • Narzędzie służące motywowaniu i skupieniu się na zakańczaniu pracy • Ludzie mają skłonność do rozpraszania się i wykonywania wielu rzeczy naraz nieefektywnie – analogicznie w projektach • Pomaga walczyć z prawem Parkinsona (praca zajmie cały przydzielony czas) i syndromem studenta (praca na deadline) 2014-04-29Łukasz Rzepecki 96
  • 97. Metodyki zwinne Stopniowe doprecyzownie (progressive elabor.) • Proces uszczegółowania gdy pojawiają się nowe informacje i detale • Na początku projektu planuje i estymuje się wstępnie pracę do wykonania • Szczegółowo planuje się tylko najbliższe iterację, kolejne zawierają coraz mniej detali • Poziom czasu poświęconego na fazy projektu: - Wstępne planowanie – 10-15% - Wydanie wersji (iteracje) – 80-85% - Zamknięcie – 5% 2014-04-29Łukasz Rzepecki 97
  • 98. Metodyki zwinne Dopasowanie procesu (process tailoring) • Ma na celu indywidualne dopasowanie procesów do aktualnej sytuacji w projekcie i w organizacji • Zmiany następują w efekcie retrospekcji w projekcie • Spotkanie na koniec iteracji z zespołem i biznesem mające na celu odpowiedź na 3 pytania: - Co idzie dobrze? - Które obszary wymagają ulepszenia? - Co powinno być realizowane w inny sposób? • Problemy są rozwiązywane poprzez burzę mózgów • Rozwiązania są testowane i analizowane przez kilka iteracji a następnie wdrażane na stałe lub zmieniane 2014-04-29Łukasz Rzepecki 98
  • 99. Metodyki zwinne Minimally Marketable Feature (MMF) • Każde wydanie oprogramowania powinno być sensowne, użyteczne i wartościowe dla klienta • MMF oznacza rozwiązanie kompletne na tyle aby było użyteczne dla klientów/użytkowników ale na tyle małe, że nie reprezentuje całego projektu • Udostępnia biznesowi korzyści zanim cały projekt będzie gotowy • Umożliwia szybszy zwrot z inwestycji podczas gdy zespół kontynuuje rozwijanie kolejnych funkcjonalności • Np. ołówek: MMF – pozostawia ślad na papierze, dodatkowa funkcjonalność – gumka do mazania itp. 2014-04-29Łukasz Rzepecki 99
  • 100. Metodyki zwinne Analiza oparta o wartość • Na każdym etapie projektu zadajemy pytania: - Jaka jest wartość biznesowa danej funkcjonalności? - Które funkcjonalności mają najwyższą wartość biznesową? • Następnie porządkujemy pracę tak aby dostarczyć w pierwszej kolejności funkcjonalności o najwyższej wartości biznesowej • Należy wziąść pod uwagę również koszt ich wytworzenia (element o wartości 5 ale kosztujący 4 ma niższą wartość biznesową od elementu o wartości 3 kosztującego 1) • Uwaga na zależności – realizacja zadań o niskiej wartości może być niezbędna, żeby zrealizować te o wyższej 2014-04-29Łukasz Rzepecki 100
  • 101. Metodyki zwinne Dekompozycja i porządk. oparte o wartość • To proces wydobywania wymagań od biznesu, porządkowania oraz włączania w proces produkcyjny • Kick off – powinien obejmować wysiłek na zdefiniowanie wizji projektu na wysokim poziomie oraz wyrównanie wśród wszystkich interesariuszy wspólnej misji, celów i kryteriów sukcesu (tak samo rozumianych) • Warsztaty – mają na celu wyodrębnienie z wizji potencjalnych wymagań (candidate feature list) • Lista jest następnie porządkowana wg wartości biznesowej i ryzyk oraz poddana iteracyjnemu procesowi realizacji • Następuje dalsze stopniowe doprecyzowanie wymagań 2014-04-29Łukasz Rzepecki 101
  • 102. Metodyki zwinne Dekompozycja i porządk. oparte o wartość • W metodykach zwinnych nie doprecyzowuje się dokładnie wymagań z góry, są “gruboziarniste” – doprecyzowanie następuje w trakcie postępu projektu • Pomaga to utrzymać projekt zbalansowany, bez nadmiernego (niepotrzebnego) wykonania w niektórych obszarach • Opóźnia się decyzje o detalach implementacji do ostatniej chwili (last responsible moment) – nie wykonuje się funkcjonalności, które mogą (prawie na pewno) się zmienić w wyniku nowych informacji lub zmian • Zmiany wprowadzane wcześniej kosztują mniej 2014-04-29Łukasz Rzepecki 102
  • 103. Metodyki zwinne Gry Agile Remember the Future • Badania wykazały, że jest istotna różnica gdy poprosi się o odpowiedź na pytanie “Co system powinien robić?” (zwykle następuje generowanie kompletnej listy potencjalnie niepotrzebnych funkcjonalności) od poproszenia o wyobrażenie sobie punktu w przyszłości – po releasie zakończonym z sukcesem – i “przypomnienie sobie” co zostało wykonane w ramach projektu • Każdy interesariusz przez 20 minut spisuje na karteczkach wymagania, dzieki którym udało się zrealizowac projekt • Kolejne 20 minut wspólnie grupują i wyjaśniają sobie wymagania oraz eliminują duplikaty 2014-04-29Łukasz Rzepecki 103
  • 104. Metodyki zwinne Gry Agile Prune the Product Tree • Gra pomaga w zrozumieniu porządkowania i zdefiniowania kolejności prac • Wykorzystanie burzy mózgów w celu narysowania drzewa wymagań i funkcjonalności oraz zależności • Pień reprezentuje to co wiemy lub zostało już wykonane • Gałęzie to nowe funkcjonalności lub wymagające zaprojektowania • Wymagania zależne umieszcza się dalej na gałęzi lub wyżej drzewa 2014-04-29Łukasz Rzepecki 104
  • 105. Metodyki zwinne Gry Agile Speedboat • Gra pomaga w wyodrębnieniu ryzyk i możliwości • Niektórzy potrzebują możliwości i sposobu na wyartykułowanie swoich wątpliwości przed przystąpieniem do pracy • Kiedy ich obawy zostaną zaóważone i “zapisane” będą mogli z mniejszym obciążeniem przystąpić do dalszej pracy i lepiej współpracować 2014-04-29Łukasz Rzepecki 105
  • 108. Metodyki zwinne Estymacja • Jest niezbędna do szacowania rozmiaru i akceptowania projektów, ustalania pracy możliwej do wykonania w ramach wydania bądź iteracji, wyliczeń ROI/IRR/NPV • Powinna być określana jako przedziały uwzględniające niepewność • Wstępne szacunki są najmniej dokładne, należy reestymować projekt (czas i koszt) cały czas w jego trakcie • Nie powinna się tym zajmować tylko 1 osoba lecz cały zespół, który jest/będzie zaangażowany w pracę 2014-04-29Łukasz Rzepecki 108
  • 109. Metodyki zwinne Wideband Delphi • Metoda iteracyjna, adaptacyjna oparta o zespół ekspertów • Każdy członek zespołu estymuje anonimowo - Eliminacja skłonności do zgadzania się z liderem i przyjmowania opinii innych zamiast własnych ocen danego problemu • Sesja zaczyna się od podziału całego projektu na fragmenty (estymowane osobno), specyfikuje się problem, przyjmuje założenia i ograniczenia projektu (w tym minimalne) • Definiuje się wspólne jednostki estymacji i kryteria zakończenia procesu wyceny (np. różnice w wycenach max. +/- 20%) • Iteracja zaczyna się od dyskusji nt. złożoności problemu • Każdy na kartce zapisuje zadania i ich estymaty wg uznania • Na koniec iteracji sumy estymat są zapisywane na tablicy (bez wskazywania autorów) • Jeśli są zbyt duże różnice robi się kolejną iterację • Na koniec tworzy się wspólną główną listę zadań z wszystkich 2014-04-29Łukasz Rzepecki 109
  • 110. Metodyki zwinne Planning Poker • Rozwinięcie poprzedniej metody • Oparta na kartach z wartościami (często liczby Fibonacciego: 1, 2, 3, 5, 8, 13, 21, 34) wyrażającymi czasochłonność mh/md lub inne jednostki np. Story Points • Wymagania są czytane kolejno i każdy jednocześnie głosuje • Przyjmuje się wycenę większości, drobne różnice się pomija, jeśli ktoś miał zdecydowanie odmienne zdanie jest dyskutowane a głosowanie jest powtarzane aż do osiągnięcia konsensusu przez zespół 2014-04-29Łukasz Rzepecki 110
  • 111. Metodyki zwinne Czas idealny • Zwykle praca w ciągu dnia jest rozpraszana i przerywana przez inne aktywności, nie związane bezpośrednio z wykonaniem zadania (spotkania, e- maile, kawa itp.) • Szacowanie wg czasu idealnego zakłada pominięcie wszelkich rozpraszających czynników, tzn. pracę skupioną wyłącznie nad danym zadaniem i przy założeniu, że nie ma żadnych innych przeszkód do jego wykonania 2014-04-29Łukasz Rzepecki 111
  • 112. Metodyki zwinne Szacowanie porównawcze, Story Points • Pomaga rozwiązać problem ludzi z dokładnym szacowaniem całkowitego czasu pracy jak również zwalczyć niechęć do skomplikowanego procesu wycen • Łatwiej jest opisywać zjawiska przez porównanie do innych znanych (np. coś jest 2x większe od…) niż określać je dokładnie • Bazuje na pracy już wykonanej przez zespół w projekcie (porównanie do estymat zakończonych zadań) • Pozwala łatwiej pogodzić się z niewłaściwymi estymacjami (jeśli wycena nie była w godzinach to przekroczony czas pracy nie informuje wprost, że estymacja była błędna) • Zmiana wyceny może nastąpić zawsze gdy tak uzna zespół, w szczególności gdy pojawiają się nowe informacje 2014-04-29Łukasz Rzepecki 112
  • 113. Metodyki zwinne Szacowanie porównawcze, Story Points • Definicja SP wychodzi z zespołu projektowego, to on ustala co oznacza 1SP (np. stworzenie prostego ekranu aplikacji lub 1 dzień idealny), SP między zespołami i w różnych projektach mogą oznaczać co innego • Estymaty w SP powinny być all-inclusive (zawierać testy, refactoring itp.), nie powinno wprowadzać się mnożników • Suma estymat szczegółowych zadań/wymagań może się różnić od wstępnej ogólnej wyceny wymagania/wydania • Estymaty w SP powinny być relatywne (4x5SP = 20x1SP) a nie określać stopnia skomplikowania • Powinno się brac pod uwagę 3 aspekty: złożoność problemu, wymagany nakład pracy oraz ryzyko 2014-04-29Łukasz Rzepecki 113
  • 114. Metodyki zwinne Estymacja przez podobieństwo (affinity est.) • Proces grupowania wymagań w kategorie/kolekcje, np. wg ich estymat • Daje możliwość łątwiejszego porównania czy w danej kategorii wymagania są faktycznie o porównywalnej wielkości • Można do tego wykorzystać tablicę podzieloną na pionowe kolumny, z których każda określa estymację lub jakiś przedział • Po wycenie nowego wymagania lub rewycenie porównuje się czy jego wielkość faktycznie wydaje się być podobna do innych w danej kolumnie – możliwość dyskusji 2014-04-29Łukasz Rzepecki 114
  • 115. Metodyki zwinne Szacowanie czasu, budżetu i kosztów • Określenie rozmiaru projektu – np. Planning Poker, w czasie idealnym lub innych jednostkach (SP) • Skalkulowanie wymaganego nakładu pracy w godzinach/dniach/tygodniach/miesiącach roboczych – wymaga przeliczenia estymat z uwzgl. dostępności zasobów (w tym – określenie stosunku godzina robocza/idealna dla każdego z członków zespołu) • Zaplanowanie harmonogramu z uwzględnieniem wymaganych dni roboczych i rozmiaru zespołu • Wyliczenie kosztu projektu wg stawek wynagrodzeń oraz innych kosztów + rezerwa na ryzyko i niepewność 2014-04-29Łukasz Rzepecki 115
  • 116. Metodyki zwinne Zasady kosztorysowania • Do określenia kosztu projektu należy wyliczyć koszt każdego z członków zespołu – np. roczne wynagrodzenie (koszt) / liczba tygodni w roku (52) • Do kosztu należy doliczyć inne obciążenia firmy (czynsz, sprzęt, administracja) • Powinno się unikać określania dokładnej ceny lecz podawać przedziały, na różnych etapach projektów IT inne: - Wizja – cena: 25-400% / harmonogram (czas): 60-160% - Definicja, zakres projektu – 50-200% / 80-125% - Specyfikacja wymagań, ident. historyjek – 66-150% / 85-115% - Specyfikacja projektowa, gotowy backlog – 80-125% / 90-110% - Dokładna specyfikacja, 50% wykonane – 95-105% / 98-105% 2014-04-29Łukasz Rzepecki 116
  • 117. Planowanie zwinne Cykl życia projektu, karta projektu, planowanie iteracji i wydań
  • 118. Metodyki zwinne Planowanie zwinne Istotnie różni się od planowania tradycyjnego: • Wersje testowe i demo ujawniają prawdziwe wymagania, które wymagają replanningu - Zamiast tworzyć szczegółowe specyfikacje lepiej zbudować prototyp aby lepiej zrozumieć problem i wykorzystać go do dalszego planowania • Planowanie zwinne, to większy wysiłek w trakcie projektu niż przed jego rozpoczęciem - Ważniejsze jest określenie ryzyk i niepewności - Uszczegóławianie w trakcie sprzyja lepszemu dopasowaniu wraz z nowymi informacjami - Zwykle planowanie zajmuje sumarycznie więcej czasu od tradyc. - Eliminuje ryzyka błędnego zaplanowania już na początku • Normą są zmiany w trakcie realizacji projektu - Podejście kierowanego pocisku zmierzającego do ruchomego celu 2014-04-29Łukasz Rzepecki 118
  • 119. Metodyki zwinne Cykl życia projektu zwinnego 2014-04-29Łukasz Rzepecki 119
  • 120. Metodyki zwinne Karta projektu • To pierwszy i podstatowy dokument projektowy • Odpowiada na 5 pytań (W5H): - O czym jest projekt – wizja, misja, cele - Dlaczego jest realizowany – racjonalne wyjaśnienie biznesu - Kiedy się rozpocznie i zakończy – plan - Kto będzie zaangażowany – lista interesariuszy - Gdzię będzie realizowany – fizycznie i technicznie - Jak będzie realizowany – opis podejścia, zasady realizacji • Okeślenie przez interesariuszy celów projektu w 140 zn. • Nie ma standardów – może to być zarówno 1 strona jak i skomplikowany szczegółowy dokument, ważne aby był 2014-04-29Łukasz Rzepecki 120
  • 121. Metodyki zwinne Planowanie iteracji i wydań • Projekty zwinne dzielą się na wydania i iteracje • Wydanie to zbiór iteracji, których realizacja skutkuje dostarczeniem wartościowego produktu bieznesowi/klientowi • Wydanie może byc uzależnione od terminu (deadline, np. targi) lub osiągnięcia określonej funkcjonalności – w zależności od tego, z wykorzystaniem informacji o prędkości zespołu, szacujemy co uda się zrobić w danym czasie lub kiedy osiągniemy daną funkcjonalność • Do planowania wydań stosuje się Story Maps – podział najpierw wg zależności a później funkcjonalności 2014-04-29Łukasz Rzepecki 121
  • 122. Metodyki zwinne Planowanie iteracji i wydań • Planowanie iteracji robi zespół wybierając wymagania o najwyższym priorytecie, które uda się zaimplementować, przetestować i dostarczyć na koniec iteracji • Istotne jest określenie głównych celów do osiągnięcia na koniec iteracji z biznesem – klientem lub Product Ownerem (w celu właściwego doboru wymagań) • W przypadku Scruma, PO powinien przyjść na planning przygotowany ze świeżo uporządkowanym backlogiem - Pierwszą połowę spotkania PO opowiada o wymaganiach, które chciałby zrealizować a zespół zobowiązuje się do wykonania określonych wymagań w ramach swoich możliwości - Przez drugą połowę spotkania zespół dzieli wymagania na zadania oraz dyskutuje jak będą realizowane – powstaje sprint backlog - Przypisywanie zadań do osób może być później i może się zmieniać 2014-04-29Łukasz Rzepecki 122
  • 123. 6. Problemy Jakość, zapobieganie i rozwiązywanie problemów
  • 124. Wykrywanie problemów Czas cyklu, niewykryte wady, jakość
  • 125. Metodyki zwinne Czas cyklu • Mierzy jak długo zajmuje wykonywanie zadań (od rozpoczęcia do akceptacji) • Jest blisko związany z pojęciem pracy w toku (Work in progress – WIP) • Duża liczba WIP wiąże się z problemami: - Oznacza inwestycję w toku, z której nie ma zwrotu - Ukrywa wąskie gardła i maskuje problemy z wydajnością - Zwiększa ryzyko potencjalnych zmian – duża liczba niezaakceptowanych wymagań w toku, mogących wpływać na siebie • Długi czas cyklu zwiększa liczbę WIP – dlatego metody zwinne dążą do jego skracania i dzielenia pracy na fragmenty • Czas cyklu = WIP / przepustowość 2014-04-29Łukasz Rzepecki 125
  • 126. Metodyki zwinne Czas cyklu • Pojęcie to jest użyteczne do analizowania wad i napraw • Można niezależnie monitorować czas cyklu naprawy wad • Im dłużej wady są nienaprawione tym są kosztowniejsze • Kluczowe jest szybkie wykrywanie problemów na jak najwcześniejszym etapie aby zredukować ryzyko wykonywania pracy od nowa: - Programowanie w parach - Continuous integration - Test-driven development - Partycypacja interesariuszy - Częste demonstracje produktu (opinie od biznesu/klienta) 2014-04-29Łukasz Rzepecki 126
  • 127. Metodyki zwinne Niewykryte wady (escaped defects) • To wady, które nie zostały wykryte na etapie produkcji ani kontroli jakości i przedostały się do oprogramowania działającego produkcyjnie, ew. wykryte przez klienta • Są najbardziej kosztowne do naprawy • Monitorowanie liczby takich wad pojawiających się w poszczególnych wydaniach może pomóc w ich eliminacji w przyszłości 2014-04-29Łukasz Rzepecki 127
  • 129. Metodyki zwinne Standardy jakości • Dotyczą tego co zespół będzie robił aby zapewnić jakość i właściwą wartość produktu? • Standardy mogą być spisane lub nieformalne w postaci wymagań i wytycznych, za które zespół bierze odpowiedzialność • Źródła wiedzy o standardach jakości: - Standardy formalne – spisane - Monitorowanie, audyty - Rozmowy i dyskusje - Przeglądy (dema) - Retrospekcje 2014-04-29Łukasz Rzepecki 129
  • 130. Metodyki zwinne Standardy jakości – praktyki • Mierzenie jakości przez testy i akceptację biznesu/klienta • Testy automatyczne • Zapewnienie aby testowanie było częścią każdej iteracji • Staranie się naprawy 90% wad w następnej iteracji • Ujednolicenie rozumienia kryterów akceptacyjnych wśród developerów, biznesu i ew. osób odpowiedzialnych za jakość • Akceptacja naprawy wad nie przez developerów a biznes • Współpraca osób wykrywających wady z developerami mająca na celu umożliwienie powtórzenia błedu • Monitorowanie liczby wad, rządań zmian i wyjaśnień oraz utrzymania wskaźników w poziomach tolerancji 2014-04-29Łukasz Rzepecki 130
  • 131. Metodyki zwinne Przyczyny problemów • Popełnianie błędów ludzkich • Działania zachowawcze – zwłaszcza w przypadku wysokiej niepewności, wykorzystanie dotychczasowej wiedzy, która nie jest najoptymalniejsza do wykonania danego zadania • Wynajdywanie nowych metod (narażonych na wady) zamiast wykorzystania gotowych, sprawdzonych, re-używalnych rozwiązań • Przyzwyczajenie – unikanie zmian gdy są konieczne • Brak konsekwencji we wdrażaniu nowych rozwiązań 2014-04-29Łukasz Rzepecki 131
  • 132. Rozwiązywanie problemów Sposoby zapobiegania i rozwiązywania problemów
  • 133. Metodyki zwinne Metody zapobiegania problemom • Continuous Integration – zapobieganie problemom wynikającym z częstego dołączania nowego kodu przez różnych członków zespołu do repozytorium projektu • Risk-Based Spike – krótkie ćwiczenie typu PoC mające na celu przeanalizowanie sposobu rozwiązania problemu w celu pomniejszenia ryzyka przed właściwą implementacją • Test-Driven Development (TDD) – testy są pisane przed kodem, wymaga zastanowienia się jak rozwiązanie będzie testowane i jak ma działać, testy nie przejdą dopóki napisany kod nie będzie spełniał założonych kryteriów - Red  Green  Refactor (Red  Green  Clean) 2014-04-29Łukasz Rzepecki 133
  • 134. Metodyki zwinne Metody zapobiegania problemom • Acceptance Test-Driven Dev. (ATDD) – przeniesienie testowania z kodu na wymagania biznesowe, 4 etapy: - Discuss – omówienie wymagań, kryteriów akceptacyjnych - Distill – ustrukturyzowanie i wprowadzenie testów do narzędzia typu FIT (Frmrk For Integrated Testing) lub FitNesse - Develop – kodowanie i podpięcie kodu do testów - Demo – końcowe testy akceptacyjne i demo produktu • Częsta weryfikacja i walidacja – funkcjonuje na każdym poziomie projektów zwinnych, np. programowanie w parach/code review, testy jednostkowe, stand-upy, testy akceptacyjne, przegląd iteracji/demo itp. – każde z tych działań ma na celu jak najszybcie wykrycie i wyeliminowanie problemów 2014-04-29Łukasz Rzepecki 134
  • 135. Metodyki zwinne Rozwiązywanie problemów 3 fazy: • Zebranie danych – mające na celu wspólny pogląd na problemy - Timeline – zaznaczenie wydarzeń (+/-/!) na linii czasu i emocji zesp. - Triple Nickels – 5 pomysłów x 5 iteracji w zespole na karteczkach • Wnioski – przeanalizowanie zebranych danych, interpretacja, zrozumienie następstw - Burza mózgów – wygenerowanie, przefiltrowanie i posortowanie - 5 pytań Dlaczego – dojście od ogółu do rdzenia/przyczyny problemu - Fishbone – diagram doprecyzowujący Five whys • Decyzje co zrobić – jasne decyzje - Short Subjects – np. Keep/Drop/Add, Zacznij/Przestań/Więcej/Mniej - SMART – Specific, Measurable, Attainable, Relevant, Timely 2014-04-29Łukasz Rzepecki 135
  • 136. Metodyki zwinne Zaangażowanie zespołu w rozw. problemów • Zaangażowanie zespołu w rozwiązywanie problemów jest bardzo ważne: • Brak konieczności “sprzedaży” rozwiązania zespołowi • Zespół jest bliżej szczegółów i może znać lepsze rozw. • Zespół wygeneruje bardziej praktyczne rozwiązania (uniknięcie odpowiedzi “nie da się”) • Ludzie zapytani o pomoc lubią zastanawiać się i pracować nad najlepszymi rozwiązaniami oraz doceniają to • Prośba o pomoc pokazuje zaufanie a nie słabość • Wpływa na porządany sposób zachowań w organiazcji 2014-04-29Łukasz Rzepecki 136
  • 137. 7. Ciągłe doskonalenie Retrospekcje i udoskonalanie procesów
  • 138. Metodyki zwinne Retrospekcja • To wydarzenie odbywające się po sprincie mające na celu naukę i refleksję aby doskonalić metody działania i pracę zespołową ze sprintu na sprint a nie dopiero po projekcie (jak klasyczne lessons learned) • Typowe spotkanie składa się z kilku etapów (czas trwania dla sprintu 2-tygodniowego, to max. 2 godziny): - Przygotowanie – 5% - Zebranie informacji – 30-50% - Wnioski – 20-30% - Decyzje co zrobić – 15-20% - Zamknięcie – 10-15% 2014-04-29Łukasz Rzepecki 138
  • 139. Metodyki zwinne Retrospekcja Przygotowanie • Ma na celu skoncentrowanie się na celach spotkania, wytworzenie przyjaznej atmosfery sprzyjającej rozmowie na problematyczne tematy, zaplanowanie tematów do dyskusji • Pomocne narzędzia: - Check-In – podsumowanie w 1-2 słowach przez każdego po kolei czego oczekuje od spotkania, głównego tematu do podjęcia lub odczuć co do retrospekcji - Focus On / Focus Off - ESVP – Explorers, Shoppers, Vacationers, Prisoners – anonimowa ankieta jakie są nastroje na spotkanie i omówienie wyników - Working agreements – praca w podgrupach nad tematyką retrospekcji 2014-04-29Łukasz Rzepecki 139
  • 140. Metodyki zwinne Retrospekcja Zebranie informacji • Stworzenie wspólnego obrazu co się wydarzyło podczas iteracji/wydania/projektu – zebranie obserwacji, faktów, odkryć • Narzędzia (rozdz. VI): - Timeline - Triplce nickels - Color code dots - Mad, sad, glad - Locate strengths - Satisfaction histogram - Team radar - Like to like 2014-04-29Łukasz Rzepecki 140
  • 141. Metodyki zwinne Retrospekcja Wnioski • Czas na ocenę informacji i wyciągnięcie z nich wniosków, celem jest pomoc w zrozumieniu implikacji odkryć i podjętych decyzji • Narzędzia (rozdz. VI): - Burza mózgów - Five whys - Fishbone - Prioritize with dots - Identify themes 2014-04-29Łukasz Rzepecki 141
  • 142. Metodyki zwinne Retrospekcja Decyzje co zrobić • Zastanowienie się co można zmienić w kolejnych iteracjach i co zrobić inaczej • W tym etapie zespół identyfikuje i porządkuje działania do podjęcia, tworzy plan ew. eksperymentów, ustala mierzalne cele do osiągnięcia i spodziewane rezultaty • Narzędzia (rozdz. VI): - Short subjects - SMART goals - Retrospective planning game - Circle of questions 2014-04-29Łukasz Rzepecki 142
  • 143. Metodyki zwinne Retrospekcja Zamknięcie • Refleksja na temat samej retrospekcji • Narzędzia: - Plus/Delta – spisanie w dwóch kolumnach pomysłów co idzie dobrze (+) i co można by zmienić (Δ) w retrospekcjach - Helped (Pomocne), Hindered (Utrudnienia), Hypothesis (Przypuszczenia) – rozmowa na temat samego procesu retrospekcji, jak go poprawić w kolejnych iteracjach - Return on Time Invested (ROTI) – czy zespół sądzi, że poświecony czas został dobrze wykorzystany - Uznania – wzajemne podziękowania za pomoc, wkład w rozwiązywanie problemów itp. 2014-04-29Łukasz Rzepecki 143
  • 144. Metodyki zwinne Dzielenie się wiedzą • Jest kluczowe w projektach zwinnych, w środowiskach pracownika wiedzy • Odbywa się na wielu poziomach – podczas dema (zespół- klient), wiedza niepisana w środowisku f2f, poprzez komunikację osmotyczną, na stand-upach, retrospekcjach • Klutura organizacyjna powinna promować dzielenie się wiedzą, odkrycia i innowacje a nie jednostki które mają dużą wiedzę (guru) ale się nią nie dzielą (klasyczne podejście) • Najlepszym sposobem do zachęcania do pracy grupowej, wzajemnej pomocy i dzielenia się wiedzą jest mierzenie efektów o poziom wyżej – tzn. nie konkretnego pracownika ale całego zespołu, nie zespołu ale całego działu itp. 2014-04-29Łukasz Rzepecki 144
  • 145. Metodyki zwinne Udoskonalanie procesów • Ma na celu lepsze dopasowanie metodologii do środowiska projektu • Np. Kanban zaleca modyfikowanie metodologi do własnych potrzeb ale Scrum jest mniej elastyczny • Niektórzy promują podejście “proces per projekt” • Kluczowe jest doświadczenie zespołów w realizacji kilku projektów by-the-book a dopiero później ich modyfikowanie do własnych potrzeb • Proste projekty o znanej technologii i dokładnej specyfikacji wymagań wcale nie potrzebuja metodyk zwinnych! Z drugiej strony jeśli projekt jest w stanie chaosu metodyki zwinne również nie pomogą 2014-04-29Łukasz Rzepecki 145
  • 146. Metodyki zwinne Udoskonalanie procesów • Analiza procesu - Antywzorce: • Jeden rozwmiar dla wszystkich projektów • Nietolerancyjny • Ciężki • Upiększony • Niewypróbowany • Użyty raz - Kryteria pozytywne: • Projekt został zakończony i sprzedany • Lider nie został zwolniony • Zespół pracowałby ponownie w ten sam sposób 2014-04-29Łukasz Rzepecki 146
  • 147. Metodyki zwinne Udoskonalanie procesów • Kryteria sukcesu - Komunikacja face-to-face - Nadmiar narzutu metodologii jest kosztowny – minimalizacja produkowanej dokumentacji - Większe zespoły wymagają cięższych metodologii - Projekty krytyczne wymagają większych rygorów metodyki - Informacje zwrotne i częsta komunikacja redukują potrzebę dostarczania częstych pośrednich rezultatów - Ważniejsza jest dyscyplina, umiejętności i zrozumienie niż procesy, formalności i dokumentacja - Wydajność można zwiększać tylko w środowiskach bez wąskich gardeł 2014-04-29Łukasz Rzepecki 147
  • 148. Metodyki zwinne Udoskonalanie procesów • Stosowanie nowych praktyk - Nie stosować dopóki nie jest to niezbędne - Czy jest jakieś inne rozwiązanie – głównego problemu? - Czy nowe rozwiązanie faktycznie coś poprawia? - Próbować nowe praktyki w małych dawkach (kilka iteracji) - Analizować skutki uboczne – retrospekcje • Proces ciągłego doskonalenia - Analogia Plan-Develop-Evaluate-Learn do Plan-Do-Check-Act Deminga - Iteracyjne i przyrostowe tworzenie jest formą ciągłego doskonalenia a informacje zwrotne od klienta kierują zespół na finalne rozwiązanie • Samoocena – nie tylko proces i produkt ale równiez zespół wymaga oceny, jak działa i co wymaga poprawy 2014-04-29Łukasz Rzepecki 148
  • 151. Metodyki zwinne SCRUM • Określa ramy postępowania przy rozwiązywaniu złożonych problemów adaptacyjnych – optymalizuje elastyczność, kreatywność i produktywność • Podejście iteracyjne i przyrostowe w celu zwiększenia przewidywalności i lepszej kontroli ryzyka • Opiera się na: - Przejrzystości – wszystkie aspekty procesu muszą być widoczne, jasne i jednakowo zrozumiałe przez wszystkich (np. wspólna definicja “ukończonej” pracy – DoD) - Inspekcji – częsta weryfikacja realiacji celów sprintu - Adaptacji – jeśli któryś z aspektów projektu wykracza poza ramy, należy szybko dokonać niezbędnych korekt 2014-04-29Łukasz Rzepecki 151
  • 152. Metodyki zwinne Zespół Scrumowy (Development Team) • Jest samo-organizujący się i międzyfunkcjonalny - Zespół sam decyduje jak najlepiej wykonać pracę - Nie jest kierowany przez nikogo z zewnątrz - Posiada wszelkie kompetencje do wykonania pracy – nie jest zależny od osób spoza zespołu • Dostarcza ukończone produkty iteracyjnie i przyrostowo - Zwiększone szanse na wczesne uzyskanie informacji zwrotnej - Nieprzerwana dostępność działającej użytecznej wersji • Zespół Scrumowy, to: - Product Owner – właściciel produktu - Zespół developerski - Scrum Master 2014-04-29Łukasz Rzepecki 152
  • 153. Metodyki zwinne Właściciel Produktu (Product Owner) • To pojedyńcza osoba, nie komitet • Może reprezentować interesy grupy osób • Wszelkie zmiany w backlogu muszą przechodzić przez właściciela produktu • Cała organizacja musi respektować jego decyzje (treść i kolejność elementów w backlogu) • Nikt inny nie może nakazać zespołowi realizacji innych wymagań 2014-04-29Łukasz Rzepecki 153
  • 154. Metodyki zwinne Właściciel Produktu (Product Owner) • Odpowiada za maksymalizację wartości produktu i pracy • Jest jedyną osobą zarządzającą backlogiem produktu: - Jasne artykułowanie elementów backlogu - Ustalanie kolejności elementów w sposób pozwalający osiągać założone cele i misje - Optymalizowanie wartości pracy wykonywanej przez zespół - Zapewnianie dostępności, przejrzystości oraz że jest jasny i zrozumiały przez wszystkich - Dobrze opisuje to, czym zespół będzie się zajmował w dalszej kolejności - Zapewnianie, że zespół rozumie elementy backlogu w wymaganym stopniu • Może zlecić realizację tych zadań na zespół ale właściciel produktu pozostaje za nie w pełni odpowiedzialny 2014-04-29Łukasz Rzepecki 154
  • 155. Metodyki zwinne Zespół developerski • Złożony jest z profesjonalistów, którzy tworzą przyrost • Jest uprawniony do samodzielnego organizowania własnej pracy i zarządzania nią • Nikt (nawet Scrum Master) nie może nakazać zespołowi jak przekształcać elementy backloga w przyrosty • Nie uznaje tytułów innych niż “developer” (np. nazwa stanowiska czy ranga starszy/młodszy) ani podzespołów • Mimo, że pojedyńcze osoby mogą mieć specjalizację, to odpowiedzialność za rezultat ponosi solidarnie cały zespół • Zespołowi nie wolno podejmować działań w oparciu o to co mówią inne osoby niż właściciel produktu • Idealny rozmiar, to 3-9 osób (+ PO i SM) • Product Owner i Scrum Master mogą być członkami zespołu, jeśli jednocześnie wykonują też pracę wynikająca z backloga 2014-04-29Łukasz Rzepecki 155
  • 156. Metodyki zwinne Scrum Master • Jest odpowiedzialny za to aby Scrum był zrozumiany i był stosowany, szczególnie gdy nie jest jeszcze w pełni przyjęty i rozumiany w danej organizacji • Wspiera właściciela produktu w technikach efektywnego zarządzania backlogiem i maksymalizowania wartości • Wspiera zespół scrumowy w rozumieniu i praktykowaniu zwinności i empirycznego podejścia rozwoju produktu • Wspomaga przebieg zdarzeń scrumowych – jeśli jest to konieczne lub zostanie o to poproszony • Coachuje zespół w zakresie samoorganizacji • Usuwa przeszkody ograniczające postęp pracy zespołu 2014-04-29Łukasz Rzepecki 156
  • 157. Metodyki zwinne Zdarzenia w Scrumie • Są okazją do inspekcji i adaptacji – niewykonanie któregoś z nich redukuje przejrzystość i możliwość dokonania inspekcji i adaptacji, które są filarami Scruma • Wprowadzają regularność i ograniczają konieczność organizowania innych spotkań • Wszystkie zdarzenia są organiczone czasowo (timeboxing) • Zdarzenia w Scrumie: - Sprint • Planowanie sprintu (Sprint Planning) • Codzienny Scrum (Daily Scrum) • Przegląd sprintu (Sprint Review) • Retrospektywa sprintu (Sprint Retrospective) 2014-04-29Łukasz Rzepecki 157
  • 158. Metodyki zwinne Sprint • Musi posiadać cel – opis tego co ma powstać, cel uspójnia działania zespołu • Iteracja ograniczona czasowo do maksymalnie 1 m-ca - Dłuższy czas wzmaga ryzyko zmiany definicji celów i zwiększa złożoność - Inspekcja i adaptacja są regularne • Czas trwania jest ustalany w momencie rozpoczęcia i nie może być zmieniany ale najlepiej aby miały stałą długość przez cały projekt • Wytwarza przyrost – ukończony, gotowy do użycia i potencjalnego wydania • Zakres pracy może być wyjaśniany trakcie sprintu z PO • Może również być renegocjowany z PO jeśli pojawiają się nowe informacje, np. charakter prac okazuje się inny od zaplanowanych • Nie można wprowadzać zmian zagrażających realizacji celów sprintu bądź obniżających cele jakościowe • W trakcie sprintu zespół może uczestniczyć w doskonaleniu backloga (max. 10% czasu sprintu) • Może być przerwany tylko przez PO np. jeśli zdezaktualizują się cele 2014-04-29Łukasz Rzepecki 158
  • 159. Metodyki zwinne Planowanie sprintu • Spotkanie całego zespołu scrumowego, maksymalnie 8h dla 1- miesięcznego sprintu • Co może zostać zrobione w Sprincie? - Zespół prognozuje zakres prac, które może zrealizować - PO omawia założenia sprintu oraz elementy backloga, które temu służą - Zespół scrumowy uzgadnia cel sprinta a zespół developerski podejmuje zobowiązanie które elementy backloga wykona • W jaki sposób wybrany zakres pracy zostanie zrealizowany? - Zespół planuje w jaki sposób elementy backloga produktu zostaną przekształcone w ukończony przyrost – tworzy projekt i zadania - Wybrane elementy backloga produktu wraz ww. planem tworzą backlog sprintu • Zespół może zaprosić na spotkanie inne osoby z wiedzą techniczną lub z danej domeny 2014-04-29Łukasz Rzepecki 159
  • 160. Metodyki zwinne Codzienny Scrum • Zdarzenie zespołu developerskiego (tylko), max. 15 minut, o stałym miejscu i porze, wygodnej dla wszystkich, za którego przebieg jest odpowiedzialny sam zespół • Scrum Master jest jednakże odpowiedzialny za to aby zdarzenie miało miejsce i trwało nie dłużej niż 15 minut • Służy synchronizacji działań, ocenie postępu prac, trendów i zaplanowaniu następnych 24 godzin (to nie tylko status) • Każdy członek zespołu udziela pozostałym informacji: - Co wykonał od poprzedniego spotkania aby pomóc zespołowi przybliżyć się do osiągnięcia cel sprintu? - Co zrobi w tym celu do następnego spotkania? (planowanie!) - Czy widzi jakiekolwiek przeszkody w realizacji celu przez zespół? • Po codziennym scrumie członkowie zespołu mogą szczegółowo omówić wybrane zagadnienia i problemy • Jest to spotkanie kluczowe dla procesu inspekcji i adaptacji 2014-04-29Łukasz Rzepecki 160
  • 161. Metodyki zwinne Przegląd sprintu • Spotkanie całego zespołu scrumowego i kluczowych interesariuszy na zakończenie sprintu, max. 4h dla 1-miesięcznego sprintu • Celem jest inspekcja przyrostu i ew. dostosowanie backloga produktu w celu zwiększenia dostarczanej wartości • To spotkanie robocze a nie statusowe: - PO wyjaśnia, które funkcjonalności uznał za ukończone - Zespół prezentuje wykonany przyrost oraz wyjaśnia co poszło dobrze a gdzie były problemy i jak zostały rozwiązane - PO omawia aktualny backlog produktu - Uczestnicy rozważają co najlepiej wykonać w następnej kolejności aby dostarczyć maksymalną wartość - Rewiduje się czas, budżet i wprowadza ew. zmiany do backloga - PO dokonuje podsumowania całej pozostałej do wykonania pracy i porównuje ją ze stanem poprzednim (ocena możliwości realizacji celów w wyznaczonym terminie, np. wykorzystując wskaźnik prędkości pracy) - Rezultatem jest zaktualizowany backlog produktu 2014-04-29Łukasz Rzepecki 161
  • 162. Metodyki zwinne Retrospektywa sprintu • Spotkanie zespołu scrumowego, odbywające się między przeglądem i planowaniem sprintów, max. 3h dla 1-miesięcznego sprintu • Ma na celu autoinspekcję własnych działań zespołu i opracowaniu planu usprawnień na kolejny sprint: - Sprawdzenie, co działo się w ostatnim sprincie, z uwzględnieniem ludzi, relacji, procesów i narzędzi - Co się sprawdziło a co wymaga usprawnienia - Opracowanie plananu usprawnień • np. doprecyzowanie definicji “ukończenia” 2014-04-29Łukasz Rzepecki 162
  • 163. Metodyki zwinne Artefakty Scruma • Artefakty w Scrumie, to: - Backlog produktu - Backlog sprinta - Przyrost – suma wszystkich ukończonych elementów backloga produktu zgodnie z definicją DoD zespołu scrumowego • Musi być zachowana ich pełna przejrzystość • Są podstawą podejmowanych decyzji mających na celu optymalizację wartości i kontrolę ryzyka • Zadaniem Scrum Mastera jest dbanie o ich przejrzystość - Inspekcja - Wyłapywanie różnic między oczekiwaniami a wynikami 2014-04-29Łukasz Rzepecki 163
  • 164. Metodyki zwinne Backlog produktu (Product Backlog) • Jedyne źródło wymagań: lista wszystkich cech, funkcji, wymagań, ulepszeń i korekt błędów • Elementy zawierają: opis, kolejność, oszacowanie, wartość • PO jest za niego odpowiedzialny ale oszacowania dokonuje wyłącznie zespół developerski • Nigdy nie jest kompletny, ewoluuje wraz z produktem i środowiskiem, dynamicznie się zmienia • Doskonalenie backloga (refinement) – ciągła praca zespołu scrumowego: przeglądanie i korygowanie - Dodawanie szczegółów, oszacowań, porządkowanie • Istnieje tak długo jak produkt • Jeśli nad jednym produktem pracuje kilka zespołów scrumowych, to korzystają z tego samego backloga • Elementy najwyżej, na najbliższy sprint, muszą być szczegółowo opisane i możliwe do realizacji w ramach sprintu - Statusy: Nieprzygotowane  Przygotowane (gotowe do realizacji, wystarczająco zrozumiałe i wystarczająco małe)  Ukończone 2014-04-29Łukasz Rzepecki 164
  • 165. Metodyki zwinne Backlog sprintu (Sprint Backlog) • To zbiór elementów backloga produktu wybranych do realizacji na dany sprint, rozszerzony o: - Plan dostarczenia przyrostu produktu - Plan realizacji celu sprintu (praca niezbędna wg zespołu developerskiego do jego osiągnięcia) • Wystarczająco szczegółowy • Jest modyfikowany przez zespół developerski w trakcie trwania sprintu (w miarę realizacji celów i wyłaniania się nowych informacji aby je osiągnąć) - Dodatkowa praca jest dodawana do backloga sprintu z zbędne elementy usuwane – tylko zespół developerski może go zmieniać! • W miarę postępu prac aktualizowane jest oszacowanie pozostałej do wykonania pracy w sprincie (przynajmniej raz dziennie podczas codziennego scruma) • Na koniec sprintu nowy przyrost musi być ukończony i być przetestowany z poprzednimi przyrostami (muszą działać razem) 2014-04-29Łukasz Rzepecki 165
  • 166. Metodyki zwinne Definicja ukończenia (DoD) • Każdy musi rozumieć co oznacza ukończenie elementu backloga produktu albo przyrostu produktu (pracy w kolejnym sprincie) • Zespół scrumowy musi mieć wspólne rozumienie DoD • Celem każdego sprintu jest dostarczenie gotowej do wydania funkcjonalności, zgodnie z aktualną definicją ukończenia funkcjonującą w zespole scrumowym • Konwencja, standardy i wytyczne w organizacji stanowią minimum definicji ukończenia – jeśli ich nie ma musi je wypracować sam zespół 2014-04-29Łukasz Rzepecki 166
  • 167. Metodyki zwinne Podsumowanie Scruma • Scrum istnieje tylko w swojej pełnej postaci • Może stanowić ramy dla innych technik, metodyk i praktyk 2014-04-29Łukasz Rzepecki 167