Professional Documents
Culture Documents
Kaczor K. - Agile Wall. NarzÄ Dzia Visual Management W Metodach Aglie
Kaczor K. - Agile Wall. NarzÄ Dzia Visual Management W Metodach Aglie
Kaczor K. - Agile Wall. NarzÄ Dzia Visual Management W Metodach Aglie
Spis treści
Wstęp............................................................................4
Czym jest Visual Management...........................................5
Materiały i środowisko......................................................6
Co warto pokazać............................................................8
Task Board...................................................................8
Kanban......................................................................11
Cummulative Flow Diagram..........................................14
Wykresy Spalania........................................................14
Wykres Spalania Sprintu..............................................15
Wykres Spalania Wydania............................................16
Story Map.................................................................17
Scrum Board..............................................................18
Parking Lot................................................................19
Mapy Myśli.................................................................20
Przykład z życia.............................................................21
Zasady korzystania z Agile Wall.......................................23
Narzędzia elektroniczne..................................................24
Podsumowanie..............................................................25
Źródła..........................................................................26
2
„Karteczki na ścianie nie powstrzymają Cię przed zbudowaniem beznadziejnego
oprogramowania.” – anonim
Krystian Kaczor
Krystian Kaczor to doświadczony coach, trener i konsultant, który na co
dzień́ łączy ze sobą̨ dwa światy, twardych umiejętności i technologii oraz
miękkich umiejętności i psychologii. Jego wieloletnie doświadczenie na
międzynarodowych projektach (m. in. Szwecja, Holandia i Iran) pozwoliło
na zdobycie wyjątkowych i wszechstronnych umiejętności z obu tych ob-
szarów. W swojej pracy kieruje się maksymą, że jedyną miarą postępu są
mierzalne rezultaty.
W trakcie 10 lat pracy w branży IT, Krystian zdobył wszechstronne do-
świadczenie w całym cyklu wytwarzania oprogramowania. Pracował jako
programista, wdrożeniowiec, tester, wsparcie klienta, Scrum Master, Test
Manager i Project Manager, dzięki czemu patrzy na oprogramowanie oraz proces jego wytwa-
rzania z kilku perspektyw i znajduje wspólny język zarówno z biznesem, jak i IT.
Jest jednym z niewielu coachów i trenerów nadal biorących aktywny udział w projektach.
Współpracuje z firmami, których logo jest łatwo rozpoznawalne w wielu krajach usprawniając
Zespoły, procesy, projekty i całe programy. Jako Agile Coach buduje i prowadzi Zespoły Agile,
przeprowadza transformacje organizacji i ulepsza wdrożone procesy. Posiada doświadczenie
w pracy z Zespołami w zakresie od małych, lokalnych zespołów do geograficznie rozproszonych
korporacji, pracujących w modelach skalowanego i rozproszonego Agile. Prowadzi szkolenia
z obszaru Agile, Scrum, testowania oraz umiejętności miękkich i rozwoju osobistego. Szkolił
i konsultował Zespoły z Polski, Holandii, Niemiec i Rosji.
Autor książki “Scrum i nie tylko. Teoria i praktyka w metodach Agile” wydanej przez PWN,
publikacji po polsku i po angielsku w czasopismach oraz na stronach internetowych. Współ-
założyciel czasopisma c0re. Prelegent na polskich i zagranicznych konferencjach z obszarów
Agile i Testowania. Certified Scrum Professional, CSM, PSM I, PMI-ACP, ISTQB Advanced Le-
vel - Test Manager, Master Practitioner NLP, ICF Associate Certified Coach i Erickson Certified
Professional Coach.
3
Wstęp
4
Czym jest
Visual Management
Rysunek 1 Wizualizacja informacji na przykładzie samolotu Flying 101 linii lotniczych kulula.com
5
Materiały i środowisko
1
Przynajmniej tak twierdzi Jeff Dunham i jego postać, Ahmed https://www.youtube.com/
watch?v=uBnv61JkLEM
6 2
http://www.ideapaint.com/products/ideapaint
Jeżeli na przykład z powodu kontraktu na wynajem przestrzeni w bu-
dynku, nie możemy przemalować ścian, ani zawiesić tablic, to nadal możemy
stworzyć sobie odpowiednią powierzchnię do równie dobrego wykorzystania
obklejając ściany papierem. Możemy użyć elektrostatycznej folii EasyFlip Foil®
od Leitz, lub najzwyklejszego szarego papieru pakowego z dużej rolki. Oczy-
wiście kiedy jesteś w takiej sytuacji, zwróć uwagę czy przytwierdzając papier
taśmą do ściany będziesz mógł łatwo ją usunąć i zmyć ślady kleju rozpusz-
czalnikiem. Taśma typu Scotch Tape daje się łatwo odkleić nie pozostawiając
śladów w przeciwieństwie do zwykłej samoprzylepnej taśmy przeźroczystej.
7
Co warto pokazać
Task Board
8
samym kolorze co karteczka z odpowiednią User Story. Wtedy łatwiej jest śledzić
postęp i przenosić elementy pomiędzy kolumnami.
Teraz napiszę coś, co może wydawać się oczywiste, ale nader często spo-
tykam się z popełnianiem tego błędu przez zespoły, które wspieram jako Agile
Coach. Na ścianie powinny znaleźć się absolutnie wszystkie rzeczy, nad którymi
pracuje Zespół Agile. Ta zasada dotyczy zadań, które zostały zidentyfikowane
w czasie trwania Iteracji i tych, które „wpadły z boku”, czyli nieplanowane. Tak
samo należy postępować z wszelkimi wykrytymi i rozwiązywanymi w czasie Ite-
racji defektami. Jeżeli nie będziemy przestrzegać tej reguły, to będziemy mieli
fałszywy obraz, na podstawie, którego podejmujemy ważne decyzje.
Karteczki z User Story i z zadaniami zawierają więcej informacji niż tylko
nazwa. Te pierwsze z uwagi na to, że w myśl Scrum są przedstawicielami Reje-
stru Produktu, czyli są Elementami Rejestru Produktu (ang. Product Bac-
klog Item (PBI)) powinny prezentować takie właściwości jak oszacowany rozmiar
(najczęściej w punktach), porządek na liście i unikalny identyfikator pozwalający
na znalezienie elementu na liście. Z kolei dla zadań nie ma konkretnych wytycz-
nych i to co się najczęściej spotyka to nazwa zadania, oszacowany czas potrzeb-
ny na wykonanie zadania i inicjały osoby, która nad nim pracuje.
Trzeba pamiętać o tym, żeby z góry nie przypisywać zadań do konkretnych
osób na przykład na Planowaniu Iteracji. Żeby umożliwić samoorganizację,
zadania powinny znajdować właściciela dopiero, kiedy mają zostać wykonane.
Zespół Agile zawsze powinien wspólnie tworzyć plan na kolejny dzień. Praca w
metodach zwinnych nie polega na zrywaniu nisko wiszących owoców i robieniu
tego co wygodne, ale na robieniu tego, co najbardziej w danej chwili przybliży
Zespół do osiągnięcia Celu Iteracji. Więcej o planowaniu i samoorganizacji
możesz dowiedzieć się z książki mojego „Scrum i nie tylko”, a teraz trzymajmy
się tematu tablic.
9
10
W zależności od tego jak Zespół Agile się umówi, tablica jest aktu-
alizowana przez członków zespołu w czasie codziennych spotkań stand-up
takich jak Daily Scrum lub od razu wtedy, kiedy stan zadania zmienił się.
Ponieważ tablica Task Board należy do zespołu, to cały zespół jest odpo-
wiedzialny za jej utrzymanie, a nie Project Manager, Scrum Master lub
najmłodsza osoba w zespole. Drogi czytelniku, jeśli właśnie zdałeś sobie
sprawę, że ktoś Cię wrobił w wykonywanie tej pracy, to możesz to wreszcie
zmienić.
Tak jak wcześniej pisałem, że tablica Task Board wspomaga podej-
mowanie decyzji poprzez Zespół pokazując aktualny stan pracy. Groma-
dzenie karteczek w którejś kolumnie lub wręcz przeciwnie, ich brak skazuje
obszary problemowe procesu. Oczywiście samo narzędzie nie rozwiązuje
problemów. Rozwiązania zawsze powinny pochodzić od członków Zespołu
Agile. Na ogół będzie to oznaczało skierowanie sił całego zespołu na wyko-
nywanie pracy w jednym obszarze, żeby znowu udrożnić przepływ. Można
też na przykład zaczerpnąć z technologii Kanban i wprowadzić limity WIP
(o czym w kolejnym podrozdziale) w kolumnach problematycznych. Oczy-
wiście wszelkie trudności powstałe podczas Iteracji powinny być omówione
na Retrospekcji.
Czy patrząc na Task Board możemy określić co zespół dostarczy na
koniec Iteracji i czy zdąży z wykonaniem pracy przed upływem ramy cza-
sowej? Na pierwszą część pytani możemy odpowiedzieć twierdząco, ponie-
waż, jeżeli wszystkie karteczki dla danej User Story znajdują w kolumnie
Ukończone, to User Story zostanie dostarczona. Natomiast obserwując
liczbę karteczek w kolejnych kolumnach nie możemy powiedzieć jakie jest
tempo pracy i czy jest ono wystarczające do ukończenia pracy w terminie.
Dlaczego tak się dzieje? Odpowiedź jest bardzo prosta. Zadania są różnej
wielkości, więc nie wiemy czy kilka elementów w ostatniej kolumnie to kilka
zadań półgodzinnych, a kolejne kilkugodzinnych jest nadal do zrobienia czy
wręcz odwrotnie. Lepiej na pytanie postawione na początku tego akapitu
odpowiedzą nam wykresy spalania Burndown lub Burnup o których wię-
cej napiszę w dalszych podrozdziałach.
Kanban
Warto wiedzieć, że jest zwinna metoda Kanban i narzędzie Kanban
oraz to, że korzystasz z narzędzia nie oznacza, że korzystasz w prawidłowy
sposób z metody. Ostatnio coraz częściej obserwuje, że Kanban to nowe
„buzz word” na określenie nieudolnego wprowadzenia Agile w organizacji.
Jeszcze kilka lat temu jeżeli organizacja nie miała określonego procesu wy-
twarzania oprogramowania i nie korzystała z żadnej konkretnej metody, to
11
managerowie twierdzili, że mają Agile. W wolnym tłumaczeniu oznaczało
to „róbta co chceta” i pracę w trybie „pożar w burdelu”. Ponieważ wiedza
na temat Agile wzrosła w ciągu ostatnich kilku lat, taka wymówka stała się
nieskuteczna i wręcz krępująca. Teraz nowymi określeniami bałaganu są
Kanban i stwierdzenie, że zespół ma tablicę z karteczkami.
No dobrze, w takim razie o co chodzi w tym Kanbanie? Narzędzie po-
chodzi się z systemu pracy w Toyocie, czyli osławionego już Toyota Pro-
duction System i nazwa oznacza w języku japońskim tablicę informacyjną.
Tablica Kanban wygląda bardzo podobnie do wcześniej opisanej Task Board
z pewnymi wyjątkami.
12
wspólnego z tablicą. Zatem, zdradzę Ci, że korzystamy w takim wypadku
z metody pięciu kroków, 5 Focusing Steps.
1. Zidentyfikuj ograniczenie.
2. Zdecyduj jak maksymalnie wykorzystać to organicznie.
3. Podporządkuj wszystko w systemie decyzji podjętej w kroku 2.
4. Zwiększ pojemność ograniczenia, tak, żeby uwolnić wąskie gardło. Teraz
kolejne ograniczenie może pojawić się w innej części systemu.
5. Zidentyfikuj kolejne ograniczenia i wróć do kroku 2.
13
Cummulative Flow Diagram
Wykresy Spalania
Oprócz tego czym zespół się zajmuje i jak wydajny jest proces wytwarzania,
chcielibyśmy też wiedzieć czy zespół zdąży dostarczyć produkt na czas. Z ta-
blic za zadaniami nie możemy tego wyczytać, bo nie widać tam upływającego
czasu, sumarycznej wielkości zadań czy tempa pracy zespołu. Do Lipca 2013
14
Wykres Spalania Sprintu i Wykres Spalania Wydania były obowiązkową
częścią Scrum. Pomimo pozostawienia większej swobody w doborze narzędzi
jest to nadal najczęstszy wybór zespołów.
Wykres Spalania to pomysł, który Jeff Sutherland zaczerpnął ze swoje-
go doświadczenia jako pilot wojskowy3. Po prostu lądując samolotem na pasie,
trzeba wiedzieć jaką długość pasa masz przed sobą i jak szybko wytracasz pręd-
kość. Zatem na tego typu wykresie zawsze będziemy nanosili ilość pracy jaka
pozostała na osi czasu zakładając, że na koniec okresu będziemy mieli 0 pracy
pozostałej. Właśnie taka forma wykresu nazywana jest burndown. Rzadko zda-
rza się, że Zespół wybiera odwrotną formę tego wykresu czyli burnup nanosząc
ilość pracy wykonanej w czasie zakładając, ze na koniec okresu będzie 100%
zaplanowanej ilości. Wykresy można tworzyć odręcznie, na tablicy pod koniec
codziennego spotkania. Równie dobrze można wykorzystać oprogramowanie ta-
kie jak arkusz kalkulacyjny czy aplikacja wspierająca Agile Development.
Tworzenie wykresów to jedno, a korzystanie z nich i odczytywanie infor-
macji to co innego. Przyjrzyjmy się zatem jakie informacje przedstawiają dwie
podstawowe wersje, czyli Wykres Spalania Sprintu i Wykres Spalania Wy-
dania.
Wykres Spalania Sprintu dotyczy, jak sama nazwa wskazuje, pracy wy-
konywanej w Sprincie. Pierwszym krokiem tworzenia takiego wykresu jest wy-
znaczenie linii idealnego spalania. Robimy to przez narysowanie linii od sumy
oszacowanego czasu zadań po Planowaniu Sprintu w pierwszym dniu do
zera godzin ostatniego dnia. W ten sposób mamy linię odniesienia, którą bę-
dziemy wykorzystywali do określenia czy pracując w obecnym tempie zespół
zamknie wszystkie zadania do końca Sprintu czy nie. Teraz już pozostaje
nam tylko rysowanie kolejnych linii pomiędzy punktami oznaczającymi sumę
godzin zadań, które pozostały do wykonania.
Zwykle zespoły aktualizują burndown pod koniec Codziennego
Scrum. Jeżeli praca przebiega dobrze i Zespół Developerski nie odkryje no-
wych zadań, to każdego dnia powinniśmy mieć mniej godzin. Nie przejmuj
się, jeżeli w pewnym momencie ilość pozostałego czasu będzie większa niż
po Planowaniu Sprintu. Również płaska linia przez dzień czy dwa nie ko-
niecznie będzie zwiastowała problemy. Jeżeli zespół zamyka zadania, ale od-
krywa nowe zadania lub inne zajmują więcej niż oryginalnie oszacowano, to
może właśnie wyglądać jak płaska linia. Ważne jest, żeby używać wykresu
jako wskaźnika, a nie wyroczni i zawsze sprawdzać sytuację z Zespołem
Developerskim. No dobrze, ale po co była ta linia idealnego spalania? Jeżeli
trend rysowania kolejnych odcinków wykresu oddala się ponad tą linię, su-
3
http://www.youtube.com/watch?v=HV76WzqpSI0
15
geruje to, że zespół nie zdąży wykonać zaplanowanej pracy. Z kolei jeżeli ten
sam trend rysuje się poniżej linii idealnego spalania, to możemy wnioskować,
że zespół zakończy pracę wcześniej i może przyjąć więcej pracy.
4
Z mojej książki „Scrum i nie tylko" dowiesz się więcej o technikach szacowania w Agile.
16
Rysunek 7 Przykładowy Wykres Spalania Wydania
Story Map
Story Map, czyli mapa User Story jest narzędziem, które gorąco polecam
każdemu Właścicielowi Produktu, czy też innemu przedstawicielowi biznesu,
który pracuje z Zespołem Agile. Dlaczego? Ponieważ tworzenie Story Map jest
proste, pobudza twórcze myślenie, pomaga uporządkować kierunek rozwoju pro-
duktu, zrozumieć zakres kolejnych wydań i właściwie ustalić priorytety. A tego
wszystkiego można dokonać za pomocą ściany i kolorowych karteczek.
Budowanie takiej mapy zaczynamy od określenia poszczególnych funk-
cjonalności produktu i najprostszego sposobu skorzystania z funkcji systemu
przez użytkownika od początku do końca. Przyklejając kolejne karteczki z
Epikami lub Tematami utworzymy w ten sposób tak zwany kręgosłup sys-
temu. W kolejnych wierszach dokładamy User Story, których implementa-
cja umożliwi korzystanie z tych podstawowych funkcjonalności w najprostszy
sposób. Teraz zbudowaliśmy minimalną implementację produktu, którą na-
zywa się chodzącym szkieletem. Dalej dokładamy „mięsko”, czyli opcjonalne
sposoby korzystania z funkcjonalności systemu takie jak na przykład kilka
sposobów wyszukiwania produktu czy dodawania go do koszyka. User Sto-
ry w niższych wersjach są bardziej opcjonalne niż te w wyższych. Kiedy już
mamy naszą mapę gotową, przedstawiciel biznesu może wyznaczyć zbiory
User Story, które chce mieć dostarczone w kolejnych wydaniach produktu.
17
Rysunek 8 Przykładowa Story Map
Scrum Board
Zespoły Scrum często korzystają podczas Codziennego Scrum z ta-
blicy, która jest nazywana Scrum Board. Tak naprawdę jest to mix różnych
narzędzi, które zespół uznał za warte skorzystania. Centralnym elementem
18
zawsze jest Task Board albo Kanban Board z zadaniami dla konkretnego
Sprintu. Do tego dochodzą nam Wykresy Spalania i Lista Przeszkód. Zanim
pójdziemy dalej, słowo wyjaśnienia na temat Listy Przeszkód. Scrum Master
utrzymuje taką listę w trakcie iteracji i umieszcza na niej zidentyfikowane prze-
szkody oraz to czy zostały już rozwiązane czy nie. Równie dobrą praktyką jest
umieszczenie listy akcji jakie Zespół uzgodnił do wykonania w trakcie Sprintu
na poprzedniej Retrospekcji Sprintu.
Nic nie stoi na przeszkodzie, żeby na Scrum Board pojawiły się inne na-
rzędzia Visual Management, które Zespół uzna za pożyteczne.
Parking Lot
19
Mapy Myśli
Rysunek 11 Mapa myśli dla książki Scrum i nie tylko stworzona w programie XMind
20
Przykład z życia
21
siedem miesięcy. Zegar ruszył i nie zatrzyma się nawet na chwilę. Powodzenia
panie konsultancie! Jakie kroki można podjąć, żeby szybko i sprawnie zawrócić
tą łódź podwodną na kursie donikąd?
Kierując się zasadą Pareto5 postanowiłem skupić 80% wysiłku na co-
aching i mentoring Właściciela Produktu, a resztę na coaching Zespołu
Developerskiego. Nie mogłem pomóc merytorycznie w określaniu zakresu i
priorytetów produktu, ale mogłem ułatwić proces będąc jego facylitatorem. Po
kilku sesjach udało się zebrać to, co było w tej chwili Rejestrem Produktu
w jednym miejscu i zacząć budować Mapę User Story określając prawdziwą
Wizję Produktu i zakres projektu. Na potrzeby warsztatu z całym Zespołem
Scrum i sponsorami projektu do wizualizacji Mapy wykorzystaliśmy możliwość
drukowania karteczek prosto z Atlassian Jira, białą tablicę, taśmę typu Scotch
Tape i gilotynę do papieru. Było to ćwiczenie, które otworzyło oczy wszystkim
interesariuszom i pozwoliło na rzeczowe dyskusje na temat wizji i zakresu.
Niektóre User Story zostały scalone, powstały nowe i zostało usunięte
sporo zupełnie zbędnych. Po oszacowaniu całego nowego Rejestru Produktu
i kolejnej sesji byliśmy w stanie wrócić z do idealnej linii spalania na Wykresie
Wydania. Na reszcie łatwo było określać cele kolejnych Sprintów. Develope-
rzy i testerzy skupili się na realizowaniu i dostarczaniu pełnych funkcjonalno-
ści oraz zrozumieli kierunek działania. Okazało się, że niektóre funkcjonalności
można dostarczyć w prostszy sposób albo niskim nakładem przy realizowaniu
innych jeśli tylko Developerzy będą pamiętali o tym na poziomie tworzenia ar-
chitektury. Oprócz Mapy User Story, która stała się nieodzownym elementem
pokoju oraz miejscem częstych spotkań i owocnych dyskusji, stworzyliśmy dru-
gą mapę opartą o makiety ekranów dostarczone przez Właściciela Produktu.
Pisząc makiety, nie mam namyśli w pełni gotowych do zaimplementowania pro-
jektów ekranu, ale proste ekrany poglądowe narysowane w Wordzie z powkle-
janymi ikonami ze starej aplikacji. Kiedy tylko jakaś User Story lub ekran były
ukończone, Zespół z niekrytą satysfakcją i radością odhaczał odpowiedni ele-
ment na mapie grubym zielonym pisakiem. Jak można było się spodziewać obie
mapy przyciągały także zainteresowanie sponsorów projektu i prowokowały do
ciągłego feedbacku, który PO6 uwzględniał w kolejnych User Story. Pamiętaj-
my też o tych pozostałych 20%, czyli o coachingu Zespołu Developerskiego,
który również był potrzebny do tego, żeby kolejne Przyrosty Produktu dostar-
czane na koniec Sprintów były ukończone. Jednak największym katalizatorem
tej interwencji była wizualizacja informacji i zbudowanie map, które do końca
projektu przyciągały różnych interesariuszy i zachęcały do wymiany istotnych
informacji niczym ognisko po środku karawanseraj w Nikosii7.
A teraz przypomnij sobie do rozwiązania jakiego problemu zostałem za-
trudniony.
5
Zasada Pareto, lub zasada 80/20
22
Zasady korzystania
z Agile Wall
Zasady powinien ustalić zespół lub inni ludzie, którzy mają z Agile Wall sko-
rzystać. Tak samo jak procesy w Scrum i wokół Zespołu Scrum powinny być
jasne i określone, tak samo powinny być wypracowane i spisane dobre praktyki
oraz zasady korzystania z narzędzi Visual Management. Podam kilka pomy-
słów, które możesz zastosować i kilka decyzji, które na pewno Zespół będzie
musiał ustalić.
Pamiętaj, żeby ustalić kto i kiedy uaktualnia narzędzia. Napisy powinny
być czytelne nawet z pewnej odległości, więc polecam korzystanie z czarnego
pisaka i pisanie drukowanymi literami. Na zadaniach w trakcie realizacji moż-
na wpisywać inicjały osób, które nad nimi pracują albo przyklejać awatary (na
przykład z South Park http://southpark.cc.com/avatar) czy zdjęcia. Trzeba też
ustalić czy zadania, które nie przeszły przeglądu kodu albo testowania wra-
cają do stanu „kodowanie”, czy może do „nowe”. Jeżeli korzystamy z tablicy
typu whiteboard, to możemy dopisywać na niej dodatkowe informacje przy
karteczkach, lub rysować zależności między zadaniami. Zadania, których nie
można wykonać, bo są zablokowane z jakiegoś powodu dobrze jest oznaczyć
w wyraźny sposób. Proponuję przyklejanie na nich małej różowej karteczki.
Zespół musi podjąć decyzję czy takie zadanie ma pozostać w obecnym statusie
czy wrócić na początek tablicy. Jeżeli zdania wiszą dłużej niż dzień w realiza-
cji, to można na karteczkach rysować kropki każdego dnia. Dla spóźnialskich
można stworzyć Wall of Shame z ich zdjęciem i ustalić zasadę, że po trzech
spóźnieniach muszą kupić czekoladki dla całego zespołu albo pączki.
To tylko kilka pomysłów z mojej praktyki i praktyki innych coachów, a kre-
atywność Zespołów Agile jest praktycznie bezgraniczna i często zaskakuje.
6
PO = Product Owner, czyli Właściciel Produktu. Tak samo jak SM dla Scrum Mastera, jest to
popularne skrótowe określenie roli w framework Scrum
7
Karawanseraj – zajazd dla karawan o pomieszczeniami dla podróżnych i magazynami. Takie
zajazdy były budowane przy szlaku handlowym i ułatwiały przepływ towarów, informacji i ludzi.
Jeden najlepiej zachowanych budynków tego typu, Buyuk Han znajduje się w Nikosii na Cyprze.
23
Narzędzia elektroniczne
24
Podsumowanie
25