Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf ·...

42

Transcript of Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf ·...

Page 1: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 2: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 3: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 4: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 5: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 6: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 7: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 8: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 9: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 10: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 11: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 12: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 13: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 14: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 15: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 16: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 17: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 18: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 19: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 20: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 21: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 22: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 23: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 24: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 25: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 26: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 27: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 28: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 29: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 30: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 31: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 32: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 33: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 34: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 35: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 36: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 37: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 38: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 39: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process

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ę

Page 40: Tytuł oryginału: Essential Scrum: A Practical Guide to …pdf.helion.pl/scruma/scruma.pdf · Tytuł oryginału: Essential Scrum: A Practical Guide to the Most Popular Agile Process