Tytuł oryginału Essential Scrum A Practical Guide to the Most Popular Agile Process
Tłumaczenie Janusz Grabis
ISBN 978-83-246-8073-3
Authorized translation from the English language edition entitled ESSENTIAL SCRUM A PRACTICAL GUIDE TO THE MOST POPULAR AGILE PROCESS ISBN 0137043295 by Kenneth S Rubin published by Pearson Education Inc publishing as Addison WesleyCopyright copy 2013 Pearson Education Inc
All rights reserved No part of this book may by reproduced or transmitted in any form or by any means electronic or mechanical including photocopying recording or by any information storage retrieval system without permission from Pearson Education Inc
Polish language edition published by HELION SA Copyright copy 2014
Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione Wykonywanie kopii metodą kserograficzną fotograficzną a także kopiowanie książki na nośniku filmowym magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań by zawarte w tej książce informacje były kompletne i rzetelne Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich Autor oraz Wydawnictwo HELION nie ponoszą roacutewnież żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce
Wydawnictwo HELIONul Kościuszki 1c 44-100 GLIWICEtel 32 231 22 19 32 230 98 63e-mail helionhelionplWWW httphelionpl (księgarnia internetowa katalog książek)
Drogi CzytelnikuJeżeli chcesz ocenić tę książkę zajrzyj pod adres httphelionpluseropiniescrumaMożesz tam wpisać swoje uwagi spostrzeżenia recenzję
Printed in Poland
bull Kup książkębull Poleć książkę bull Oceń książkę
bull Księgarnia internetowabull Lubię to raquo Nasza społeczność
SPIS TREŚCI
Słowo wstępne mdash Mike Cohn 21
Słowo wstępne mdash Ron Jeffries 23
Wstęp 25
Rozdział 1 Wprowadzenie 33
Czym jest Scrum 34Początki Scruma 35Dlaczego Scrum 36Wyniki Genomiki 37Czy Scrum może pomoacutec Tobie 37
Domena złożona 40Domena skomplikowana 40Domena prostoty 40Domena chaosu 41Nieporządek 41Praca sterowana przerwaniami 41
Zakończenie 42
CZĘŚĆ I POJĘCIA PODSTAWOWE
Rozdział 2 Środowisko Scrum 45
Wprowadzenie 45Role w Scrumie 46
Właściciel produktu 47Mistrz młyna 47Zespoacuteł deweloperski 48
Aktywności i artefakty Scruma 48Rejestr produktu 50Sprinty 52Planowanie sprintu 52
Kup książkę Poleć książkę
10 Spis treści
Wykonanie sprintu 54Codzienne działania scrumowe 55Koniec pracy 56Przegląd sprintu 57Retrospekcja sprintu 58
Zakończenie 59
Rozdział 3 Zasady zwinności 61
Wprowadzenie 61Zmienność i niepewność 64
Wspieraj pomocną zmienność 64Stosuj budowanie w sposoacuteb iteracyjny i przyrostowy 65Wykorzystuj zmienność poprzez inspekcję adaptację i przejrzystość 66Redukuj wszystkie formy niepewności jednocześnie 67
Przewidywanie i adaptacja 68Pozostaw wszystkie opcje otwarte 69Pogoacutedź się z tym że nie wszystko da się przewidzieć z goacutery 69Preferuj podejście odkrywcze i adaptacyjne 71Wspieraj zmiany w sposoacuteb uzasadniony ekonomicznie 72Roacutewnoważ pracę ktoacuterą można przewidzieć z goacutery z pracą adaptacyjną w samą porę 74
Wiedza potwierdzona 75Potwierdź bezzwłocznie istotne założenia 76Wykorzystuj roacuteżne konkurencyjne ścieżki pozyskiwania wiedzy 76Organizuj przepływ pracy umożliwiający szybkie pozyskiwanie informacji zwrotnej 77
Praca cząstkowa 78Stosuj rozsądne ekonomicznie rozmiary zapotrzebowania 79Zroacuteb rozpoznanie inwentarza i zarządzaj nim w celu dobrego przepływu 80Skup się na pracy czekającej na realizację a nie na pracownikach czekających na pracę 81Bierz pod uwagę koszt opoacuteźnień 83
Postęp 84Zaadaptuj się w oparciu o napływające informacje i zmodyfikuj plan 84Mierz postęp poprzez ocenę działających rzeczy 84Skup się na dostarczaniu wartości 85
Wydajność 86Działaj szybko ale nie w pośpiechu 86Buduj z zachowaniem jakości 86Stosuj minimalną potrzebną ilość ceremonii 87
Zakończenie 88
Rozdział 4 Sprinty 91
Wprowadzenie 91Ograniczenie czasowe 92
Ograniczenie pracy cząstkowej 92Wymuszanie priorytetoacutew 93Demonstrowanie postępoacutew 93Unikanie zbędnego perfekcjonizmu 93Motywowanie domykania 94Poprawianie przewidywalności 94
Kup książkę Poleć książkę
Spis treści 11
Kroacutetki okres trwania 94Łatwość planowania 94Szybka informacja zwrotna 95Lepsze zyski z inwestycji 95Ograniczanie błędoacutew 95Rozbudzenie podekscytowania 95Regularne punkty kontrolne 96
Stały czas trwania 97Zalety taktowania 97Uproszczone planowanie 98
Niezmienność celu 98Czym jest cel sprintu 99Wzajemne zobowiązanie 99Zmiana kontra doprecyzowanie 99Konsekwencje zmiany 100Pragmatyczność 101Zakończenie przed czasem 102
Definicja ukończenia 103Czym jest definicja ukończenia 104Definicja ukończenia może ewoluować 106Definicja ukończenia kontra kryteria akceptacji 107Ukończony kontra rzeczywiście ukończony 107
Zakończenie 108
Rozdział 5 Wymagania i historyjki użytkownika 109
Wprowadzenie 109Wykorzystanie dyskusji 111Stopniowe udoskonalanie 112Czym są historyjki użytkownika 113
Karta 113Rozmowa 114Potwierdzenie 115
Poziom szczegoacutełowości 116Inwestuj w dobre historyjki 118
Niezależność 118Negocjowalność 118Wartościowość 120Ocenialność 121Dobry (mały) rozmiar 121Testowalność 122
Wymagania niefunkcjonalne 122Historyjki pozyskiwania wiedzy 123Zbieranie historyjek 124
Warsztaty pisania historyjek 125Mapa historyjek 125
Zakończenie 127
Kup książkę Poleć książkę
12 Spis treści
Rozdział 6 Rejestr produktu 129
Wprowadzenie 129Elementy rejestru produktu 129Cechy dobrego rejestru produktu 131
Odpowiedni stopień uszczegoacutełowienia 131Emergencja 132Przypisanie ocen 132Przypisanie priorytetoacutew 133
Pielęgnacja 134Czym jest pielęgnacja 134Kto pielęgnuje rejestr 135Kiedy odbywa się pielęgnacja 136
Definicja gotowości 138Zarządzanie przepływem 139
Zarządzanie przepływem wersji dystrybucyjnych 139Zarządzanie przepływem sprintu 140
Jakie rejestry produktu i w jakiej liczbie 142Czym jest produkt 142Duże produkty mdash hierarchiczne rejestry produktu 143Wiele zespołoacutew mdash jeden rejestr produktu 144Jeden zespoacuteł mdash wiele produktoacutew 145
Zakończenie 146
Rozdział 7 Nadawanie ocen i prędkość 147
Wprowadzenie 147Co i kiedy oceniamy 148
Ocena elementoacutew z rejestru portfela 149Ocena elementoacutew z rejestru produktu 149Ocena zadań 150
Koncepcje nadawania ocen elementom rejestru produktu 150Nadawanie ocen jako zespoacuteł 151Oceny nie są zobowiązaniem 152Dokładność kontra precyzja 153Ocenianie w sposoacuteb względny 153
Jednostki służące do oceny 155Punkty historyjkowe 155Idealne dni 156
Planowanie pokerowe 156Skala ocen 157Zasady gry 158Zalety 160
Czym jest prędkość 160Obliczanie przedziału prędkości 161Prognozowanie prędkości 162Wpływanie na prędkość 163Nieprawidłowe korzystanie z prędkości 164Zakończenie 165
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
SPIS TREŚCI
Słowo wstępne mdash Mike Cohn 21
Słowo wstępne mdash Ron Jeffries 23
Wstęp 25
Rozdział 1 Wprowadzenie 33
Czym jest Scrum 34Początki Scruma 35Dlaczego Scrum 36Wyniki Genomiki 37Czy Scrum może pomoacutec Tobie 37
Domena złożona 40Domena skomplikowana 40Domena prostoty 40Domena chaosu 41Nieporządek 41Praca sterowana przerwaniami 41
Zakończenie 42
CZĘŚĆ I POJĘCIA PODSTAWOWE
Rozdział 2 Środowisko Scrum 45
Wprowadzenie 45Role w Scrumie 46
Właściciel produktu 47Mistrz młyna 47Zespoacuteł deweloperski 48
Aktywności i artefakty Scruma 48Rejestr produktu 50Sprinty 52Planowanie sprintu 52
Kup książkę Poleć książkę
10 Spis treści
Wykonanie sprintu 54Codzienne działania scrumowe 55Koniec pracy 56Przegląd sprintu 57Retrospekcja sprintu 58
Zakończenie 59
Rozdział 3 Zasady zwinności 61
Wprowadzenie 61Zmienność i niepewność 64
Wspieraj pomocną zmienność 64Stosuj budowanie w sposoacuteb iteracyjny i przyrostowy 65Wykorzystuj zmienność poprzez inspekcję adaptację i przejrzystość 66Redukuj wszystkie formy niepewności jednocześnie 67
Przewidywanie i adaptacja 68Pozostaw wszystkie opcje otwarte 69Pogoacutedź się z tym że nie wszystko da się przewidzieć z goacutery 69Preferuj podejście odkrywcze i adaptacyjne 71Wspieraj zmiany w sposoacuteb uzasadniony ekonomicznie 72Roacutewnoważ pracę ktoacuterą można przewidzieć z goacutery z pracą adaptacyjną w samą porę 74
Wiedza potwierdzona 75Potwierdź bezzwłocznie istotne założenia 76Wykorzystuj roacuteżne konkurencyjne ścieżki pozyskiwania wiedzy 76Organizuj przepływ pracy umożliwiający szybkie pozyskiwanie informacji zwrotnej 77
Praca cząstkowa 78Stosuj rozsądne ekonomicznie rozmiary zapotrzebowania 79Zroacuteb rozpoznanie inwentarza i zarządzaj nim w celu dobrego przepływu 80Skup się na pracy czekającej na realizację a nie na pracownikach czekających na pracę 81Bierz pod uwagę koszt opoacuteźnień 83
Postęp 84Zaadaptuj się w oparciu o napływające informacje i zmodyfikuj plan 84Mierz postęp poprzez ocenę działających rzeczy 84Skup się na dostarczaniu wartości 85
Wydajność 86Działaj szybko ale nie w pośpiechu 86Buduj z zachowaniem jakości 86Stosuj minimalną potrzebną ilość ceremonii 87
Zakończenie 88
Rozdział 4 Sprinty 91
Wprowadzenie 91Ograniczenie czasowe 92
Ograniczenie pracy cząstkowej 92Wymuszanie priorytetoacutew 93Demonstrowanie postępoacutew 93Unikanie zbędnego perfekcjonizmu 93Motywowanie domykania 94Poprawianie przewidywalności 94
Kup książkę Poleć książkę
Spis treści 11
Kroacutetki okres trwania 94Łatwość planowania 94Szybka informacja zwrotna 95Lepsze zyski z inwestycji 95Ograniczanie błędoacutew 95Rozbudzenie podekscytowania 95Regularne punkty kontrolne 96
Stały czas trwania 97Zalety taktowania 97Uproszczone planowanie 98
Niezmienność celu 98Czym jest cel sprintu 99Wzajemne zobowiązanie 99Zmiana kontra doprecyzowanie 99Konsekwencje zmiany 100Pragmatyczność 101Zakończenie przed czasem 102
Definicja ukończenia 103Czym jest definicja ukończenia 104Definicja ukończenia może ewoluować 106Definicja ukończenia kontra kryteria akceptacji 107Ukończony kontra rzeczywiście ukończony 107
Zakończenie 108
Rozdział 5 Wymagania i historyjki użytkownika 109
Wprowadzenie 109Wykorzystanie dyskusji 111Stopniowe udoskonalanie 112Czym są historyjki użytkownika 113
Karta 113Rozmowa 114Potwierdzenie 115
Poziom szczegoacutełowości 116Inwestuj w dobre historyjki 118
Niezależność 118Negocjowalność 118Wartościowość 120Ocenialność 121Dobry (mały) rozmiar 121Testowalność 122
Wymagania niefunkcjonalne 122Historyjki pozyskiwania wiedzy 123Zbieranie historyjek 124
Warsztaty pisania historyjek 125Mapa historyjek 125
Zakończenie 127
Kup książkę Poleć książkę
12 Spis treści
Rozdział 6 Rejestr produktu 129
Wprowadzenie 129Elementy rejestru produktu 129Cechy dobrego rejestru produktu 131
Odpowiedni stopień uszczegoacutełowienia 131Emergencja 132Przypisanie ocen 132Przypisanie priorytetoacutew 133
Pielęgnacja 134Czym jest pielęgnacja 134Kto pielęgnuje rejestr 135Kiedy odbywa się pielęgnacja 136
Definicja gotowości 138Zarządzanie przepływem 139
Zarządzanie przepływem wersji dystrybucyjnych 139Zarządzanie przepływem sprintu 140
Jakie rejestry produktu i w jakiej liczbie 142Czym jest produkt 142Duże produkty mdash hierarchiczne rejestry produktu 143Wiele zespołoacutew mdash jeden rejestr produktu 144Jeden zespoacuteł mdash wiele produktoacutew 145
Zakończenie 146
Rozdział 7 Nadawanie ocen i prędkość 147
Wprowadzenie 147Co i kiedy oceniamy 148
Ocena elementoacutew z rejestru portfela 149Ocena elementoacutew z rejestru produktu 149Ocena zadań 150
Koncepcje nadawania ocen elementom rejestru produktu 150Nadawanie ocen jako zespoacuteł 151Oceny nie są zobowiązaniem 152Dokładność kontra precyzja 153Ocenianie w sposoacuteb względny 153
Jednostki służące do oceny 155Punkty historyjkowe 155Idealne dni 156
Planowanie pokerowe 156Skala ocen 157Zasady gry 158Zalety 160
Czym jest prędkość 160Obliczanie przedziału prędkości 161Prognozowanie prędkości 162Wpływanie na prędkość 163Nieprawidłowe korzystanie z prędkości 164Zakończenie 165
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
10 Spis treści
Wykonanie sprintu 54Codzienne działania scrumowe 55Koniec pracy 56Przegląd sprintu 57Retrospekcja sprintu 58
Zakończenie 59
Rozdział 3 Zasady zwinności 61
Wprowadzenie 61Zmienność i niepewność 64
Wspieraj pomocną zmienność 64Stosuj budowanie w sposoacuteb iteracyjny i przyrostowy 65Wykorzystuj zmienność poprzez inspekcję adaptację i przejrzystość 66Redukuj wszystkie formy niepewności jednocześnie 67
Przewidywanie i adaptacja 68Pozostaw wszystkie opcje otwarte 69Pogoacutedź się z tym że nie wszystko da się przewidzieć z goacutery 69Preferuj podejście odkrywcze i adaptacyjne 71Wspieraj zmiany w sposoacuteb uzasadniony ekonomicznie 72Roacutewnoważ pracę ktoacuterą można przewidzieć z goacutery z pracą adaptacyjną w samą porę 74
Wiedza potwierdzona 75Potwierdź bezzwłocznie istotne założenia 76Wykorzystuj roacuteżne konkurencyjne ścieżki pozyskiwania wiedzy 76Organizuj przepływ pracy umożliwiający szybkie pozyskiwanie informacji zwrotnej 77
Praca cząstkowa 78Stosuj rozsądne ekonomicznie rozmiary zapotrzebowania 79Zroacuteb rozpoznanie inwentarza i zarządzaj nim w celu dobrego przepływu 80Skup się na pracy czekającej na realizację a nie na pracownikach czekających na pracę 81Bierz pod uwagę koszt opoacuteźnień 83
Postęp 84Zaadaptuj się w oparciu o napływające informacje i zmodyfikuj plan 84Mierz postęp poprzez ocenę działających rzeczy 84Skup się na dostarczaniu wartości 85
Wydajność 86Działaj szybko ale nie w pośpiechu 86Buduj z zachowaniem jakości 86Stosuj minimalną potrzebną ilość ceremonii 87
Zakończenie 88
Rozdział 4 Sprinty 91
Wprowadzenie 91Ograniczenie czasowe 92
Ograniczenie pracy cząstkowej 92Wymuszanie priorytetoacutew 93Demonstrowanie postępoacutew 93Unikanie zbędnego perfekcjonizmu 93Motywowanie domykania 94Poprawianie przewidywalności 94
Kup książkę Poleć książkę
Spis treści 11
Kroacutetki okres trwania 94Łatwość planowania 94Szybka informacja zwrotna 95Lepsze zyski z inwestycji 95Ograniczanie błędoacutew 95Rozbudzenie podekscytowania 95Regularne punkty kontrolne 96
Stały czas trwania 97Zalety taktowania 97Uproszczone planowanie 98
Niezmienność celu 98Czym jest cel sprintu 99Wzajemne zobowiązanie 99Zmiana kontra doprecyzowanie 99Konsekwencje zmiany 100Pragmatyczność 101Zakończenie przed czasem 102
Definicja ukończenia 103Czym jest definicja ukończenia 104Definicja ukończenia może ewoluować 106Definicja ukończenia kontra kryteria akceptacji 107Ukończony kontra rzeczywiście ukończony 107
Zakończenie 108
Rozdział 5 Wymagania i historyjki użytkownika 109
Wprowadzenie 109Wykorzystanie dyskusji 111Stopniowe udoskonalanie 112Czym są historyjki użytkownika 113
Karta 113Rozmowa 114Potwierdzenie 115
Poziom szczegoacutełowości 116Inwestuj w dobre historyjki 118
Niezależność 118Negocjowalność 118Wartościowość 120Ocenialność 121Dobry (mały) rozmiar 121Testowalność 122
Wymagania niefunkcjonalne 122Historyjki pozyskiwania wiedzy 123Zbieranie historyjek 124
Warsztaty pisania historyjek 125Mapa historyjek 125
Zakończenie 127
Kup książkę Poleć książkę
12 Spis treści
Rozdział 6 Rejestr produktu 129
Wprowadzenie 129Elementy rejestru produktu 129Cechy dobrego rejestru produktu 131
Odpowiedni stopień uszczegoacutełowienia 131Emergencja 132Przypisanie ocen 132Przypisanie priorytetoacutew 133
Pielęgnacja 134Czym jest pielęgnacja 134Kto pielęgnuje rejestr 135Kiedy odbywa się pielęgnacja 136
Definicja gotowości 138Zarządzanie przepływem 139
Zarządzanie przepływem wersji dystrybucyjnych 139Zarządzanie przepływem sprintu 140
Jakie rejestry produktu i w jakiej liczbie 142Czym jest produkt 142Duże produkty mdash hierarchiczne rejestry produktu 143Wiele zespołoacutew mdash jeden rejestr produktu 144Jeden zespoacuteł mdash wiele produktoacutew 145
Zakończenie 146
Rozdział 7 Nadawanie ocen i prędkość 147
Wprowadzenie 147Co i kiedy oceniamy 148
Ocena elementoacutew z rejestru portfela 149Ocena elementoacutew z rejestru produktu 149Ocena zadań 150
Koncepcje nadawania ocen elementom rejestru produktu 150Nadawanie ocen jako zespoacuteł 151Oceny nie są zobowiązaniem 152Dokładność kontra precyzja 153Ocenianie w sposoacuteb względny 153
Jednostki służące do oceny 155Punkty historyjkowe 155Idealne dni 156
Planowanie pokerowe 156Skala ocen 157Zasady gry 158Zalety 160
Czym jest prędkość 160Obliczanie przedziału prędkości 161Prognozowanie prędkości 162Wpływanie na prędkość 163Nieprawidłowe korzystanie z prędkości 164Zakończenie 165
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Spis treści 11
Kroacutetki okres trwania 94Łatwość planowania 94Szybka informacja zwrotna 95Lepsze zyski z inwestycji 95Ograniczanie błędoacutew 95Rozbudzenie podekscytowania 95Regularne punkty kontrolne 96
Stały czas trwania 97Zalety taktowania 97Uproszczone planowanie 98
Niezmienność celu 98Czym jest cel sprintu 99Wzajemne zobowiązanie 99Zmiana kontra doprecyzowanie 99Konsekwencje zmiany 100Pragmatyczność 101Zakończenie przed czasem 102
Definicja ukończenia 103Czym jest definicja ukończenia 104Definicja ukończenia może ewoluować 106Definicja ukończenia kontra kryteria akceptacji 107Ukończony kontra rzeczywiście ukończony 107
Zakończenie 108
Rozdział 5 Wymagania i historyjki użytkownika 109
Wprowadzenie 109Wykorzystanie dyskusji 111Stopniowe udoskonalanie 112Czym są historyjki użytkownika 113
Karta 113Rozmowa 114Potwierdzenie 115
Poziom szczegoacutełowości 116Inwestuj w dobre historyjki 118
Niezależność 118Negocjowalność 118Wartościowość 120Ocenialność 121Dobry (mały) rozmiar 121Testowalność 122
Wymagania niefunkcjonalne 122Historyjki pozyskiwania wiedzy 123Zbieranie historyjek 124
Warsztaty pisania historyjek 125Mapa historyjek 125
Zakończenie 127
Kup książkę Poleć książkę
12 Spis treści
Rozdział 6 Rejestr produktu 129
Wprowadzenie 129Elementy rejestru produktu 129Cechy dobrego rejestru produktu 131
Odpowiedni stopień uszczegoacutełowienia 131Emergencja 132Przypisanie ocen 132Przypisanie priorytetoacutew 133
Pielęgnacja 134Czym jest pielęgnacja 134Kto pielęgnuje rejestr 135Kiedy odbywa się pielęgnacja 136
Definicja gotowości 138Zarządzanie przepływem 139
Zarządzanie przepływem wersji dystrybucyjnych 139Zarządzanie przepływem sprintu 140
Jakie rejestry produktu i w jakiej liczbie 142Czym jest produkt 142Duże produkty mdash hierarchiczne rejestry produktu 143Wiele zespołoacutew mdash jeden rejestr produktu 144Jeden zespoacuteł mdash wiele produktoacutew 145
Zakończenie 146
Rozdział 7 Nadawanie ocen i prędkość 147
Wprowadzenie 147Co i kiedy oceniamy 148
Ocena elementoacutew z rejestru portfela 149Ocena elementoacutew z rejestru produktu 149Ocena zadań 150
Koncepcje nadawania ocen elementom rejestru produktu 150Nadawanie ocen jako zespoacuteł 151Oceny nie są zobowiązaniem 152Dokładność kontra precyzja 153Ocenianie w sposoacuteb względny 153
Jednostki służące do oceny 155Punkty historyjkowe 155Idealne dni 156
Planowanie pokerowe 156Skala ocen 157Zasady gry 158Zalety 160
Czym jest prędkość 160Obliczanie przedziału prędkości 161Prognozowanie prędkości 162Wpływanie na prędkość 163Nieprawidłowe korzystanie z prędkości 164Zakończenie 165
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
12 Spis treści
Rozdział 6 Rejestr produktu 129
Wprowadzenie 129Elementy rejestru produktu 129Cechy dobrego rejestru produktu 131
Odpowiedni stopień uszczegoacutełowienia 131Emergencja 132Przypisanie ocen 132Przypisanie priorytetoacutew 133
Pielęgnacja 134Czym jest pielęgnacja 134Kto pielęgnuje rejestr 135Kiedy odbywa się pielęgnacja 136
Definicja gotowości 138Zarządzanie przepływem 139
Zarządzanie przepływem wersji dystrybucyjnych 139Zarządzanie przepływem sprintu 140
Jakie rejestry produktu i w jakiej liczbie 142Czym jest produkt 142Duże produkty mdash hierarchiczne rejestry produktu 143Wiele zespołoacutew mdash jeden rejestr produktu 144Jeden zespoacuteł mdash wiele produktoacutew 145
Zakończenie 146
Rozdział 7 Nadawanie ocen i prędkość 147
Wprowadzenie 147Co i kiedy oceniamy 148
Ocena elementoacutew z rejestru portfela 149Ocena elementoacutew z rejestru produktu 149Ocena zadań 150
Koncepcje nadawania ocen elementom rejestru produktu 150Nadawanie ocen jako zespoacuteł 151Oceny nie są zobowiązaniem 152Dokładność kontra precyzja 153Ocenianie w sposoacuteb względny 153
Jednostki służące do oceny 155Punkty historyjkowe 155Idealne dni 156
Planowanie pokerowe 156Skala ocen 157Zasady gry 158Zalety 160
Czym jest prędkość 160Obliczanie przedziału prędkości 161Prognozowanie prędkości 162Wpływanie na prędkość 163Nieprawidłowe korzystanie z prędkości 164Zakończenie 165
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Spis treści 13
Rozdział 8 Dług techniczny 167
Wprowadzenie 167Konsekwencje długu technicznego 169
Nieprzewidywalny punkt przegięcia 169Wzrost czasu potrzebnego do dostarczenia wersji 169Znaczna liczba błędoacutew 170Rosnące koszty produkcji i wsparcia 170Umieranie produktu 171Spadek przewidywalności 171Działanie poniżej optymalnej wydajności 172Powszechna frustracja 172Spadek satysfakcji klientoacutew 172
Przyczyny długu technicznego 172Presja nieprzekroczenia terminu końcowego 173Proacuteby sztucznego zwiększenia prędkości 173Mit Rezygnacja z testowania zwiększa prędkość 174Dług narasta na długu już istniejącym 174
Długiem technicznym trzeba zarządzać 176Zarządzanie przyrostem długu technicznego 177
Stosowanie dobrych praktyk technicznych 177Solidna definicja ukończenia 178Prawidłowe rozumienie ekonomii długu technicznego 178
Ujawnianie długu technicznego 180Ujawniaj dług techniczny na poziomie biznesowym 181Ujawniaj dług techniczny na poziomie inżynieryjnym 182
Obsługa długu technicznego 183Nie każdy dług techniczny powinien być spłacany 184Zastosuj metodę skauta (obsłuż dług kiedy go napotkasz) 186Spłacaj dług techniczny przyrostowo 186Spłacaj w pierwszej kolejności dług o najwyższych odsetkach 187Spłacaj dług techniczny podczas wykonywania pracy mającej wartość dla klienta 187
Zakończenie 189
CZĘŚĆ II ROLE
Rozdział 9 Właściciel produktu 193
Wprowadzenie 193Głoacutewne obowiązki 194
Zarządzanie ekonomią 195Udział w planowaniu 196Pielęgnacja rejestru produktu 197Definiowanie kryterioacutew akceptacji i weryfikowanie iż zostały one spełnione 197Wspoacutełpraca z zespołem deweloperskim 198Wspoacutełpraca z interesariuszami 199
Cechy i umiejętności 199Umiejętności domenowe 199Umiejętności interpersonalne 200
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
14 Spis treści
Podejmowanie decyzji 201Odpowiedzialność 201
Dzień z życia właściciela produktu 202Kto powinien być właścicielem produktu 204
Wewnętrzne prace deweloperskie 205Komercyjne prace deweloperskie 205Outsourcing 207Tworzenie komponentoacutew 208
Właściciel produktu pełniący inne role 208Zespoacuteł właścicieli produktu 209
Pełnomocnicy właściciela produktu 210Szef właścicieli produktu 211
Zakończenie 211
Rozdział 10 Mistrz młyna 213
Wprowadzenie 213Głoacutewne obowiązki 213
Trener 213Lider służby 214Autorytet w dziedzinie procesu 215Ochrona przed zakłoacuteceniami 215Usuwanie przeszkoacuted 215Agent zmiany 215
Cechy i umiejętności 216Wiedza 216Umiejętność stawiania pytań 216Cierpliwość 217Wspoacutełpraca 217Proaktywność 217Przezroczystość 217
Dzień z życia 218Wypełnianie roli 219
Kto powinien być mistrzem młyna 219Czy mistrz młyna to zajęcie na pełny etat 220Połączenie roli mistrza młyna z innymi rolami 220
Zakończenie 221
Rozdział 11 Zespoacuteł deweloperski 223
Wprowadzenie 223Zespoły o specyficznej roli 223Głoacutewne obowiązki 224
Wykonanie sprintu 225Codzienna inspekcja i adaptacja 225Pielęgnacja rejestru produktu 225Planowanie sprintu 225Inspekcja i adaptacja produktu oraz procesu 225
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Spis treści 15
Cechy i umiejętności 226Samoorganizacja 226Roacuteżnorodny pod względem umiejętności i samowystarczalny 228Umiejętności typu T 229Postawa muszkieteroacutew 231Komunikacja szerokopasmowa 232Przezroczysta komunikacja 233Prawidłowy rozmiar 233Skupienie i poświęcenie 234Praca w podtrzymywalnym tempie 236Długotrwałość 237
Zakończenie 238
Rozdział 12 Budowa zespołoacutew scrumowych 239
Wprowadzenie 239Zespoły budujące cechy kontra zespoły budujące komponenty 240Koordynacja wielu zespołoacutew 244
Scrum scrumoacutew 244Pociąg wersji dystrybucyjnych 246
Zakończenie 249
Rozdział 13 Menedżerowie 251
Wprowadzenie 251Kształtowanie zespołoacutew 253
Definiowanie granic 253Dostarczanie jasnego motywującego celu 254Formowanie zespołoacutew 254Zmiana kompozycji zespołoacutew 255Upoważnianie zespołoacutew 256
Pielęgnacja zespołoacutew 257Motywowanie ludzi 257Rozwijanie umiejętności 257Przewodzenie obszarowi funkcjonalności 258Utrzymywanie integralności zespołu 258
Przystosowywanie i adaptowanie środowiska 259Promowanie wartości zwinności 259Usuwanie przeszkoacuted organizacyjnych 259Przystosowywanie grup wewnętrznych 260Przystosowywanie partneroacutew 260
Zarządzanie przepływem wytwarzania wartości 261Spoglądanie z perspektywy systemu 261Zarządzanie ekonomią 261Obserwacja pomiaroacutew i raportowanie 261
Menedżerowie projektoacutew 262Obowiązki menedżera projektu w zespole scrumowym 263Pozostanie przy roli niezależnego menedżera projektu 264
Zakończenie 267
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
16 Spis treści
CZĘŚĆ III PLANOWANIE
Rozdział 14 Zasady planowania w Scrumie 273
Wprowadzenie 273Nie zakładaj że z goacutery uda Ci się wszystko dobrze zaplanować 273Planowanie z goacutery powinno być pomocne ale nie przesadne 274Pozostaw opcje planowania otwartymi do ostatniego rozsądnego momentu 275Skup się bardziej na adaptowaniu i ponownym planowaniu
niż na trzymaniu się już ustalonego planu 275Prawidłowo zarządzaj inwentarzem pracy 277Preferuj mniejsze i częstsze wersje dystrybucyjne 278Planuj szybki proces nauki i wykonywanie zwrotoacutew kiedy jest to niezbędne 280Zakończenie 280
Rozdział 15 Planowanie wielopoziomowe 281
Wprowadzenie 281Planowanie portfela 283Planowanie produktu (tworzenie wizji produktu) 283
Wizja 283Rejestr produktu wysokiego poziomu 283Mapa drogowa produktu 284
Planowanie wersji dystrybucyjnej 285Planowanie sprintu 287Planowanie codzienne 287Zakończenie 288
Rozdział 16 Planowanie portfela 291
Wprowadzenie 291Czas 291Uczestnicy 292Proces 292
Strategie tworzenia harmonogramu 293Optymalizacja pod względem zyskoacutew z cyklu życia 294Wyznaczanie kosztu opoacuteźnienia 295Staraj się obliczać dokładnie ale nie precyzyjnie 298
Strategie napływu 299Zastosowanie filtra ekonomicznego 299Roacutewnoważ tempo przybywania z tempem ubywania 300Szybko wykorzystuj nadarzające się okazje 302Planuj mniejsze i częstsze wersje dystrybucyjne 303
Strategie odpływu 304Skup się na pracy czekającej na realizację nie na pracownikach czekających na pracę 304Ustal limit pracy cząstkowej 305Zaczekaj na cały zespoacuteł 306
Strategie aktywności 306Użycie ekonomii końcowej 307
Zakończenie 308
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Spis treści 17
Rozdział 17 Planowanie produktu (tworzenie wizji produktu) 309
Wprowadzenie 309Czas 310Uczestnicy 310Proces 312
Przykład ZODC 312Tworzenie wizji 313Tworzenie rejestru produktu wysokiego poziomu 316Definiowanie mapy drogowej produktu 317Inne aktywności 319Przeprowadzanie wizji w sposoacuteb ekonomiczny 321
Celuj w realistyczny poziom ufności 322Skup się na kroacutetkim horyzoncie 323Działaj szybko 324Płać za wiedzę potwierdzoną 324Stosuj przyrostowe lub prowizoryczne finansowanie 325Ucz się szybko i wykonuj zwroty (czyli stosuj strategię bdquoszybkiej porażkirdquo) 326
Zakończenie 327
Rozdział 18 Planowanie wersji dystrybucyjnej (planowanie długoterminowe) 329
Wprowadzenie 329Czas 330Uczestnicy 331Proces 331
Ograniczenia wersji dystrybucyjnej 333Wszystko sztywne 333Ustalony zakres i czas 334Ustalony zakres 335Ustalony czas 335Zmienna jakość 336Uaktualnianie ograniczeń 336
Pielęgnacja rejestru produktu 337Definiowanie minimalnego zestawu cech kwalifikującego do dystrybucji 338Tworzenie mapy sprintoacutew (umieszczanie elementoacutew rejestru produktu w slotach) 339Planowanie wersji z ustaloną datą 341Planowanie wersji z ustalonym zakresem 345Obliczanie kosztoacutew 347Komunikacja 348
Komunikowanie postępoacutew dla wersji z ustalonym zakresem 348Komunikowanie postępoacutew dla wersji z ustaloną datą 350
Zakończenie 351
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
18 Spis treści
CZĘŚĆ IV WYKONYWANIE SPRINTOacuteW
Rozdział 19 Planowanie sprintu 355
Wprowadzenie 355Czas 355Uczestnicy 356Proces 356
Podejścia do planowania sprintu 358Dwuczęściowe planowanie sprintu 358Jednoczęściowe planowanie sprintu 359
Określanie pojemności 360Czym jest pojemność 360Pojemność w punktach historyjkowych 361Pojemność w roboczogodzinach 362
Wybieranie elementoacutew rejestru produktu 363Nabieranie pewności 364Doprecyzowywanie celu sprintu 365Ostateczne ustalenie zobowiązania 365Zakończenie 366
Rozdział 20 Wykonanie sprintu 367
Wprowadzenie 367Czas 367Uczestnicy 367Proces 368
Planowanie wykonania sprintu 369Zarządzanie przepływem 369
Praca roacutewnoległa i działanie w kopcu 370Ktoacuterą pracę rozpocząć 372Jak zorganizować pracę nad zadaniami 372Jaką pracę trzeba zrealizować 373Kto wykonuje pracę 373
Codzienne działania scrumowe 374Realizacja zadań mdash praktyki techniczne 374Komunikowanie 375
Tablica zadań 375Wykres spalania sprintu 376Wykres rozpalania sprintu 379
Zakończenie 380
Rozdział 21 Przegląd sprintu 381
Wprowadzenie 381Uczestnicy 382Przygotowanie 383
Wskazanie kogo zaprosić na przegląd 384Ustalenie harmonogramu 384
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Spis treści 19
Potwierdzenie że praca w sprincie została zrealizowana 385Przygotowanie do demonstracji 386Wyznaczenie kto co robi 386
Podejście 386Podsumowanie 387Demonstracja 388Dyskusja 388Adaptacja 389
Problemy przeglądu sprintu 389Zatwierdzanie 390Mała frekwencja 390Duże projekty 391
Zakończenie 391
Rozdział 22 Retrospekcja sprintu 393
Wprowadzenie 393Uczestnicy 395Przygotowania 396
Zdefiniowanie punktu skupienia retrospekcji 396Wyboacuter ćwiczeń 397Zebranie obiektywnych danych 397Dopasowanie szczegoacutełoacutew retrospekcji 398
Podejście 398Przygotowanie odpowiedniej atmosfery 400Ustalenie wspoacutelnego kontekstu 400Identyfikacja spostrzeżeń 403Wskazanie działań 405Zakończenie retrospekcji 408
Wprowadzenie zmian w życie 408Problemy retrospekcji sprintu 408Zakończenie 411
Rozdział 23 Co dalej 413
Nie ma stanu końcowego 413Odkryj swoją własną ścieżkę 414Stosowanie najlepszych praktyk 414Używanie Scruma do odkrywania ścieżki naprzoacuted 415Naprzoacuted 416
Słowniczek 419
Bibliografia 443
Skorowidz 447
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
20 Spis treści
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Rozdział 4
SPRINTY
Scrum organizuje pracę w iteracje lub cykle mdash o długości nie przekraczającej miesiąca mdash nazywanesprintami Ten rozdział opisuje dokładniej czym są sprinty Poruszę tutaj kilka kluczowych cha-rakterystyk sprintoacutew są ograniczone czasowo mdash mają jednakowy kroacutetki okres trwania mają swoacutejcel ktoacutery nie powinien być zmieniany po rozpoczęciu i muszą osiągnąć stan końca zgodnie zezdefiniowanymi przez zespoacuteł kryteriami końca pracy
Wprowadzenie
Sprinty stanowią szkielet środowiska Scrum (patrz rysunek 41)Na rysunku 41 sprint jest reprezentowany przez dużą szarą strzałkę rozciągającą się od rejestru
produktu poprzez pętlę wykonania sprintu i otaczającą członkoacutew zespołu scrumowego Pozostałeartefakty i aktywności scrumowe pokazane są w punktach odpowiadających chwili ich wystąpieniaw czasie trwania sprintu Wykonanie sprintu jest często mylone ze sprintem jako takim ale w rze-czywistości jest to tylko jedna z aktywności mających miejsce w trakcie trwania sprintu razemz planowaniem sprintu przeglądem sprintu i retrospekcją sprintu
Wszystkie sprinty są ograniczone czasowo mdash mają ustalony czas rozpoczęcia i zakończeniaPonadto sprinty muszą być kroacutetkie mdash mogą trwać od tygodnia do miesiąca Ich długość powinnabyć jednakowa chociaż pod pewnymi warunkami dopuszcza się wyjątki W trakcie trwania sprintunie wolno zmieniać jego celu pod względem zakresu prac lub składu zespołu Wynikiem sprintu jestpotencjalnie zdatny do wdrożenia przyrost produktu spełniający kryteria ukończenia prac ustalonewcześniej przez zespoacuteł scrumowy
Mimo że każda organizacja implementuje Scrum na swoacutej sposoacuteb powyższe kryteria z kilkomawyjątkami opisanymi dalej powinny obowiązywać w każdym sprincie i zespole scrumowymPrzyjrzyjmy się im z bliska aby zrozumieć dlaczego mają właśnie taką a nie inną postać
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
92 Rozdział 4 Sprinty
RYSUNEK 41 Sprinty mdash szkielet środowiska Scrum
Ograniczenie czasowe
Sprinty bazują na koncepcji ograniczenia czasowego mdash techniki zarządzania czasem ktoacutera po-zwala panować nad wydajnością i zakresem pracy Każdy sprint odbywa się w przedziale czasumającym ustaloną datę rozpoczęcia i zakończenia nazywanym pudełkiem czasu (ang timebox)W tym czasie oczekuje się od zespołu pracy w podtrzymywalnym tempie pozwalającej na ukoń-czenie zadań będących w zgodzie z celem sprintu
Ograniczenie czasowe jest istotne z kilku powodoacutew (patrz rysunek 42)
Ograniczenie pracy cząstkowej
Ograniczenie czasowe jest techniką ograniczenia ilości pracy cząstkowej Praca cząstkowa repre-zentuje inwentarz pracy rozpoczętej ale jeszcze nieukończonej Nieumiejętne zarządzanie tą pracąmoże mieć poważne konsekwencje finansowe Sprint (ograniczenie czasowe) zapewnia nałożenielimitu na pracę cząstkową ponieważ zespoacuteł zaplanuje wykonanie tylko tych elementoacutew ktoacutereuważa za wykonalne w trakcie jego trwania
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Ograniczenie czasowe 93
RYSUNEK 42 Zalety ograniczeń czasowych
Wymuszanie priorytetoacutew
Ograniczenie czasowe zmusza nas do ustalenia priorytetoacutew i wykonania małej ilości pracy ktoacuterama największe znaczenie To skupia naszą uwagę na wyprodukowaniu czegoś wartościowegow szybkim tempie
Demonstrowanie postępoacutew
Ograniczenie czasowe pomaga nam zademonstrować postępy w pracach poprzez kończenie i we-ryfikowanie istotnych elementoacutew wytwarzanego produktu do ustalonego dnia (zakończenia sprintu)Tego typu działanie redukuje ryzyko nieefektywnej organizacji pracy poprzez unikanie nierealnychform raportowania postępoacutew w pracy takich jak przestrzeganie planu Ograniczenie czasowe po-maga roacutewnież wykazywać postęp w pracach nad dużymi cechami ktoacuterych ukończenie wymagawięcej niż jednego zakresu czasu Każdy sprint daje poczucie pewności iż osiągnięto mierzalny war-tościowy postęp w pracach a także pozwala interesariuszom dowiedzieć się co jeszcze trzeba zrobićaby dostarczyć gotową cechę produktu
Unikanie zbędnego perfekcjonizmu
Ograniczenie czasowe zapobiega zbędnemu perfekcjonizmowi Każdemu z nas zdarzyło się nierazspędzić zbyt wiele czasu proacutebując zrobić coś w sposoacuteb bdquoperfekcyjnyrdquo lub doprowadzić pewną ce-chę do stanu idealnego w sytuacji gdy stan dobry był w pełni satysfakcjonujący Wprowadzającustaloną datę zakończenia sprintu czyli moment kiedy musi zostać dostarczone dobre rozwiązanieograniczenie czasowe wymusza zakończenie prac ktoacutere teoretycznie można byłoby prowadzićw nieskończoność
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
94 Rozdział 4 Sprinty
Motywowanie domykania
Ograniczenie czasowe zachęca do domykania prac Ze swojego doświadczenia mogę powiedzieć żepraca jest faktycznie wykonywana kiedy zespoły znają datę zakończenia zadania Świadomośćże koniec sprintu niesie ze sobą nieprzekraczalny termin rozliczenia zachęca członkoacutew zespołudo włożenia wysiłku w wykonanie pracy na czas Bez takiej daty znika poczucie pilności zakończe-nia pracy
Poprawianie przewidywalności
Ograniczenie czasowe poprawia przewidywalność Chociaż nie jesteśmy w stanie przewidzieć pre-cyzyjnie jaką ilość pracy uda nam się wykonać w ciągu najbliższego roku bez wątpienia powinniśmyw miarę dokładnie przewidzieć zadania ktoacutere będziemy w stanie zrealizować w ciągu nadchodzącegokroacutetkiego sprintu
Kroacutetki okres trwania
Kroacutetkie okresy trwania sprintoacutew przynoszą wiele korzyści (patrz rysunek 43)
RYSUNEK 43 Zalety kroacutetkich sprintoacutew
Łatwość planowania
Kroacutetkie sprinty ułatwiają planowanie O wiele prościej jest zaplanować pracę na okres kilku tygo-dni niż na przykład na sześć miesięcy Poza tym planowanie w tak kroacutetkim horyzoncie czasowymwymaga o wiele mniej wysiłku i jest o wiele bardziej zgodne z rzeczywistością w poroacutewnaniu z pla-nowaniem długoterminowym
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Kroacutetki okres trwania 95
Szybka informacja zwrotna
Sprinty o kroacutetkim czasie trwania pozwalają na szybkie uzyskanie informacji zwrotnej Podczas każde-go sprintu tworzymy działające oprogramowanie mdash możemy dokonać jego inspekcji a następnie ad-aptacji tego co budujemy i jak to budujemy W ten sposoacuteb możemy szybciej wyeliminować ścieżkiniekorzystne dla produktu lub samego procesu produkcji zanim podejmiemy błędną decyzję ktoacuteraotworzy drogę do kolejnych szkodliwych działań Szybka informacja zwrotna pozwala nam roacutewnieżna wcześniejsze odkrywanie i wykorzystywanie pojawiających się kroacutetkoterminowych okazji
Lepsze zyski z inwestycji
Sprinty o kroacutetkim czasie trwania nie tylko poprawiają ekonomię poprzez szybką informację zwrotnąale roacutewnież pozwalają na wcześniejsze i bardziej regularne wypuszczanie kolejnych wersji opro-gramowania Dzięki temu mamy okazję zacząć wcześniej generować zysk poprawiając całkowityzwrot z inwestycji (przykład znajdziesz w rozdziale 14)
Ograniczanie błędoacutew
Sprinty o kroacutetkim czasie trwania ograniczają błędy Jak bardzo możemy się pomylić w ciągu dwoacutechtygodni Nawet jeśli całkowicie bdquopołożyliśmyrdquo sprint straciliśmy jedynie dwa tygodnie Nacisk nasprinty o kroacutetkim czasie trwania jest tak ważny ponieważ pozwala na częstą koordynację i uzyskiwanieinformacji zwrotnych W ten sposoacuteb nawet jeśli jesteśmy w błędzie jest to na szczęście mały błąd
Rozbudzenie podekscytowania
Kroacutetkie sprinty mogą pomoacutec w rozbudzeniu podekscytowania Cechą natury ludzkiej jest spadekzainteresowania nagrodą i wynikająca z tego ekscytacja wraz z upływem czasu (patrz rysunek 44)
RYSUNEK 44 Podekscytowanie w funkcji czasu
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
96 Rozdział 4 Sprinty
Jeżeli pracujemy nad projektem o bardzo długim czasie trwania nie tylko jest większe prawdo-podobieństwo porażki ale roacutewnież zwiększone ryzyko utraty entuzjazmu do ponoszenia dalszychwysiłkoacutew (Kiedy pracowałem w IBM takie zjawiska określaliśmy mianem projektoacutew w stylu bdquoza-gotuj oceanrdquo ponieważ trwały one naprawdę bardzo długo a ich ukończenie mdash o ile było możliwemdash wymagało wielkiego wysiłku poroacutewnywalnego z proacutebą zagotowania oceanu) Nie widząc postę-poacutew lub też perspektywy końca na horyzoncie ludzie zaczynają tracić zainteresowanie Pod koniecsą gotowi zapłacić komuś za możliwość przejścia do innego produktu
Sprinty o kroacutetkim czasie trwania podtrzymują ekscytację uczestnikoacutew dzięki nieustannemu do-starczaniu działających rzeczy Zadowolenie płynące z pojawiających się wcześniej i regularniedziałających przyrostoacutew produktu rozbudza nasze zainteresowanie i pragnienie kontynuacji pracynad celem końcowym
Regularne punkty kontrolne
Kroacutetkie sprinty dostarczają wielu użytecznych punktoacutew kontrolnych (patrz rysunek 45)
RYSUNEK 45 Poroacutewnanie punktoacutew kontrolnych
Jednym z cennych aspektoacutew projektoacutew sekwencyjnych są dobrze zdefiniowane kamienie miloweDają one menedżerom narzędzie w postaci zdefiniowanych punktoacutew kontrolnych w trakcie cyklu życiaprojektu ktoacutere zazwyczaj służą do podjęcia decyzji o kontynuacji lub zaprzestaniu finansowaniakolejnej fazy projektu Chociaż potencjalnie użyteczne z punktu widzenia nadzoru kamienie milowenie odzwierciedlają prawdziwego stanu wartości dla klienta (o czym pisałem w rozdziale 3)
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Stały czas trwania 97
Scrum daje menedżerom interesariuszom właścicielom produktu i innym uczestnikom o wielewięcej punktoacutew kontrolnych w poroacutewnaniu z ilością oferowaną przez projekty sekwencyjne Istotnypunkt kontrolny (przegląd sprintu) pojawia się pod koniec każdego sprintu Pozwala on każdemuna podjęcie decyzji w oparciu o demonstrowane działające cechy produktu Ludzie radzą sobie lepiejw złożonym środowisku kiedy podczas punktoacutew kontrolnych mają możliwość bardziej interakcyjnejinspekcji i adaptacji
Stały czas trwania
Zgodnie z zasadami zespoacuteł powinien wybrać stały rozmiar sprintoacutew dla konkretnego projektu i niezmieniać go o ile nie istnieje ważny powoacuted ku temu Ważne powody to między innymi
Rozważanie przez Ciebie przejścia ze sprintoacutew 4-tygodniowych na 2-tygodniowe w celuczęstszego otrzymywania informacji zwrotnej Przed podjęciem ostatecznej decyzji chceszwykonać kilka sprintoacutew 2-tygodniowych na proacutebę
Coroczny okres urlopowy lub okres kończący rok finansowy powodują że bardziej praktycznejest wykonywanie 3-tygodniowych sprintoacutew zamiast zwyczajowych 2-tygodniowych
Produkt ma zostać wdrożony w ciągu tygodnia zatem wykonywanie dwutygodniowegosprintu byłoby marnotrawstwem
Fakt iż zespoacuteł nie jest w stanie wykonać całej pracy w ciągu aktualnie obowiązującej długościsprintu nie jest przekonującym powodem do zwiększenia długości sprintoacutew Podobnie niedopusz-czalne jest lobbowanie na rzecz przedłużenia sprintu po dotarciu do ostatniego dnia i przekonaniusię że zabrakło czasu na wykonanie całej pracy Są to symptomy złego funkcjonowania oraz okazjena poprawienie procesu ale nie powody usprawiedliwiające wydłużanie sprintoacutew
Zatem zgodnie z zasadami jeśli zespoacuteł zgodzi się na wykonywanie sprintoacutew dwutygodniowychwszystkie sprinty powinny trwać dokładnie tyle czasu Z praktycznych względoacutew większość zespołoacutew(chociaż nie wszystkie) definiuje dwa tygodnie jako dziesięć dni roboczych Jeśli w trakcie sprintupojawia się dzień wolny od pracy lub jednodniowe szkolenie liczba dni roboczych sprintu zostajezmniejszona ale bez wpływu na fizyczny czas jego trwania
Stosowanie sprintoacutew o tej samej długości przynosi dodatkowe zalety wynikające z taktowaniaoraz upraszcza planowanie
Zalety taktowania
Sprinty o takiej samej długości zapewniają takt mdash regularny przewidywalny rytm lub też pulsscrumowego wysiłku deweloperskiego Stabilny zdrowy takt pozwala zespołowi i organizacji nawzajemne przyswojenie reguł występowania poszczegoacutelnych zdarzeń zapewniających szybki a jed-nocześnie możliwy do kształtowania przepływ wartości biznesowej Z własnego doświadczenia mogępowiedzieć że regularny takt sprintoacutew pozwala ludziom bdquowejść w tematrdquo bdquobyć przy piłcerdquo bdquowpaśćw rutynęrdquo Uważam że dzieje się tak ponieważ regularny takt przekształca mało ciekawe chociażniezbędne działania w nawyk niewymagający poświęcania aktywnej uwagi i ten sposoacuteb pozwalaskupić siłę umysłu na pracy przynoszącej radość i wartość dodaną
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
98 Rozdział 4 Sprinty
Kroacutetki takt sprintowy ma tendencję do niwelowania intensywności wysiłku W przeciwieństwiedo tradycyjnego sekwencyjnego projektu podczas ktoacuterego obserwujemy szybki wzrost intensyw-ności prac w fazach poacuteźniejszych profile intensywności prac w kolejnych sprintach są podobne dosiebie Takt sprintoacutew pozwala zespołom na pracę w podtrzymywalnym tempie mdash będę o tym pisałw rozdziale 11
Wykonywanie sprintoacutew z regularnym taktem znacząco obniża narzut pracy koordynacyjnejMając sprinty o ustalonej długości możemy przewidzieć planowanie przegląd i retrospekcję dla wielusprintoacutew jednocześnie Dzięki temu że wszyscy wiedzą kiedy będą miały miejsce te aktywnościw znacznym stopniu redukujemy obowiązki niezbędne do zaplanowania dużej ilości sprintoacutew
Przykładowo jeżeli w ciągu roku wysiłku deweloperskiego wykonujemy sprinty dwutygodniowemożemy wysłać powtarzające się przez 26 iteracji zaproszenie na przegląd sprintu do wszystkichuczestnikoacutew Wyobraź sobie ile dodatkowej pracy musielibyśmy wykonać synchronizując spotkaniadla wszystkich interesariuszy (zakładając oczywiście że znaleźlibyśmy czas odpowiadający wszystkimistotnym interesariuszom mającym swoje kalendarze wypełnione na wiele tygodni w przoacuted) w sytu-acji kiedy pozwolilibyśmy na sprinty o roacuteżnej długości
I w końcu jeżeli nad projektem pracuje wiele zespołoacutew o zbliżonym takcie sprintowym możli-we jest synchronizowanie pracy między nimi (bardziej szczegoacutełowe omoacutewienie tego tematu znaj-dziesz w rozdziale 12)
Uproszczone planowanie
Ujednolicony czas trwania sprintoacutew upraszcza aktywności związane z planowaniem Kiedy wszystkiesprinty mają taką samą długość (uwzględniając wahania wynikające z dni wolnych od pracy) zespoacutełzyskuje komfort pod względem ilości pracy (prędkości) jaką może wykonać podczas typowegosprintu Prędkość jest zazwyczaj wyznaczana w odniesieniu do sprintoacutew W przypadku sprintoacutewo zmiennej długości nie możemy powiedzieć że posiadamy znormalizowaną jednostkę pomiaruZdanie bdquoZespoacuteł ma przeciętną prędkość 20 punktoacutew na sprintrdquo byłoby pozbawione sensu
Wyznaczenie prędkości zespołu pracującego ze zmienną długością sprintoacutew jest możliwe alewymaga bardziej skomplikowanych obliczeń Trzymanie się jednakowej długości sprintoacutew uprasz-cza wyliczanie prędkości w oparciu o dane historyczne zespołu
Uproszczeniu ulegają roacutewnież inne działania matematyczne związane z planowaniem Na przy-kład jeżeli pracujemy nad dystrybucją z ustaloną datą i nasze sprinty mają jednakową długośćwyznaczenie liczby sprintoacutew w ramach tej wersji sprowadza się do prostych obliczeń kalendarzo-wych (znamy datę dzisiejszą datę dystrybucji i wiemy że wszystkie sprinty mają taką samą długość)Gdyby sprinty mogły mieć roacuteżną długość wyznaczenie liczby sprintoacutew nie byłoby już takie proste(musielibyśmy przeprowadzić wczesne wyczerpujące planowanie) mdash wprowadziłoby niepotrzebnynarzut pracy a wyniki nie dawałyby takiej samej pewności jak te wynikające ze stałej długości sprintoacutew
Niezmienność celu
Istotna zasada Scruma moacutewi że po ustaleniu celu sprintu i rozpoczęciu jego wykonania nie wolnowprowadzać zmian ktoacutere mogą fizycznie wpłynąć na jego cel
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Niezmienność celu 99
Czym jest cel sprintu
Każdy sprint można podsumować poprzez jego cel ktoacutery opisuje motywy biznesowe i wartośćsprintu Zazwyczaj cel sprintu jest wyrażony w jasny sposoacuteb i skupia się na pojedynczej rzeczy naprzykład jest to
Pomoc w stworzeniu raportu wstępnego Załadowanie i sprawdzenie danych mapy Ameryki Poacutełnocnej Zademonstrowanie zdolności do wysłania wiadomości tekstowej poprzez zintegrowany
stos oprogramowania sterownika i sprzętu
Czasami cel sprintu może być wyrażony w formie więcej niż jednego faktu na przykład bdquoUru-chomić drukowanie na podstawowym poziomie i dodać obsługę wyszukiwania po dacierdquo
Podczas planowania sprintu zespoacuteł deweloperski powinien pomagać w ustaleniu i doprecyzo-waniu celu a następnie kierując się tym celem wskazać elementy z rejestru produktu ktoacutere mogązostać zrealizowane do końca sprintu (więcej na ten temat w rozdziale 19) Wybrane elementydziennika produktu posłużą do dalszego uszczegoacutełowienia celu sprintu
Wzajemne zobowiązanie
Cel sprintu jest podstawą do wzajemnego zobowiązania pomiędzy zespołem i właścicielem pro-duktu Zespoacuteł zobowiązuje się zrealizować cel przed końcem sprintu natomiast właściciel produktuzobowiązuje się nie zmieniać celu sprintu w trakcie jego trwania
To wzajemne zobowiązanie pokazuje wagę sprintoacutew w roacutewnoważeniu wymogu adaptacji biz-nesu do zachodzących zmian z potrzebą skoncentrowania się zespołu na zadaniu i kreatywnegowykorzystania swojego talentu do stworzenia wartości podczas ustalonej kroacutetkiej iteracji Definiująccel sprintu i przestrzegając go zespoacuteł scrumowy jest w stanie skupić się na dobrze zdefiniowanymwartościowym zadaniu
Zmiana kontra doprecyzowanie
Chociaż nie wolno fizycznie zmieniać celu sprintu dopuszcza się jego doprecyzowanie Pozwolę sobierozroacuteżnić te dwa pojęcia
Czym cechuje się zmiana Zmiana to każda modyfikacja zakresu pracy lub zasoboacutew mogącadoprowadzić do ekonomicznie istotnego marnotrawstwa szkodliwej przerwy w przepływie pracy lubznaczącego zwiększenia ilości prac w sprincie Typowe zmiany to dodanie lub usunięcie ze sprintuelementu rejestru produktu lub istotna zmiana zakresu elementu z rejestru produktu ktoacutery jest jużw sprincie Oto przykład ilustrujący zmianę
Właściciel produktu bdquoKiedy moacutewiłem że musimy mieć możliwość przeszukiwania policyjnejbazy danych pod kątem młodocianych przestępcoacutew nie miałem na myśli tylko wyszukiwaniapo imieniu i nazwisku Chciałem roacutewnież mieć możliwość wyszukiwania w oparciu o zdjęciatatuaży podejrzanychrdquo
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
100 Rozdział 4 Sprinty
Dodanie możliwości przeszukiwania w oparciu o zdjęcia wymaga najprawdopodobniej zdecy-dowanie więcej wysiłku i niemal na pewno wpłynie na zdolność zespołu do dotrzymania zobowią-zania dostarczenia funkcjonalności wyszukiwania po imieniu i nazwisku W takiej sytuacji właścicielproduktu powinien rozważyć stworzenie nowego elementu (historyjki) obejmującego wyszukiwa-nie w oparciu o zdjęcia i dodanie go do rejestru produktu z zamiarem skierowania do realizacjiw kolejnym sprincie
Czym cechuje się doprecyzowanie Doprecyzowanie to dodatkowe szczegoacuteły dostarczone ze-społowi w trakcie sprintu pomagające mu w osiągnięciu celu sprintu Na początku sprintu elementyrejestru produktu mogą nie być dostatecznie uszczegoacutełowione (będzie o tym mowa w rozdziale 5)Stąd zupełnie zrozumiałe jest że zespoacuteł będzie zadawał pytania wyjaśniające w trakcie sprintua właściciel produktu będzie na nie odpowiadał Doprecyzowanie ilustruje poniższy przykład
Zespoacuteł deweloperski bdquoKiedy moacutewiłeś że znalezione rekordy z bazy danych młodocianychprzestępcoacutew powinny zostać wyświetlone w formie listy miałeś na myśli jakiś konkretnyporządek tej listyrdquo
Właściciel produktu bdquoTak posortujcie ją alfabetycznie po nazwiskurdquo
Zespoacuteł deweloperski bdquoDobrze tak zrobimyrdquo
W ten sposoacuteb właściciel produktu może i powinien dostarczać wyjaśnień w trakcie sprintu
Konsekwencje zmiany
Może wydawać się że zasada zabraniająca zmiany celu sprintu stoi w sprzeczności z fundamentalnązasadą Scruma moacutewiącą że powinniśmy być otwarci na zmiany Jesteśmy otwarci na zmiany alechcemy to robić w sposoacuteb zroacutewnoważony i mający sens ekonomiczny
Konsekwencje ekonomiczne zmiany rosną razem z poziomem naszego zaangażowania w pracęwynikającą ze zmian (patrz rysunek 46)
RYSUNEK 46 Łączny poziom inwestycji w kolejnych fazach
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Niezmienność celu 101
Inwestujemy w elementy rejestru produktu aby przygotować je do realizacji w sprincie Kiedyjednak sprint już wystartuje nasz poziom inwestycji w te elementy wzrasta (ponieważ poświęcili-śmy nasz czas w trakcie planowania sprintu na dyskusje i rozpisanie zadań) Jeśli chcemy wprowa-dzić zmianę po planowaniu sprintu nie tylko narażamy naszą inwestycję w planowanie ale roacutewnieżwprowadzamy dodatkowe koszty wynikające z konieczności ponownego rozplanowania zmianw trakcie sprintu
Dodatkowo kiedy już rozpoczniemy wykonanie sprintu nasza inwestycja w pracę zwiększa sięjeszcze bardziej w miarę przechodzenia elementoacutew rejestru produktu przez kolejne fazy od przy-gotowania (praca czekająca na wykonanie) przez realizację (wykonanie pracy) do gotowości (za-kończenie pracy)
Załoacuteżmy że chcemy wymienić cechę X będącą częścią aktualnego zobowiązania sprintowegona cechę Y ktoacutera nie została wzięta do sprintu Nawet jeśli nie zaczęliśmy jeszcze pracować nad ce-chą X ponosimy stratę związaną z planowaniem Dodatkowo cecha X może być powiązana z in-nymi cechami w sprincie zatem dotycząca jej zmiana może wypłynąć roacutewnież na inne elementysprintu i odbić się na całym celu sprintu
Jeżeli prace nad cechą X zostały już rozpoczęte to oproacutecz wspomnianych już strat możemywprowadzić inne formy marnotrawstwa Na przykład trzeba będzie porzucić wyniki zrealizowanychjuż częściowo prac nad cechą X bez możliwości skorzystania z nich w przyszłości (nie zgadzamy sięna umieszczenie w potencjalnie gotowym do wdrożenia przyroście produktu pracy ukończonejtylko w części)
Oczywiście jeśli cecha X jest już gotowa1 możemy potencjalnie stracić niemal pełną wartośćponiesionych na nią inwestycji Całe to marnotrawstwo kumuluje się
Bezpośredni wpływ marnotrawstwa na ekonomię przedsięwzięcia to jedna rzecz ale mogą roacutew-nież wystąpić straty pośrednie wynikające z potencjalnego pogorszenia motywacji i zaufania zespołuw obliczu zmiany Kiedy właściciel produktu zobowiązuje się nie zmieniać celu a następnie łamie tozobowiązanie zespoacuteł w naturalny sposoacuteb traci motywację co z całą pewnością wpłynie na chęć pilnejpracy i ukończenia pozostałych elementoacutew rejestru produktu znajdujących się w sprincie Złamaniezobowiązania może narazić na szwank zaufanie w zespole scrumowym mdash zespoacuteł deweloperski prze-stanie ufać w wolę właściciela produktu do przestrzegania przyjętych przez niego zobowiązań
Pragmatyczność
Zakaz wprowadzania zmian w sprincie jest tylko zasadą nie przepisem prawa Zespoacuteł scrumowymusi być pragmatyczny
Co zrobić jeśli warunki biznesowe ulegną takim modyfikacjom że zmiana celu sprintowegobędzie nieunikniona Załoacuteżmy że w trakcie trwania sprintu nasz konkurent wprowadził na rynekswoacutej nowy produkt Po jego analizie dochodzimy do wniosku że musimy zmienić cel ustalony dlanaszego bieżącego sprintu ponieważ to co teraz robimy nagle straciło sens ekonomiczny w obli-czu osiągnięć konkurencji Czy powinniśmy ślepo przestrzegać zasady zabraniającej zmiany celusprintu i jego zawartości Prawdopodobnie nie
1 Zapewne chodzi tutaj o sytuację w ktoacuterej dana cecha została wykonana ale nie przeszła jeszcze przez końcowe
fazy produkcji (testy automatyczne weryfikacja manualna) i nie może zostać zintegrowana z resztą pro-duktu mdash przyp tłum
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
102 Rozdział 4 Sprinty
Jeśli jeden z systemoacutew produkcyjnych w firmie ulegnie poważnej awarii a jedynymi osobamizdolnymi do jego naprawy są ludzie w naszym zespole to czy powinniśmy przerwać bieżący sprintaby dokonać naprawy Czy też odpowiemy że będziemy w stanie naprawić ten system na samympoczątku następnego sprintu Prawdopodobnie nie
W ostatecznym rozrachunku bycie pragmatycznym przebija zasadę zakazu zmiany celu Musi-my działać w sposoacuteb uzasadniony ekonomicznie Każdy członek zespołu scrumowego powinien torozumieć Jeśli zmienimy zawartość bieżącego sprintu odnotujemy negatywne skutki ekonomicznektoacutere opisałem wcześniej Jeśli jednak konsekwencje ekonomiczne zmiany będą o wiele mniejszeod skutkoacutew jej odroczenia przeprowadzenie zmiany można uznać za mądrą decyzję biznesowąNie należy modyfikować sprintu jeśli wprowadzenie zmiany i powstrzymanie się od niej nie niosąze sobą konsekwencji finansowych
Co do motywacji i zaufania zespołu mdash z własnego doświadczenia mogę powiedzieć że kiedywłaściciel produktu prowadzi z zespołem szczerą skupioną na ekonomii dyskusję dotyczącą ko-nieczności zmiany większość potrafi zrozumieć konieczność podjęcia takich działań a motywacjai zaufanie zostają podtrzymane
Zakończenie przed czasem
Jeśli cel sprintu stanie się zupełnie nieaktualny zespoacuteł scrumowy powinien uznać kontynuację bie-żącego sprintu za pozbawioną sensu i zaproponować właścicielowi produktu jego przedwczesnezakończenie Zakończenie sprintu przed czasem kończy wszelką pracę a zespoacuteł scrumowy organi-zuje spotkanie w celu przeprowadzenia retrospekcji Następnie odbywa się planowanie kolejnegosprintu z nowym celem i innym zestawem elementoacutew rejestru produktu
Sprint przerywany jest w obliczu ważnego wydarzenia o znaczeniu ekonomicznym Może to byćdziałanie konkurencji ktoacutere fizycznie zmienia sposoacuteb finansowania sprintu lub całego produktu
Chociaż właściciel produktu ma prawo przerwać każdy sprint z własnego doświadczenia wiem żeopcja ta jest bardzo rzadko wykorzystywana Często zespoacuteł scrumowy podejmuje działania o wielemniejszego kalibru aby dostosować się do nowych warunkoacutew Pamiętaj że sprinty są kroacutetkie i staty-stycznie rzecz biorąc zespoacuteł będzie gdzieś w środku sprintu kiedy wystąpi zdarzenie wymuszającezmianę W takiej sytuacji do zakończenia sprintu pozostanie mniej więcej tydzień czasu i z ekono-micznego punktu widzenia przerwanie sprintu może być mniej opłacalne od pozostania na kursiedo zakończenia W wielu przypadkach można podjąć mniej dramatyczne decyzje na przykład abyznaleźć czas na naprawienie krytycznego problemu produkcyjnego wystarczy porzucić pracę nadjedną z cech zamiast przerywać cały sprint
Należy zdać sobie sprawę iż przerywanie sprintu przed czasem ma nie tylko negatywny wpływna morale ale jest roacutewnież poważnym zakłoacuteceniem w szybkim i elastycznym procesie powstawanianowych cech negującym wiele z zalet sprintoacutew o jednakowej długości o ktoacuterych moacutewiłem wcześniejPrzerwanie sprintu powinno być środkiem ostatecznym
Jeżeli sprint zostanie przerwany zespoacuteł scrumowy będzie musiał określić długość kolejnegosprintu (patrz rysunek 47)
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Definicja ukończenia 103
RYSUNEK 47 Wyboacuter długości następnego sprintu po przerwaniu sprintu
Istnieją trzy sensowne możliwości
1 Pozostać przy oryginalnej długości sprintu To rozwiązanie pozwala na zachowaniesprintoacutew o jednakowej długości w całym procesie deweloperskim (oczywiście z wyjątkiemsprintu ktoacutery został przerwany) Jeżeli w produkcji bierze udział więcej zespołoacutewzachowanie oryginalnej długości sprintoacutew spowoduje rozsynchronizowanie jedyniezespołu scrumowego ktoacutery przerwał swoacutej sprint
2 Skroacutecić kolejny sprint tak aby jego data zakończenia pokryła się z datą zakończeniaprzerwanego sprintu Na przykład jeśli zespoacuteł scrumowy przerwał dwutygodniowy sprintpod koniec pierwszego tygodnia kolejny sprint będzie miał tylko tydzień i w ten sposoacutebzsynchronizuje zespoacuteł z jego oryginalnym taktem sprintowym
3 Przedłużyć kolejny sprint ponad rozmiar normalnego sprintu tak aby objął swoimzasięgiem czas sprintu przerwanego i czas pełnego sprintu W naszym poprzednimprzykładzie ponowne zsynchronizowanie z oryginalnym taktem sprintowym nastąpipo utworzeniu sprintu trzytygodniowego
Jeżeli w procesie produkcyjnym bierze udział więcej niż jeden zespoacuteł preferowane jest rozwią-zanie nr 2 lub 3 W celu trafnego wyboru jednej z powyższych opcji będziesz musiał rozważyć swoacutejkonkretny kontekst
Definicja ukończenia
W rozdziale 2 pisałem o tym że wynik każdego sprintu powinien być potencjalnie nadającym siędo wdrożenia przyrostem produktu Wspomniałem że bdquopotencjalnie nadający się do wdrożeniardquonie oznacza wcale że to co zostało zbudowane zostanie faktycznie wdrożone Wdrożenie jest de-cyzją biznesową często podejmowaną z zupełnie odmiennym taktem W niektoacuterych organizacjachwdrażanie co sprint może mieć rację bytu
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
104 Rozdział 4 Sprinty
Potencjalną zdolność do wdrożenia lepiej jest traktować jako stan pewności że to co zbudowa-liśmy w sprincie zostało faktycznie ukończone czyli nie pozostała do wykonania żadna istotnapraca (taka jak testowanie integracja itp) ktoacuterą należałoby wykonać przed wdrożeniem wynikoacutewsprintu gdybyśmy chcieli podjąć decyzję biznesową o wdrożeniu Ustalenie czy to co zostało wy-produkowane nadaje się do potencjalnego wdrożenia wymaga posiadania przez zespoacuteł scrumowydobrze zdefiniowanej i uzgodnionej definicji ukończenia
Czym jest definicja ukończenia
Koncepcyjnie definicja ukończenia to lista kontrolna roacuteżnych typoacutew pracy jakie zespoacuteł powinienzakończyć z powodzeniem zanim będzie moacutegł zadeklarować że wyniki pracy nadają się potencjal-nie do wdrożenia (patrz tabela 41)
TABELA 41 Przykładowa definicja listy kontrolnej definicji ukończenia
Definicja ukończenia
Weryfikacja projektu
Kodowanie
Kod został zrefaktoryzowany
Kod posiada format zgodny ze standardem
Umieszczono komentarze w kodzie
Kod został umieszczony w repozytorium
Kod został przejrzany
Aktualizacja dokumentacji
Testy
Wykonano testy jednostkowe
Wykonano testy integracyjne
Wykonano testy regresyjne
Wykonano testy na wszystkich obsługiwanych platformach
Przetestowano pod względem roacuteżnych wersji językowych
Zerowy stan znanych problemoacutew
Testy akceptacyjne
Rozwiązanie umieszczone na serwerach produkcyjnych
Faktyczna zawartość listy będzie zależeć od wielu zmiennych
Natury budowanego produktu Technologii używanych do budowy produktu Organizacji ktoacutera buduje produkt Aktualnych przeszkoacuted ograniczających możliwe rozwiązania
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Definicja ukończenia 105
W większości przypadkoacutew absolutne minimum definicji ukończenia powinno wyrażać się przezdostarczenie kompletnego fragmentu funkcjonalności mdash takiego ktoacutery został zaprojektowanyzbudowany zintegrowany przetestowany udokumentowany i zweryfikowany pod względem do-starczania faktycznej wartości dla klienta Skonstruowanie użytecznej listy kontrolnej wymaga po-dzielenia tych głoacutewnych zadań na bardziej szczegoacutełowe Co oznacza na przykład przetestowanieCzy chodzi o puszczenie testoacutew jednostkowych sprawdzenie całego systemu weryfikację na roacuteżnychplatformach czy też testowanie wersji językowych programu Prawdopodobnie do tej listy moacutegłbyśdołożyć jeszcze inne testy specyficzne dla Twojego produktu Czy wszystkie wymienione typy te-stowania zostały włączone do definicji ukończenia
Pamiętaj że jeśli nie przeprowadzasz istotnych testoacutew w każdym sprincie (na przykład testoacutewwydajnościowych) będziesz musiał wykonać je w innym czasie Czy utworzysz na końcu sprintpoświęcony wyłączenie testowaniu wydajności Jeśli zrobisz w ten sposoacuteb w sytuacji kiedy testo-wanie wydajności jest istotnym elementem bdquoukończeniardquo to tak naprawdę nie będziesz posiadałpotencjalnie nadających się do wdrożenia przyrostoacutew produktu co sprint Co gorsza jeżeli pod ko-niec okaże się jeszcze że wyniki tych testoacutew nie są zadowalające staniesz w obliczu poważnegoproblemu w końcowej fazie produkcji i będziesz musiał poświęcić sporo czasu i pieniędzy na jegonaprawienie mdash więcej w poroacutewnaniu z kosztem wykonywania testoacutew wydajnościowych wcześniej
Czasami testowanie może wymagać więcej czasu niż zajmuje sam sprint Jeżeli wynika to z ogrom-nej liczby testoacutew manualnych jakie trzeba przeprowadzać zespoacuteł musi zacząć je automatyzowaćtak aby można było dokończyć testowanie w ramach sprintu Jeżeli czas trwania testoacutew wynika z ichnatury trzeba zaakceptować fakt iż testowanie rozpocznie się w jednym sprincie a zakończy w ktoacute-rymś z kolejnych Mogę podać przykład trenowanej przeze mnie organizacji ktoacutera budowała urzą-dzenie składające się ze sprzętu sterownikoacutew i oprogramowania Jednym z ich standardowych testoacutewbył trwający 1500 godzin test wytrzymałościowy mdash w tym czasie urządzenie pracowało non stop w celusprawdzenia czy nie zawiedzie Takiego testu nie można przeprowadzić w trakcie dwutygodnio-wego sprintu zatem zespoacuteł scrumowy musiał zmodyfikować swoje kryteria ukończenia tak abymoacutec ogłosić zakończenie prac w sprincie mimo trwającego jeszcze testu 1500 godzin
Często jestem pytany bdquoCo zrobić jeśli ostatniego dnia sprintu ujawniony zostanie poważnybłąd Czy w takiej sytuacji można uznać element rejestru produktu za ukończonyrdquo Nie nie możnaA ponieważ zgodnie z zasadą nie przedłużamy sprintoacutew ponad zaplanowane ograniczenie czasowenie przedłużymy go roacutewnież o dzień lub dwa w tym przypadku żeby moacutec naprawić błąd w trwającymjeszcze sprincie Zamiast tego w zaplanowanym dniu zakończenia sprintu niekompletny elementrejestru produktu zostaje wyjęty z bieżącego sprintu i wstawiony do rejestru produktu w miejscuodpowiednim ze względu na jego priorytet wobec pozostałych elementoacutew rejestru To pozwoli najego potencjalne dokończenie w jednym z przyszłych sprintoacutew
Zespoły scrumowe muszą posiadać solidną definicję ukończenia prac taką ktoacutera pozwala naosiągnięcie wysokiego stopnia pewności że to co zostało zbudowane ma odpowiednią jakość i możezostać wdrożone Każde odstępstwo od tej zasady pozbawia organizację biznesowych możliwościwdrażania produktoacutew w stosownym do tego czasie i powoduje narastanie długu technicznego (o czymbędzie mowa w rozdziale 8)
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
106 Rozdział 4 Sprinty
Definicja ukończenia może ewoluować
Definicję ukończenia możesz traktować jako definicję stanu prac pod koniec sprintu Dla wielubardzo wydajnych zespołoacutew celem końcowym pracy jest umożliwienie jej potencjalnego wdrożeniai cel ten pozostaje względnie stały w trakcie całego procesu produkcyjnego
Na przykład kiedy byłem właścicielem produktu podczas przeprojektowywania witryny inter-netowej Scrum Alliance w 2007 roku wykonywaliśmy sprinty jednotygodniowe Końcowy stan na-szej definicji ukończenia można było podsumować stwierdzeniem bdquouruchomienie na serwerachprodukcyjnychrdquo Zespoacuteł i ja uznaliśmy że był to najbardziej rozsądny stan jaki chcieliśmy osiągnąćw każdym sprincie Zdefiniowaliśmy ten stan na początku prac deweloperskich i pozostał on nie-zmieniony przez cały czas mojego szefowania jako właściciela produktu
Wiele zespołoacutew zaczyna jednak od definicji ukończenia ktoacutera nie pozwala na stwierdzenie iżwszystkie cechy zostały wykonane w stopniu pozwalającym na ich publikację lub dystrybucję Dlaniektoacuterych pewne rzeczywiste przeszkody mogą uniemożliwić osiągnięcie takiego stanu na począt-ku procesu produkcyjnego mimo że jest to cel ktoacutery chcą ostatecznie osiągnąć Te zespoły (z ko-nieczności) będą zaczynać od uboższego stanu końcowego sprintu i stopniowo modyfikować swojekryteria ukończenia w miarę usuwania przeszkoacuted przez organizację
Miałem okazję odwiedzić organizację zajmującą się budowaniem systemoacutew informatycznychdla klinik medycznych Ich produkty instalowane są w szpitalach i magazynują roacuteżnorodne danemedyczne (w niektoacuterych przypadkach bezpośrednio z urządzeń wykonujących testy diagnostyczne)Zespoacuteł deweloperski pracujący nad danym testem klinicznym posiadał umiejętność zainstalowaniaoprogramowania w laboratorium i przekonania się że działa ono dobrze ze sprzętem mdash rzecz ktoacuterapowinna być przetestowana zanim produkt zostanie wdrożony Ponieważ jednak deweloperzy niemieli stałego dostępu do laboratorium na początku zespoacuteł nie włączył testoacutew klinicznych do swoichkryterioacutew ukończenia pracy Zamiast tego wyznaczył sprinty testoacutew klinicznych pod koniec pracnad każdą wersją dystrybucyjną
Podczas dyskusji dowiedziałem się że zaroacutewno ludzie z marketingu jak i członkowie zespołuscrumowego nie cierpieli tych testoacutew klinicznych przed wypuszczeniem wersji Nikt nie był w sta-nie przewidzieć ile sprintoacutew zajmie usunięcie wszystkich błędoacutew a produkt nie moacutegł zostać wy-puszczony zanim nie zostały usunięte wszystkie błędy Kiedy zastanawialiśmy się nad możliwymirozwiązaniami tego problemu w rozmowy włączył się dyrektor techniczny zadając pytanie bdquoCzygdybyście mieli dostęp do laboratorium klinicznego bylibyście w stanie wykonywać testy na miejscuw każdym sprincierdquo
Członkowie zespołu przedyskutowali jego pytanie i odpowiedzieli bdquoTak ale to oznacza że bę-dziemy realizować mniej cech w każdym sprincierdquo Dyrektor zgodził się usunąć przeszkodę udo-stępniając zespołowi laboratorium w lokalnej klinice uniwersyteckiej Właściciel produktu stwierdziłże wyprodukowanie mniejszej liczby cech w każdym sprincie jest rozsądnym kompromisem w za-mian za wiedzę że cechy ktoacutere zostały zbudowane przeszły roacutewnież testy kliniczne W tym mo-mencie zespoacuteł moacutegł zmodyfikować swoją definicję ukończenia osiągając faktyczny stan bdquoprzyrostunadającego się potencjalnie do dystrybucjirdquo co dało wszystkim zainteresowanym osobom większepoczucie pewności odnośnie do pracy realizowanej w każdym sprincie
Zespoacuteł może napotykać przeszkody ktoacuterych nie da się usunąć bdquoz marszurdquo Wiadomo wtedy żedefinicja ukończenia będzie musiała ewoluować w trakcie procesu produkcyjnego Dobrym przy-kładem takiej sytuacji jest wytwarzanie produktu na ktoacutery składa się sprzęt i oprogramowanie
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Definicja ukończenia 107
Widziałem wiele przypadkoacutew zastosowania Scruma do takiej produkcji i często słyszałem od ludzipracujących nad oprogramowaniem bdquoSprzęt jest zawsze spoacuteźnionyrdquo W sytuacjach takich jak tazespoacuteł budujący oprogramowanie bez sprzętu na ktoacuterym to oprogramowanie ma działać nie możetwierdzić że wyniki każdego sprintu nadają się potencjalnie do dystrybucji Może co najwyżejstwierdzić że spełnił kryteria gotowości bdquodla emulatorardquo ponieważ w pierwszych sprintach testywykonuje się w oparciu o emulator prawdziwego urządzenia Poacuteźniej kiedy dostępne będzie rze-czywiste urządzenie definicja ukończenia zostanie zmodyfikowana i zacznie odzwierciedlać stanpotencjalnej gotowości do wdrożenia lub przynajmniej coś bardziej zbliżonego do tego stanu
Definicja ukończenia kontra kryteria akceptacji
Definicja ukończenia dotyczy przyrostu produktu wytwarzanego w czasie sprintu Na przyrostproduktu składa się kilka z elementoacutew rejestru produktu zatem każdy taki element musi zostaćwykonany zgodnie z zadaniami przewidzianymi na liście kontrolnej definicji ukończenia
W rozdziale 5 piszę o tym że każdy element z rejestru produktu umieszczony w sprincie po-winien posiadać swoje warunki zadowolenia (kryteria akceptacji specyficzne dla tego elementu)zdefiniowane przez właściciela produktu Kryteria akceptacji będą ostatecznie weryfikowane przeztesty akceptacyjne ktoacutere właściciel produktu wykona aby sprawdzić czy gotowa funkcjonalnośćdziała zgodnie z oczekiwaniami Na przykład jeśli element rejestru produktu brzmi bdquoPozwolićklientowi na zakup przy użyciu karty kredytowejrdquo warunkiem zadowolenia może być bdquoDziałaz użyciem kart AmEx Visa i MasterCardrdquo Zatem każdy element z rejestru produktu będzie posia-dał swoje indywidualne kryteria akceptacji Te kryteria specyficzne dla elementu są dodatkiem niezastępstwem do kryterioacutew ukończenia wyznaczonych przez listę kontrolną definicji ukończeniaktoacutere obowiązują wszystkie elementy rejestru produktu
Element rejestru produktu można uznać za ukończony jedynie jeśli spełnione zostały zaroacutewnokryteria akceptacji specyficzne dla tego elementu (na przykład bdquodziała ze wszystkimi kartami kre-dytowymirdquo) jak i wszystkie punkty definicji ukończenia na poziomie sprintu (na przykład bdquouru-chomiono na serwerze produkcyjnymrdquo)
Jeżeli określanie elementoacutew rejestru produktu ktoacutere spełniły swoje kryteria akceptacji mianemukończonych jest mylące nazywaj je elementami skompletowanymi lub zaakceptowanymi
Ukończony kontra rzeczywiście ukończony
Niektoacutere zespoły przyjęły koncepcję bdquoukończeniardquo i bdquorzeczywistego ukończeniardquo Okazuje się żebdquorzeczywiście ukończonerdquo jest bardziej ukończone od jedynie bdquoukończonegordquo Zespoły nie powin-ny potrzebować tych dwoacutech roacuteżnych koncepcji ale muszę się przyznać że sam stosuję oba pojęciaw odniesieniu do mojego syna i jego pracy domowej Miałem zwyczaj pytać go czy już skończył(ukończył) swoją pracę domową a on odpowiadał że tak Potem podczas spotkania z jego wycho-wawczynią zapytałem bdquoCzy kiedy moacutej syn zwraca pracę jest ona zrobionardquo W odpowiedzi usły-szałem bdquoNie za bardzordquo
Po bardziej wnikliwej dyskusji z moim synem zrozumiałem że jego rozumienie ukończeniaoznaczało bdquoZrobiłem tyle pracy ile byłem w stanie wykonaćrdquo Od tego momentu zacząłem używaćokreślenia rzeczywistego ukończenia ktoacutere zgodnie z naszym obopoacutelnym porozumieniem ozna-czało bdquoukończone w takim stopniu aby nauczyciel nabrał przekonania że wykonałeś swoją pracęrdquo
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
108 Rozdział 4 Sprinty
Zespoły ktoacutere nie są przyzwyczajone do szybkiego dokańczania prac chętniej stosują kryte-rium rzeczywistego ukończenia jako podporę Dla nich istnieje wyraźne rozroacuteżnienie pomiędzyukończeniem (wykonaniem takiej ilości pracy jaką były w stanie zrealizować) a rzeczywistymukończeniem (wykonaniem takiej ilości pracy aby klienci nabrali przekonania że zadanie zostałofaktycznie zrealizowane) Zespoły ktoacutere rozumieją że mogą uznać prace za ukończone tylko wtedykiedy wykonana została cała praca zaspokajająca potrzeby klienta nie potrzebują dwoacutech stanoacutewDla nich praca ukończona oznacza pracę rzeczywiści ukończoną
Zakończenie
W tym rozdziale podkreśliłem kluczową rolę sprintoacutew w środowisku scrumowym Sprinty stano-wią szkielet Scruma z ktoacuterym związana jest większość aktywności i artefaktoacutew Sprinty są kroacutetkieograniczone czasowo i trwają jednakowo długo Zazwyczaj zdefiniowane są poprzez cel sprintuktoacutery może być modyfikowany tylko w przypadku ważnych przesłanek ekonomicznych Wynikiemsprintoacutew powinny być potencjalnie nadające się do wdrożenia przyrosty produktu wykonane we-dług uzgodnionej wcześniej definicji ukończenia W następnym rozdziale skupię się na danychwejściowych sprintu mdash wymaganiach mdash i ich najczęstszej formie mdash historyjkach użytkownika
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
SKOROWIDZ
A
adaptacja 67 68adaptowanie środowiska 259aktywności Scruma 48aktywność
planowaniaportfela 293sprintu 357wersji dystrybucyjnej 332
przeglądu sprintu 387retrospekcji sprintu 399wykonania sprintu 368
analiza marginalna 307artefakty Scruma 48autoryzacja 256
B
budowa zespołoacutew scrumowych 239budowanie w sposoacuteb
iteracyjny 65przyrostowy 65
burza moacutezgoacutew 125
C
całość przed kolejnym krokiem 79cechy
mistrza młyna 216obowiązkowe 317 323 338właściciela produktu 199 200zespołu deweloperskiego 226
cel sprintu 99doprecyzowanie 99zmiana 100
cel wersji dystrybucyjnej 318ceremonie 87charakterystyka sprintu 52ciągła dystrybucja 330codzienne działania scrumowe 55 374cykl życia produktu 84czarterowanie projektu 321czas trwania produkcji 148
D
DEEP 131definicja
gotowości 138 363ukończenia 104 106 178 385
definiowanie kryterioacutew 197demonstrowanie postępoacutew 93dług techniczny 23 167
celowy 183konsekwencje 169natywny 168nieunikniony 168obsługa 183odkryty 183przyczyny 172spłacanie 186strategiczny 168ujawnianie 180zarządzanie 176znany 183
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
448 Skorowidz
dokładność 153domena
chaosu 41prostoty 40skomplikowana 40złożona 40
doprecyzowanie celu sprintu 99dostarczanie wartości 85działanie
w kopcu 370w roju 371
E
ekonomiadługu technicznego 178na poziomie rejestru produktu 196na poziomie sprintoacutew 196na poziomie wersji dystrybucyjnej 195pojedynczej wersji dystrybucyjnej 279wielu wersji dystrybucyjnych 279
eksploracja 71elementy
rejestru produktu 51 129 131skompletowane 107
empiryczna kontrola nad procesem 67epos 116
F
filtrekonomiczny 203 299 322strategiczny 310
finansowanieprowizoryczne 325przyrostowe 325
funkcjonalności Patrz rejestr produktu
G
głosowanie kropkowe 405
H
harmonogramdla portfela 293 295przeglądu sprintu 384wypuszczania wersji dystrybucyjnych 329
hierarchia abstrakcji historyjek 117
hierarchiczne rejestry produktoacutew 144historyjki
pozyskiwania wiedzy 123rejestru produktu 110użytkownika 111 113
karta 113kryteria INVEST 118mały rozmiar 121negocjowalność 118niezależność 118ocena jakości 131ocenialność 121potwierdzenie 115poziom abstrakcji 116rozmowa 114testowalność 122wartościowość 120
I
idealne dni 52 156identyfikacja spostrzeżeń 403inflacja punktowa 165informacje potwierdzające 115inspekcja 67integracja modułoacutew i testowania 77integralność zespołu 258INVEST 118inwentarz 323iteracje 34
J
jakość produktu 86jednostki oceny
idealne dni 156punkty historyjkowe 155
K
kalendarz sprintoacutew 341kanban 41kandydat
na mistrza młyna 219na właściciela produktu 204
karty 113karty do planowania pokerowego 158klastry wspoacutełpracy 266
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Skorowidz 449
komunikacjaprzezroczysta 233szerokopasmowa 232
komunikowanie postępoacutew 348 350kontrola empiryczna procesu 67koordynacja zespołoacutew 244koszt
eksploracji 71opoacuteźnienia 83 295
obliczenia 296profile 297
pracy symultanicznej 235produkcji 170wielozadaniowości 370zmiany 72 74 171
kroacutetkie sprinty 94kryteria
akceptacji 107DEEP 131INVEST 118
kształtowanie zespołoacutew 253
L
limit pracy cząstkowej 305linia zdarzeń 401
Ł
łączenieroacutel 209 221zespołoacutew 243
M
mapadrogowa produktu 284 286 317historyjek 125sprintoacutew 339
menedżer projektuczas 263integracja 263jakość 263kierowanie koordynacją 267ryzyko 263zakres 263zaopatrzenie 263zespoacuteł 263
menedżer zasoboacutewdefiniowanie granic 253dostarczanie celu 254formowanie zespołoacutew 254motywowanie ludzi 257obserwacja pomiaroacutew 261promowanie wartości zwinności 259przewodzenie obszarowi funkcjonalności 258przystosowywanie grup wewnętrznych 260przystosowywanie partneroacutew 260raportowanie 261rozwijanie umiejętności 257upoważnianie zespołoacutew 256usuwanie przeszkoacuted organizacyjnych 259utrzymywanie integralności zespołu 258zarządzanie ekonomią 261zmiana składu zespołu 255
metodakanban 42skauta 186
mierzenie postępu 85miniproces kaskadowy 371mistrz młyna 47 213
agent zmiany 215autorytet w dziedzinie procesu 215chronienie przed zakłoacuteceniami 215cierpliwość 217mistrz służby 214proaktywność 217przezroczystość 217trenowanie 213umiejętność stawiania pytań 216usuwanie przeszkoacuted 215wiedza 216wspoacutełpraca 217
model procesu scrumowego 67moment podejmowania decyzji 69
N
nadawanie ocen 147 150najlepsze praktyki 414negocjowanie wymagań 109niepewność
klienta 68końca 67środkoacutew 67
niepotrzebne formalności 87niezmienność celu 98
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
450 Skorowidz
O
obiektywne dane 397obliczanie
kosztoacutew 347kosztu opoacuteźnienia 296przedziału prędkości 161
obniżanie kosztu zmiany 73obowiązki
menedżera projektu 263menedżera zasoboacutew 252mistrza młyna 213właściciela produktu 194zespołu deweloperskiego 224
obsługa długu technicznego 183obszary funkcjonalności 251ocena 147 152
elementoacutew portfela 149elementoacutew produktu 149elementoacutew rejestru 133 148 151zadań 150
ocenianieabsolutne 154względne 154
oczekiwaniena pracę 81na realizację 81
ograniczaniebłędoacutew 95pracy cząstkowej 92
ograniczenia wersji dystrybucyjnej 333ndash336ograniczenie czasowe
demonstrowanie postępoacutew 93motywowanie domykania prac 94poprawianie przewidywalności 94unikanie perfekcjonizmu 93wymuszanie priorytetoacutew 93zmniejszanie pracy cząstkowej 92
opcje planowania 275outsourcing 207
P
pełnomocnik właściciela produktu 210perfekcjonizm 93persona 125pętla
informacji zwrotnej 77zdobywania wiedzy 77
pielęgnacjaw procesach sekwencyjnych 136zespołoacutew 257rejestru produktu 134ndash138 197 225 337
pisanie historyjek 125planowanie
codzienne 287długoterminowe 329hierarchiczne 289pokerowe
karty 158reguły 159skala ocen 157
portfela 283 291ndash308optymalizacja 294proces 292strategie 294strategie aktywności 306strategie napływu 299strategie odpływu 304tworzenie harmonogramu 293uczestnicy 292
produktu 202 283 309finansowanie 325obszary wartości 314 315proces 312przedstawianie wizji 315szybkie działanie 324szybkie zdobywanie wiedzy 326uczestnicy 310wytyczne ekonomiczne 322
sprintu 52 99 287 355dane wejściowe 357doprecyzowywanie celu 365dwuczęściowe 358jednoczęściowe 359nabieranie pewności 364określanie pojemności 360ustalanie zobowiązania 365wybieranie elementoacutew rejestru 363
uproszczone 98w samą porę 275według kamieni milowych 330wersji dystrybucyjnej 285 303 329
komunikowanie postępoacutew 348 350lokalizacja cech obowiązkowych 344obliczanie kosztoacutew 347ograniczenia 333określanie zakresu cech 343
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Skorowidz 451
proces 331 356rejestr produktu 343uczestnicy 331 356z ustaloną datą 341z ustalonym zakresem 345
wielopoziomowe 281wykonania sprintu 369z goacutery na doacuteł 227 274
pociąg wersji dystrybucyjnych 246podejmowanie decyzji 69 72 325podział zasad na kategorie 63pojemność
w punktach historyjkowych 361w roboczogodzinach 362zespołu 360
porażka 124poroacutewnanie
oceniania 154punktoacutew kontrolnych 96unikania i akumulowania długu 180wysiłku z dokładnością 153zaangażowania klienta 198zadań menedżera 269zasad 89
postęp 84potwierdzenie ukończenia pracy 385poziom
ufności 322zaufania 312
poziomyautoryzacji 256planowania 281
pozyskiwanieinformacji zwrotnej 77wiedzy 76wymagań 70
pracaadaptacyjna 75cząstkowa 78 277 305 323czekająca na realizację 81 304nad cechą 372nad zadaniami 372planowana 75roacutewnoległa 370sterowana przerwaniami 41
prace deweloperskiekomercyjne 205wewnętrzne 205
pracownik czekający na pracę 81 304praktyki scrumowe 46precyzja 153prezentacja pracy zespołu 386prędkość 23 98 147 160
nieprawidłowe wykorzystanie 164prognozowanie 162sztuczne zwiększanie 173
priorytety elementoacutew rejestru 134problemy retrospekcji sprintu 409proces
sekwencyjny 62 65 112sterowany planem 64 66wodospadowy 62zdefiniowany 64zwinnej produkcji 34
produkcjaoprogramowania 64przemysłowa 64sterowana planem 61 74
produkt 142prognoza forecast 49prognozowanie
prędkości 162ekstremalne 375sterowane testami 174 372
przedwczesne zakończenie sprintu 102przedział prędkości 162przegląd sprintu 57 381
podejście 386problemy 389przygotowania 384uczestnicy 382
przejrzystość 67przepływ 139
jednoelementowy 80wytwarzania wartości 261
przeprowadzanie wizji 321przerywanie sprintu 102przewidywanie 68przyczyny długu technicznego 172punkt
przegięcia 169skupienia retrospekcji 396
punktyhistoryjkowe 52 155kontrolne 96
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
452 Skorowidz
R
refaktoryzacja kodu 169rejestr
portfela 149produktu 34 50 111 283 316
duże produkty 143elementy 129emergencja 132ocenianie elementu 132pielęgnacja 134podział elementoacutew 140priorytety elementoacutew 133stopień uszczegoacutełowienia 131strumień wymagań 141wiele produktoacutew 145wiele zespołoacutew 144
spostrzeżeń 407sprintu 53 148 364
retrospekcja sprintu 58 393podejście 398problemy 408przygotowania 396uczestnicy 395zakończenie 408
rolamenedżer projektu 262menedżer zasoboacutew 251mistrza młyna 46 213właściciel produktu 46 193użytkownik 125zespoacuteł deweloperski 46 223
rozmiarelementu rejestru 132historyjki 116kolejki 82wersji dystrybucyjnej 148zespołu 233
rozmiaryelementoacutew w rejestrze produktu 51zapotrzebowania 79
rozmowa 114rozpoznanie inwentarza 80ryzyko procesu deweloperskiego 76
S
samoorganizacja 226samospełniająca się przepowiednia 73
Scrum 25 34historyjki użytkownika 113oceny 147prędkość zespołu 147rejestr produktu 130scrumoacutew 244sprinty 91wymagania 109zasady planowania 273zasady zwinności 61
Scrummerfall 66sejsmograf emocji 402sekwencyjny procesie produkcyjny 112skala ceremonii 88skutki długu technicznego 170ndash172spadek
przewidywalności 171satysfakcji klientoacutew 172
spłacanie długu 184ndash187sposoby ujawniania długu 182sprint 52 91
definicja ukończenia 103kroacutetki okres trwania 94niezmienność celu 98ograniczenie czasowe 92stały czas trwania 97
stały rozmiar sprintoacutew 97stopień uszczegoacutełowienia wymagań 113stosowanie najlepszych praktyk 414strategia bdquoszybkiej porażkirdquo 326strategie
aktywności 306napływu 299odpływu 304planowania portfela 294
strumień wymagań 141synchronizacja zespołoacutew 246szacunek względny 52szczegoacuteły retrospekcji 398szef właścicieli produktu 211
Ś
ścieżka naprzoacuted 415środowisko
Cynefin 38Pragmatic Marketing 206Scrum 45 49 92
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Skorowidz 453
T
tablicahistoryjek 320zadań 375
takt sprintowy 98techniki programistyczne 374temat 117tempo
podtrzymywalne 236pracy 86przybywania 300ubywania 300
testowanie 174testy akceptacyjne 107tradycyjne formy produkcji 61tworzenie
komponentoacutew 208mapy historyjek 127mapy sprintoacutew 339rejestru produktu 316wizji produktu Patrz planowanie produktu
U
ujawnianie długu technicznego 180ukończenie prac 104 105 108ułatwianie planowania 94umiejętności
mistrza młyna 216właściciela produktu 199zespołu deweloperskiego 226
upraszczanie planowania 98ustalanie wspoacutelnego kontekstu 400ustalona data wersji 341ustalony zakres wersji 345uszczegoacuteławianie rejestru 131używanie Scruma 413
W
walidacja założeń 76warsztaty pisania historyjek 125warunki zadowolenia 107 115WaterScrum 66wersja dystrybucyjna 139 278 285 303
cechy obowiązkowe 317 338cel 318ograniczenia 333
wiedza potwierdzona 75wizja produktu 283właściciel produktu 47 50 193
definiowanie kryterioacutew 197odpowiedzialność 201pielęgnacja rejestru produktu 197podejmowanie decyzji 201udział w planowaniu 196umiejętności domenowe 199umiejętności interpersonalne 200wspoacutełpraca z interesariuszami 199wspoacutełpraca z zespołem 198zarządzanie ekonomią 195
wskazaniedziałań 405spostrzeżeń 405
wskaźniki wymagań 110 111wyboacuter
ćwiczeń 397działań 406zadań do realizacji 373
wydajność 86jakość produktu 86niepotrzebne formalności 87tempo pracy 86
wykonanie sprintu 54 367komunikowanie 375praktyki techniczne 374proces 368uczestnicy 367zarządzanie przepływem 369
wykorzystanie zasoboacutew 82wykorzystywanie okazji 302wykres
Gantta 276rozpalania 349 351 379spalania 348 376
wyliczanie kosztu opoacuteźnienia 83wymagania 109ndash113 124wymagania niefunkcjonalne 122wymuszanie priorytetoacutew 93wynik sprintu 56wzorzec ETC 416
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
454 Skorowidz
Z
zaletykroacutetkich sprintoacutew 94małych rozmiaroacutew zapotrzebowania 79ograniczeń czasowych 93taktowania 97wdrożenia Scruma 38
założenie 76zapisywanie historyjek 113zarządzanie
czasem 92długiem technicznym 176
obsługa 183przyrost długu 177ujawnianie 180
ekonomią 195 261inwentarzem 64 277portfelem Patrz planowanie portfelaprzepływem 369
sprintu 140wersji dystrybucyjnych 139wytwarzania wartości 261
przyrostem długu 177zasada
metod zwinności 89 90najmniejszego zaskoczenia 233procesoacutew sterowanych planem 89 90
zasadyinspekcji adaptacji i przejrzystości 67planowania 273 280zwinności 61
postęp 84praca cząstkowa 78przewidywanie i adaptacja 68wiedza potwierdzona 75wydajność 86zmienność i niepewność 64
zasoby 251zastosowania
metody kanban 42Scruma 35
zespoacutełbudujący cechy 240budujący komponenty 240deweloperski 48 223
adaptacja produktu 225długotrwałość 237inspekcja 225komunikacja szerokopasmowa 232pielęgnacja rejestru produktu 225planowanie sprintu 225postawa muszkieteroacutew 231przezroczysta komunikacja 233rozmiar 233samoorganizacja 226tempo pracy 236umiejętności typu T 229wykonanie sprintu 225zroacuteżnicowanie 229
wielofunkcyjny 34właścicieli produktu 209 211
zmiany 72zmienianie celu sprintu 99zmienność 64zobowiązanie commitment 49zroacuteżnicowanie zespołu deweloperskiego 229zwinna produkcja 34zwrot z inwestycji 95 280zysk z cyklu życia 294
Kup książkę Poleć książkę
Top Related