Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00360 005048 20503369 na godz. na dobę w sumie
Agile. Rusz głową! - książka
Agile. Rusz głową! - książka
Autor: , Liczba stron: 458
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-4364-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> agile - programowanie
Porównaj ceny (książka, ebook, audiobook).

Przekonaj się, jak bardzo metodyki zwinne ułatwią Ci pracę!

Metodyki zwinne różnią się od standardowego prowadzenia projektów. Jeśli Twój zespół programistów nigdy nie pracował zgodnie z ideą Agile, najwyższy czas to zmienić, zwłaszcza że zwinność staje się niezwykle modna! Dzięki tej nietuzinkowej, innowacyjnej książce błyskawicznie zrozumiesz, co się kryje za tą nazwą i jak to się dzieje, że podejścia zwinne nie tylko zapewniają świetne rezultaty, ale sprawiają też, że praca w grupie staje się dużo przyjemniejsza. Jeśli jednak praktyka Agile sprawia trudności w Twoim zespole, być może trzeba zmienić jego nastawienie. Jak to osiągnąć? Tego też się nauczysz dzięki tej książce!

Podobnie jak inne książki z serii 'Rusz głową', również i ta została napisana z wykorzystaniem najnowszych zdobyczy nauki o poznawaniu i uczeniu się. Dzięki temu Twój mózg zaangażuje się w poznawanie nowych koncepcji i przyswoi je bez ociągania się. Zrozumiesz, na czym polegają i jakie zalety mają najpopularniejsze metodyki Agile: Scrum, XP, Lean i Kanban. Nauczysz się korzystać z dobrodziejstw metodyk zwinnych i sprawisz, że Twój zespół zacznie lepiej planować pracę, będzie pisać lepszy kod, poprawi się współpraca w grupie. Niepostrzeżenie idea Agile zwinnie zadomowi się w Twoim umyśle i w Twoim zespole. Co więcej, jeśli zechcesz podjąć wyzwanie i zdobyć certyfikat PMI-ACP, dzięki tej książce świetnie przygotujesz się do egzaminu!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Head First Agile Tłumaczenie: Maksymilian Gutowski ISBN: 978-83-283-4364-1 © 2018 Helion S.A. Authorized Polish translation of the English edition of Head First Agile, 9781449314330 © 2017 Andrew Stellman and Jennifer Greene. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. All rights reserved. No part of this book may be 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 the Publisher. 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 Helion SA 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 Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Helion SA ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/agiler Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treści (streszczenie) Spis treści Wstęp Czym jest metodyka zwinna? Założenia i praktyka 1 2 Wartości i zasady metodyk zwinnych. Nastawienie a metoda 3 4 5 6 7 8 9 Zarządzanie projektami w Scrumie. Zasady Scruma Planowanie i estymacja w podejściu zwinnym. Ogólnie przyjęte praktyki scrumowe XP (programowanie ekstremalne). Otwartość na zmiany Lean i Kanban. Walka z marnotrawstwem i zarządzanie obiegiem pracy Przygotowanie do egzaminu PMI-ACP®. Sprawdź swoją wiedzę Odpowiedzialność profesjonalisty. Podejmowanie słusznych decyzji Praktyka czyni mistrza. Próbny egzamin PMI-ACP® xxvii 1 23 71 117 177 245 307 377 391 Spis treści (część właściwa) W Wstęp Zwinność zaczyna się od głowy. Kiedy próbujesz się czegoś nauczyć, Twój mózg stara się wyświadczyć Ci przysługę, robiąc wszystko, co może, żebyś niczego nie zapamiętał. Twój mózg myśli sobie: „Lepiej zostawić w głowie miejsce na ważniejsze rzeczy, na przykład wiedzę o tym, przed jakimi dzikimi zwierzętami uciekać, albo o tym, że nie powinno się jeździć na desce snowboardowej w samych slipach”. Jak zatem przechytrzyć mózg, żeby zaczął myśleć, że Twoje życie rzeczywiście zależy od umiejętności zastosowania podejść zwinnych — a może nawet od zaliczenia egzaminu certyfikacyjnego PMI-ACP? Dla kogo jest ta książka? Wiemy, co myślisz Wiemy też, co czuje Twój mózg Metapoznanie: myślenie o myśleniu Oto co MY zrobiliśmy Przeczytaj to Korektorzy merytoryczni Podziękowania xx xxi xxi xxiii xxiv xxvi xxvii xxviii ix Poleć książkęKup książkę Spis treści TRENING UMYSŁU 1 Czym jest metodyka zwinna? Założenia i praktyka Zwinność jest dziś modna jak nigdy dotąd! Naszej branży udało się po raz pierwszy odkryć praktyczny, zrównoważony sposób rozwiązywania problemów, z którymi musiały się męczyć całe pokolenia zespołów programistycznych. Zespoły zwinne posługują się jasnymi, prostymi praktykami, które sprawdziły się już w codziennej pracy nad rzeczywistymi projektami. Ale zaraz... Jeśli metodyka zwinna (ang. agile) jest tak wspaniała, to dlaczego nie korzystają z niej wszyscy? Wygląda na to, że w prawdziwym świecie te praktyki, które sprawdzają się w jednych zespołach, innym sprawiają trudności, a o takich rozbieżnościach decydują różnice w nastawieniu. Przygotuj się więc na zupełnie inny sposób myślenia o swoich projektach! Nowe możliwości brzmią nęcąco… …ale nie wszystko idzie zgodnie z planem Metodyka zwinna na ratunek! Kate próbuje przeprowadzić codzienny stand-up Różni członkowie zespołu mają różne podejścia Praktyki stosuje się sprawniej dzięki odpowiedniemu nastawieniu Czym właściwie jest ta cała metodyka zwinna? Scrum jest najpopularniejszym podejściem do wytwarzania zwinnego Certyfikacja PMI-ACP pomoże Ci wyćwiczyć zwinność 2 3 4 5 6 8 10 12 18 W trakcie codziennego stand-upu wszyscy członkowie zespołu stoją. Dzięki temu spotkanie jest krótkie, rzeczowe i przebiega w swobodnej atmosferze. Ale czy ten koleś rzeczywiście słucha, co jego współpracownicy mają do powiedzenia? x Poleć książkęKup książkę Spis treści 2 Wartości i zasady metodyk zwinnych nastawienie a metoda Nie ma czegoś takiego jak „idealny” proces tworzenia udanego oprogramowania. Niektóre zespoły odniosły niemałe sukcesy i odnotowały znaczącą poprawę po wdrożeniu zwinnych praktyk, metod i metodyk, podczas gdy inne miały z tym poważne problemy. Powiedzieliśmy już, że decydujące jest nastawienie członków zespołu. Co możesz zatem zrobić, żeby Twój własny zespół uzyskał pożądane rezultaty? Jak sprawić, aby zespół przyjął odpowiednie nastawienie? Właśnie w tym miejscu warto sięgnąć po Manifest programowania zwinnego. Omówienie z zespołem wartości i zasad pozwala zacząć nieco inaczej myśleć o praktykach zwinnych i ich zastosowaniu, co z kolei umożliwia skuteczniejsze korzystanie z nich. Przełom w Snowbird Manifest programowania zwinnego Wprowadzanie nowych praktyk bywa niemałym wyzwaniem Klinika Naukowa: pytania typu „które jest najlepsze?” Szykował się hit… …a wyszła katastrofa! Zasady przyświecające Manifestowi programowania zwinnego Zasady zwinnego programowania, które pomogą Ci w dostarczeniu Twojego produktu Zasady metodyk zwinnych ułatwiają zespołom komunikację i współpracę Nowy produkt to hit! 24 25 26 36 38 39 40 42 52 56 jednostki otwarcie na zmiany ścisła kontrola s a m o o r g a n i z a c j a prostota współpraca działające oprogramowanie działające oprogramowanie działające oprogramowanie xi Poleć książkęKup książkę Spis treści 3 Zarządzanie projektami w Scrumie Zasady Scruma Zasady Scruma są proste. Efektywne ich stosowanie już niekoniecznie. Scrum jest najbardziej rozpowszechnionym podejściem do programowania zwinnego, zresztą nie bez powodu — zasady Scruma są proste i łatwe do przyswojenia. Większość zespołów potrafi się szybko zaznajomić ze zdarzeniami, z rolami i artefaktami składającymi się na reguły Scruma. Aby jednak Scrum był prawdziwie skuteczny, pracownicy muszą naprawdę pojąć jego wartości, a także zasady Manifestu programowania zwinnego, które pomogą im przyjąć efektywne nastawienie. Choć sam Scrum wydaje się prosty, ciągłe prowadzenie inspekcji i adaptacji wymusza na zespołach przestawienie się na nowy sposób myślenia o projektach. Wściekłe Krowy V HayStation Hs WK5 RHG Łaciate Berety produkcja RANCH HAND GAMES Poznaj zespół Ranch Hand Games Zdarzenia Scruma, które pomagają w realizacji projektów Role scrumowe pomagają zrozumieć, kto za co odpowiada Artefakty scrumowe pomagają zespołowi być na czasie Wartości Scruma zwiększają efektywność zespołu Klinika Naukowa: pytania typu „co dalej?” Zadanie nie jest wykonane, dopóki nie ma statusu „Ukończone” Zespoły scrumowe dostosowują się do zmian w trakcie Sprintu Manifest programowania zwinnego pomaga zrozumieć metodykę Scrum Gorzej już było 73 74 75 76 82 90 92 93 96 102 Rejestr Produktu — Sprint 5. strategiczny szturm na elewator G R A C Z E B E Z T E G O ; T E G O N I E C I E R P I Ą ! To co zamiast? Wspólnie z nowym Właścicielem Produktu zespół powinien być w stanie wskazać najbardziej wartościowe funkcjonalności do opracowania w kolejnym Sprincie. xii Poleć książkęKup książkę Spis treści 4 Planowanie i estymacja w podejściu zwinnym Ogólnie przyjęte praktyki scrumowe Zespoły zwinne używają prostych narzędzi planowania do sprawniejszego zarządzania swoimi projektami. Zespoły scrumowe planują swoje projekty wspólnie, tak aby każdy członek zespołu zaangażował się w realizację celu każdego sprintu. W trosce o zbiorowe zaangażowanie zespołu trzeba zadbać o to, aby wszelkie planowanie, oszacowywanie i monitorowanie było na tyle proste, żeby można je było prowadzić grupowo. Zespoły scrumowe korzystające z najrozmaitszych narzędzi, od historyjek użytkownika, przez planistycznego pokera, po szybkość i wykresy spalania, zawsze wiedzą, co już zrobiły i co jeszcze im zostało do zrobienia. W tym rozdziale zapoznasz się z narzędziami, które pozwalają zespołom na przeglądanie aktualnych informacji i utrzymywanie kontroli nad tym, co tworzą! 2 PUNKTY ZMIANA BRONI W TRAKCIE BIEGU JAKO GRACZ CHCĘ PRZEŁĄCZAĆ BROŃ Z MOJEGO WYPOSAŻENIA W TRAKCIE BIEGU, ABYM NIE MUSIAŁ SIĘ ZATRZYMYWAĆ, ŻEBY WEJŚĆ DO EKWIPUNKU. Do zrobienia W toku Ukończone Co dalej? Ogólnie przyjęte praktyki scrumowe A można bez 300-stronicowej specyfikacji? Historyjki użytkownika pomagają zespołom zrozumieć potrzeby użytkowników Punkty historyjek pozwalają zespołowi skoncentrować się na względnej wielkości każdej historyjki Cały zespół oszacowuje wspólnie Koniec ze szczegółowymi planami projektów Tablice zadań przedstawiają aktualne informacje Klinika Naukowa: mylny trop Wykresy spalania pomagają się zorientować, ile pracy zostało jeszcze do zrobienia Szybkość określa, ile zespół może zrobić w ramach sprintu Wzrastające wykresy spalania oddzielają postępy od zakresu prac Skąd wiadomo, co stworzyć? Mapy historyjek ułatwiają priorytetyzację elementów rejestru Persony pomagają zaznajomić się z użytkownikami Wieści mogłyby być lepsze… Retrospektywy pomagają zespołowi usprawnić pracę Narzędzia do wykorzystania w retrospektywach Gratulacje! Jesteś już gotów! 121 122 124 125 126 132 134 136 140 143 144 147 148 149 150 152 154 156 174 xiii Poleć książkęKup książkę Spis treści 5 XP (programowanie ekstremalne) Otwartość na zmiany Zespoły zwinne odnoszą największe sukcesy, kiedy tworzą świetny kod. Nawet najlepsze zespoły, składające się z samych utalentowanych programistów, muszą sobie radzić z problemami w swoim kodzie. Kiedy drobne zmiany w kodzie zaczynają „pączkować” i przekształcają się w ciąg nakładających się na siebie kombinacji bądź kiedy codzienne commity kodu prowadzą do trwającego kilka godzin rozwiązywania konfliktów złączenia gałęzi, praca, która miała być przyjemna, staje się irytująca, nużąca i męcząca. W tym miejscu do gry wchodzi XP. Jest to metodyka zwinna skoncentrowana na budowaniu spójnych zespołów, które sprawnie się komunikują i tworzą swobodne, a zarazem pobudzające środowisko. Gdy zespoły opracowują prosty kod zamiast złożonego, mogą się otworzyć na zmiany, zamiast się ich obawiać. Poznaj zespół twórców CircuitTrak Praca nocą i w weekendy jest źródłem problemów XP działa na korzyść i zespołu, i kodu Programowanie iteracyjne pomaga być na bieżąco ze zmianami Odwaga i szacunek odpędzają strach Zespoły tworzą lepszy kod, kiedy wszyscy ze sobą współpracują Najlepsze zespoły siedzą razem Zespoły XP cenią sobie komunikację Zespoły pracują najlepiej, gdy wszyscy są zrelaksowani Klinika Naukowa: pytania typu „które NIE jest?” Zespoły XP są otwarte na zmiany Częste zgłaszanie uwag pozwala zminimalizować zmiany Złe doświadczenia powodują racjonalną obawę przed zmianą Praktyki XP pozwalają gromadzić informacje zwrotne o kodzie Zespoły XP stosują szybką automatyzację kompilacji Ciągła integracja pozwala uniknąć przykrych niespodzianek Cykl tygodniowy zaczyna się od pisania testów Zespoły zwinne gromadzą informacje z projektów i testów Programowanie w parach Konserwacja złożonego kodu jest naprawdę trudna Gdy prostota jest w cenie, kod może na tym jedynie zyskać Prostota jest fundamentalną zasadą metodyk zwinnych Każdy zespół zaciąga dług techniczny Zespoły XP „spłacają” dług techniczny w każdym cyklu tygodniowym Projektowanie przyrostowe wymaga prostego kodu 178 180 181 182 184 190 192 194 196 200 204 205 206 208 210 211 212 214 216 223 224 225 226 227 228 Plany zajęć Trenerzy Uczestnictwo Moje konto Plany zajęć Trenerzy UczestnictwoPlany zajęć Trenerzy Uczestnictwo Moje konto Pakiet plików binarnych Pliki z kodem źródłowym xiv Poleć książkęKup książkę Spis treści 6 Lean i Kanban Walka z marnotrawstwem i zarządzanie obiegiem pracy Zespoły zwinne wiedzą, że niemal zawsze mogą jakoś usprawnić swój tryb pracy. Pracownicy stosujący zasady szczupłej produkcji (ang. lean production) potrafią bez trudu odkryć, że robią coś, co nie pomaga im w dostarczeniu wartości. W takich sytuacjach eliminują marnotrawstwo, które ich spowalnia. Wiele zespołów ze szczupłym nastawieniem stosuje metodykę Kanban w ramach ustalania limitów prac w toku i tworzenia systemów ciągnionych, aby dopilnować, by pracownicy nie zajmowali się zadaniami, które niewiele wnoszą w rozwój produktu. Już wkrótce dowiesz się, jak traktowanie procesu rozwoju oprogramowania jako spójnego systemu pomoże Ci w tworzeniu lepszego oprogramowania! 246 248 249 250 254 256 258 260 264 267 270 272 273 Kłopoty z Analizatorem Odbiorców 2.5 Szczupła produkcja jest nastawieniem (a nie metodyką) Zasady podejścia Lean pomagają spojrzeć na wszystko inaczej Więcej zasad Lean Narzędzia myślowe, których jeszcze nie widziałeś Więcej narzędzi myślowych Lean Rozmowa przy biurku Klasyfikacja rodzajów marnotrawstwa ułatwia jego dostrzeżenie Mapy strumienia wartości pozwalają dostrzec marnotrawstwo Łapanie zbyt wielu srok za ogon Anatomia opcji Myślenie systemowe pomaga zespołom szczupłym spojrzeć na całość Niektóre „ulepszenia” się nie sprawdziły Zespoły Lean za pomocą systemów ciągnionych pilnują, 274 by zawsze wykonywać najbardziej wartościowe zadania Klinika Naukowa: najmniejsze zło 278 Kanban usprawnia procesy poprzez wykorzystanie systemu ciągnionego 280 281 Używaj tablic kanbanowych do wizualizacji obiegu pracy 282 Jak wykorzystać metodę Kanban do usprawnienia procesu roboczego 284 Zespół określa przepływ pracy Rozmowa przy biurku 287 291 Zespół dostarcza produkty częściej 292 Kumulacyjny diagram przepływu pomaga w zarządzaniu 293 Zespoły kanbanowe dyskutują o swoich politykach Sprzężenie zwrotne pokazuje skuteczność 294 295 Teraz cały zespół wspólnie wymyśla sposoby na sprawniejszą pracę! xv ...ale czuje się przytłoczony wszystkimi pozostałymi funkcjami, którymi jeszcze musi się zająć. Aktualizacja algorytmu analitycznego Zmiany w raporcie mapowania Naprawienie błędów współbieżności Zmiany w bazie kodu Ulepszone UI funkcji mapowania Ulepszenia usługi statystyk Aktualizacja UI Modyfikacja profilera odbiorców Z m i a n y f o r m a t ó w p l i k ó w Poleć książkęKup książkę 7 Przygotowanie do egzaminu PMI-ACP® Sprawdź swoją wiedzę Podczas lektury ostatnich sześciu rozdziałów musiałeś sobie przyswoić całkiem sporo wiedzy! Poznałeś wartości i zasady Manifestu programowania zwinnego. Dowiedziałeś się, jak pomagają one w rozwijaniu zwinnego nastawienia zespołu. Zobaczyłeś, jak zespoły używają Scruma do zarządzania projektami, odkryłeś, jak wygląda zaawansowana inżynieria w XP, i rozeznałeś się w tym, jak zespoły doskonalą własne procesy przy użyciu Lean i Kanbana. Czas to wszystko podsumować i utrwalić najważniejsze informacje. Egzamin PMI-ACP® wymaga jednak nie tylko znajomości narzędzi, technik i pojęć zwinnych. Aby zdać egzamin wzorowo, będziesz się musiał jeszcze dowiedzieć, jak wykorzystać je w prawdziwym świecie. Spójrzmy zatem świeżym okiem na te pojęcia, wspomagając się pełnym zestawem ćwiczeń, łamigłówek i pytań próbnych (a także nowym materiałem), skonstruowanych tak, aby łatwiej Ci było przygotować się do egzaminu PMI-ACP®. Certyfikacja PMI-ACP® jest wartościowa… Egzamin PMI-ACP® oparty jest na oficjalnym sylabusie „Jesteś specjalistą w zakresie podejść zwinnych…” Maraton dla umysłu Dziedzina 1. Zwinne zasady i nastawienie Dziedzina 1. — pytania egzaminacyjne Dziedzina 2. Dostawa oparta na wartości Zespoły zwinne posługują się wartością dla klienta w priorytetyzacji wymagań Obliczenia wartości pomagają określić, które projekty należy realizować Dziedzina 2. — pytania egzaminacyjne Dziedzina 3. Zaangażowanie interesariuszy Dziedzina 4. Wydajność zespołu Dziedzina 3. — pytania egzaminacyjne Dziedzina 4. — pytania egzaminacyjne Dziedzina 5. Planowanie adaptacyjne Dostosowuj swój styl przywództwa do rozwoju zespołu Kilka dodatkowych narzędzi i technik na koniec Dziedzina 6. Wykrywanie i rozwiązywanie problemów Dziedzina 7. Ciągłe doskonalenie Dziedzina 5. — pytania egzaminacyjne Dziedzina 6. — pytania egzaminacyjne Dziedzina 7. — pytania egzaminacyjne Czy jesteś gotów na egzamin końcowy? 308 309 310 313 314 316 322 325 326 330 336 337 338 339 348 349 351 360 361 372 373 374 376 PMI-ACP® Examination Content Outline Revised December 2014 Pełna implementacja Wymagania podstawowe k cja sfa y t a S nie ole w o d a z Nie Czynniki ekscytacji Brak implementacji xvi Spis treściPoleć książkęKup książkę 8 Odpowiedzialność profesjonalisty Podejmowanie słusznych decyzji Nie wystarczy znać się na rzeczy. Trzeba umieć podejmować słuszne decyzje, aby radzić sobie w pracy. Wszystkie osoby, które uzyskują certyfikację PMI-ACP, zgadzają się na przestrzeganie Kodeksu etyki i profesjonalnego postępowania PMI. Kodeks pomaga w podejmowaniu decyzji etycznych, które nie są szczególnie dobrze omówione we właściwym korpusie wiedzy, ale mogą się pojawić na egzaminie PMI-ACP®. Wiadomości z tego zakresu są w większości dość łatwe do przyswojenia, więc wystarczy krótki ich przegląd, żebyś je sobie bez problemu utrwalił. Właściwe postępowanie Główne założenia Kasa do kieszeni? Może klasa biznesowa? Nowe oprogramowanie Droga na skróty Niskie ceny czy czyste rzeki? Nie jesteśmy święci 378 378 380 381 382 383 384 385 Świetnie! Wreszcie będzie mnie stać na coś fajnego. A gdyby tak gdzieś wyjechać? Ibizo, nadciągam! Nigdy bym nie przyjęła takiego podarunku. Dobrze wykonana praca jest nagrodą samą w sobie! Przepraszam, nie mogę przyjąć takiego podarunku, ale doceniam ten gest. xvii Spis treściPoleć książkęKup książkę 9 Praktyka czyni mistrza Próbny egzamin PMI-ACP® Pewnie nie sądziłeś, że zajdziesz aż tak daleko! To była długa podróż, ale w końcu jesteś gotowy na powtórzenie wiadomości i przygotowanie się do egzaminu. Przyswoiłeś sobie dużo nowej wiedzy o podejściach zwinnych i przyszła pora, by sprawdzić, ile z tych informacji zostało Ci w głowie. Dlatego właśnie przygotowaliśmy ten pełnoprawny, składający się ze 120 pytań egzamin próbny PMI-ACP®. Opieraliśmy się na tym samym sylabusie PMI-ACP®, którego używają eksperci z PMI; nasz egzamin wygląda więc tak samo jak ten właściwy, który przyjdzie Ci zdawać. Czas zatem wysilić szare komórki. Weź głęboki oddech, zakasaj rękawy i do dzieła! Zanim sprawdzisz odpowiedzi… 423 449 Skorowidz S xviii Spis treściPoleć książkęKup książkę 1. Czym jest metodyka zwinna? Założenia i praktyka Załóżmy zatem, że projekt zrealizujemy bezbłędnie, i zapiszmy to w planie. Znakomita myśl, szefie! Zwinność jest dziś modna jak nigdy dotąd! Naszej branży udało się po raz pierwszy odkryć praktyczny, zrównoważony sposób rozwiązywania problemów, z którymi musiały się męczyć całe pokolenia zespołów programistycznych. Zespoły zwinne posługują się jasnymi, prostymi praktykami, które sprawdziły się już w codziennej pracy nad rzeczywistymi projektami. Ale zaraz... Jeśli metodyka zwinna (ang. agile) jest tak wspaniała, to dlaczego nie korzystają z niej wszyscy? Wygląda na to, że w prawdziwym świecie te praktyki, które sprawdzają się w jednych zespołach, innym sprawiają trudności, a o takich rozbieżnościach decydują różnice w nastawieniu. Przygotuj się więc na zupełnie inny sposób myślenia o swoich projektach! to jest nowy rozdział� 1 Poleć książkęKup książkę Ta premia chyba nam jednak nie skapnie Nowe możliwości brzmią nęcąco… Poznaj Kate. Kate jest menedżerką projektu w cieszącym się powodzeniem start-upie w Dolinie Krzemowej. Jej firma tworzy oprogramowanie, które daje serwisom streamingowym z filmami i muzyką oraz radiom internetowym możliwość analizowania danych o odbiorcach na żywo i proponowania im treści dostosowanych do ich gustów. Zespół Kate ma teraz szansę na stworzenie czegoś niezwykle korzystnego dla firmy. Odezwę się do zespołu w sprawie wprowadzenia tych zaawansowanych funkcji analizy danych odbiorców w kolejnym wydaniu. Kate jest menedżerką projektu w zespole programistycznym. Dzięki, Kate. Jeśli zespół zrobi to szybko, nasz główny klient wykupi pięćdziesiąt dodatkowych licencji i wszyscy dostaniemy premię! Ben jest właścicielem produktu. Do jego obowiązków należy komunikowanie się z klientami, poznawanie ich potrzeb i wymyślanie nowych funkcji, z których będą chętnie korzystać. 2 Rozdział 1. Poleć książkęKup książkę …ale nie wszystko idzie zgodnie z planem Rozmowa Kate z zespołem projektowym nie poszła tak dobrze, jak Kate się spodziewała. Co teraz powie Benowi? Czym jest metodyka zwinna? To brzmi jak niezła okazja, żeby zadowolić naszych klientów. Mike jest głównym programistą i architektem. Kate: Jeśli uda nam się wprowadzić te nowe, zaawansowane funkcje analizy danych odbiorców w kolejnym wydaniu, to wszyscy dostaniemy sporą premię. Mike: Rzeczywiście brzmi to jak niezła gratka. Kate: Świetnie! Czyli mogę na was liczyć? Mike: Zaraz, chwila! Jasne, to brzmi nieźle — tylko że nic takiego się nie stanie. Kate: Co?! Mike, nawet sobie tak nie żartuj. Mike: Gdybyśmy wiedzieli o tym pomyśle cztery miesiące temu, kiedy projektowaliśmy usługę analizy danych odbiorców, to nie byłoby problemu. Sęk w tym, że teraz musielibyśmy wyciąć spory kawał kodu i zastąpić go… Aj, nawet nie chce mi się rozwodzić o technikaliach. Kate: I bardzo dobrze, bo mało mnie to interesuje. Mike: Dobrze, czyli skończyliśmy tę rozmowę? Naprawdę muszę wracać do pracy. jesteś tutaj� 3 Poleć książkęKup książkę Spotkania na stojąco trwają krócej Metodyka zwinna na ratunek! Kate czytała ostatnio o zwinnym programowaniu i sądzi, że ta metodyka może pomóc we wprowadzeniu pożądanych funkcji do kolejnego wydania. Metodyka zwinna zdobyła niemałą popularność wśród zespołów programistycznych, ponieważ te, które już się przekonały do „zwinności”, często się chwalą znakomitymi wynikami. Ich oprogramowanie jest sprawniejsze, co ma znaczenie zarówno dla nich samych, jak i dla użytkowników. Co więcej, zespołom efektywnie stosującym metodykę zwinną po prostu przyjemniej się pracuje! Wszyscy są o wiele bardziej wyluzowani, a środowisko pracy jest przyjaźniejsze. Dlaczego zatem zwinne wytwarzanie zyskało taką popularność? Oto kilka powodów:  Zespołom zwinnym łatwiej przychodzi dotrzymywanie terminów.  Można sprawnie zredukować liczbę defektów oprogramowania.  Konserwacja kodu jest łatwiejsza — dodawanie, rozszerzanie i modyfikowanie nie sprawia już problemów.  Użytkownicy są o wiele bardziej zadowoleni, co ułatwia życie wszystkim zainteresowanym.  Największym plusem efektywnych zespołów zwinnych jest to, że pracownikom żyje się lepiej, ponieważ kończą pracę o rozsądnej porze i rzadko muszą pracować w weekendy (co jest dla programisty nie lada gratką!). W trakcie codziennego stand-upu wszyscy członkowie zespołu stoją. Dzięki temu spotkanie jest krótkie, rzeczowe i przebiega w swobodnej atmosferze. Codzienne spotkania to dobry punkt wyjścia Jedną z najbardziej standardowych praktyk zwinnych wykorzystywanych przez zespoły jest codzienny stand-up, czyli spotkanie, podczas którego członkowie zespołu rozmawiają o tym, nad czym pracują i z jakimi wyzwaniami się to wiąże. Dzięki temu, że wszyscy muszą w trakcie spotkania stać, nie jest ono nadmiernie przeciągane. Wprowadzenie codziennego spotkania do pracy nad projektami okazało się pomocne dla wielu zespołów i często jest to pierwszy krok na drodze do wdrożenia metodyki zwinnej. 4 Rozdział 1. Ale czy ten koleś rzeczywiście słucha, co jego współpracownicy mają do powiedzenia? Poleć książkęKup książkę Czym jest metodyka zwinna? Kate próbuje przeprowadzić codzienny stand-up Ku zdumieniu Kate nie wszyscy członkowie zespołu Mike’a podzielają jej zainteresowanie tą nową praktyką. Co więcej, jeden z programistów jest oburzony propozycją wprowadzenia kolejnego zebrania i nie podoba mu się wizja odpowiadania codziennie na natrętne pytania dotyczące jego pracy. Nowe funkcje są bardzo ważne. Zorganizujmy codzienne spotkania, żebyście mogli na bieżąco mówić mi o postępach. To świetna praktyka zwinna, która przyda się nam wszystkim! Już i tak mamy za dużo zebrań! Jeśli nie wierzysz, że potrafimy wykonać swoją pracę, to może od razu odezwij się do innego zespołu. Kate sądzi, że Mike wraz ze swoim zespołem zachowuje się irracjonalnie — może jednak mają oni w jakimś sensie rację? A co Ty o tym sądzisz? Wysil szare komórki Co tu się dzieje? Czy Mike zachowuje się irracjonalnie? Czy Kate jest zbyt wymagająca? Dlaczego ta prosta, powszechnie akceptowana praktyka stała się przyczyną konfliktu? jesteś tutaj� 5 Poleć książkęKup książkę Nastawienie a metodyka Różni członkowie zespołu mają różne podejścia Kate natrafiła na problemy z wdrażaniem metodyki zwinnej już na samym początku. Nie jest w tym jednak odosobniona. Prawda jest taka, że wiele zespołów zwyczajnie nie odniosło takich sukcesów z wykorzystaniem metodyki zwinnej, jakich się spodziewano. Czy wiedziałeś, że ponad połowa firm zajmujących się produkcją oprogramowania eksperymentowała z metodykami zwinnymi? Pomimo opowieści o sukcesach — których jest niemało! — wiele zespołów wypróbowuje metodykę zwinną, ale uzyskuje mało zadowalające rezultaty. W rzeczywistości ludzie często czują się nabici w butelkę! Metodyka zwinna zdawała się obiecywać im olbrzymie korzyści, ale wdrożenie jej w ramach ich własnych projektów nie przynosiło odpowiednich efektów. Kate mierzy się z taką właśnie sytuacją. Samodzielnie opracowała plan i teraz chce otrzymywać aktualne dane od zespołu. Zaczęła wobec tego od zaciągania niechętnych członków zespołu na codzienne stand-upy. Oczywiście jest w stanie wepchnąć ich na siłę do sali, ale co z tego? Kate przejmuje się tym, że ludzie nie działają zgodnie z jej planem, więc zaczyna się koncentrować na wyciąganiu aktualnych danych od każdego z pracowników. Mike wraz z innymi programistami chce natomiast, żeby spotkanie skończyło się szybko i żeby wszyscy mogli wrócić do „prawdziwej” pracy. Dowiaduję się o problemach, kiedy jest już za późno, żeby coś z tym zrobić. W trakcie mało skutecznego codziennego spotkania, które Kate zarządziła, każdy z uczestników wyłącza się, gdy inny coś mówi, a wszyscy starają się powiedzieć jak najmniej. Kate udaje się wprawdzie zdobyć jakieś przydatne informacje, ale ceną tego jest konflikt i ogólne wrażenie nudy, przy czym żaden z uczestników spotkania nie jest zainteresowany nawiązaniem współpracy. Kiedy jesteśmy ciągani po spotkaniach, nie mamy czasu na pisanie kodu. Jeśli mamy dwie osoby, to każda z nich może postrzegać tę samą praktykę bardzo odmiennie. Jeżeli obie nie mają poczucia, że jakoś na tym korzystają, współpraca może się okazać mało skuteczna. 6 Rozdział 1. Poleć książkęKup książkę Czym jest metodyka zwinna? Czy nie tak właśnie wyglądają projekty rozwoju oprogramowania? Coś, co prezentuje się dobrze w podręczniku, niekoniecznie musi się sprawdzać w praktyce. Nie da się z tym niczego zrobić, prawda? A właśnie że się da! Właściwe nastawienie sprawia, że takie praktyki są skuteczniejsze. Powiedzmy sobie jasno: sposób, w jaki Kate prowadzi stand-upy, jest dość standardowy. Choć nie jest to optymalne rozwiązanie, codzienne spotkania przeprowadzane w ten sposób mimo wszystko przynoszą jakieś rezultaty. Kate dowiaduje się, co jest nie tak z jej planem, a zespół Mike’a na dłuższą metę na tym korzysta, ponieważ może dzięki temu rozwiązywać ewentualne problemy na wcześniejszym etapie prac. Same spotkania nie zajmują dużo czasu, więc — tak czy inaczej — warto je organizować. Istnieje jednak spora różnica między zespołem zwinnym, który jedynie wykonuje swoje obowiązki, a takim, który uzyskuje świetne wyniki. Decyduje o niej nastawienie, z jakim zespół podchodzi do każdego projektu. Może się to wydawać nieprawdopodobne, ale nastawienie osób zaangażowanych w stosowanie danej praktyki wpływa na jej efektywność! Nastawienie każdego z członków zespołu wobec praktyki takiej jak codzienny stand-up istotnie wpływa na jej efektywność. Spotkanie takie może jednak być wystarczająco skuteczne, nawet jeśli jest nudne i nikt nie jest w nie zaangażowany. jesteś tutaj� 7 Poleć książkęKup książkę Nastawienie przede wszystkim Praktyki stosuje się sprawniej dzięki odpowiedniemu nastawieniu Co by się stało, gdyby Kate i Mike mieli inne nastawienie? Co by było, gdyby każdy członek zespołu miał zupełnie inne podejście do codziennego stand-upu? Co by się na przykład stało, gdyby Kate miała poczucie, że wszyscy członkowie zespołu współpracują przy planowaniu projektu? W takiej sytuacji byłaby ona skłonna rzeczywiście wysłuchać każdego programisty. Gdyby Kate zmieniła swoje nastawienie do stand-upu, przestałaby zwracać uwagę na to, jak bardzo praktyka odbiega od jej planów, i nie skupiałaby się na ciągłym poprawianiu innych. Zaczęłaby się jednocześnie bardziej koncentrować na zrozumieniu planu będącego owocem wspólnej pracy, a jej zadaniem byłoby pomaganie całemu zespołowi w efektywniejszym wykonywaniu obowiązków. Jest to takie podejście do planowania, z jakim Kate nigdy nie miała styczności w ramach nauki zarządzania projektami, bardzo odmienne od tego, które było jej znane. Zawsze uczono ją, że jej zadaniem jest opracowanie planu projektu i narzucenie go zespołowi. Dano jej do dyspozycji narzędzia pozwalające na sprawdzenie tego, jak dokładnie zespół przestrzega jej planu, jak również sztywne procesy służące do wprowadzania zmian w sposobie działania zespołu. Nie znam Teraz wszystko wygląda inaczej. Kate zrozumiała, że sprawne przeprowadzenie codziennego stand-upu wymaga włożenia pewnego wysiłku w nawiązanie współpracy z zespołem, tak aby wszyscy jego członkowie mogli wspólnie sformułować najlepsze podejście do projektu. Dzięki temu spotkanie stanie się dla całego zespołu sposobnością do współdziałania i upewnienia się, czy wszyscy podejmują właściwe decyzje i czy projekt rozwija się we właściwym kierunku. wszystkich odpowiedzi. Potrzebujemy takich spotkań, aby móc zaplanować projekt razem! Kate bardzo się irytowała, kiedy trafiała na zmiany wprowadzone do jej planu projektowego, ponieważ na ogół było wtedy już za późno, żeby skierować projekt na właściwe tory. Ponieważ wprowadzono codzienny stand-up do planu dnia, cały zespół codziennie pomaga Kate w wykrywaniu takich zmian, tak aby można było poczynić właściwe kroki odpowiednio wcześnie. Takie rozwiązanie jest o wiele sprawniejsze! 8 Rozdział 1. Poleć książkęKup książkę Czym jest metodyka zwinna? Czyli codzienny stand-up polega na tym, że słuchasz, co ja i mój zespół mamy do powiedzenia, i rzeczywiście dostosowujesz do tego przebieg realizacji projektu? Co by było, gdyby Mike doszedł do wniosku, że takie spotkanie nie polega jedynie na informowaniu o stanie prac, tylko na omawianiu przebiegu projektu i wymyślaniu sposobów na usprawnienie pracy? Taki codzienny stand-up prawdopodobnie stałby się dla niego ważnym punktem dnia. Dobry programista niemal zawsze ma wyrobione zdanie nie tylko na temat własnego kodu, ale także na temat ogólnego kierunku rozwoju całego projektu. Codzienny stand-up jest dla niego okazją, aby upewnić się, czy projekt realizowany jest rozsądnie i wydajnie. Mike wie, że jeśli cały projekt jest sprawnie realizowany, to jego kod będzie miał na dłuższą metę większą wartość dla zespołu. Wie też, że jeśli zgłosi na spotkaniu problem związany z planem, wszyscy go wysłuchają, a dzięki temu realizacja projektu będzie efektywniejsza. Wszystko działa najlepiej, kiedy Mike (wraz z resztą zespołu) jest świadom tego, że codzienne spotkanie pomaga w rozplanowaniu prac na następny dzień, a każdy członek zespołu uczestniczy w planowaniu. To ma sens! Planowanie przebiega o wiele sprawniej, kiedy wszyscy członkowie zespołu biorą w nim udział. Tyle tylko, że chyba wszyscy uczestnicy muszą być zaangażowani w rozmowę przez cały czas, żeby to mogło zadziałać. Wysil szare komórki Jak zmienić nastawienie całego zespołu lub poszczególnych jego członków? Czy przychodzą Ci do głowy jakieś przykłady zmiany czyjegoś nastawienia — może nawet Twojego własnego — z którymi zetknąłeś się w pracy nad własnymi projektami? jesteś tutaj� 9 Poleć książkęKup książkę Praktyka nie zawsze czyni mistrza Czym właściwie jest ta cała metodyka zwinna? Metodyki zwinne są zoptymalizowane pod kątem ułatwienia rozwiązywania konkretnych problemów, z jakimi zwykle borykają się zespoły programistyczne, a jednocześnie odznaczają się one pewną prostotą, dzięki której wdrożenie ich jest stosunkowo łatwe. Takie metodyki odnoszą się do wszystkich obszarów tradycyjnej produkcji oprogramowania, w tym do zarządzania projektem, projektowania oprogramowania i formułowania jego architektury oraz usprawniania procesów. Każda z nich składa się z ustandaryzowanych praktyk, zoptymalizowanych pod kątem ułatwienia ich wdrażania. Poświęciłam tyle czasu na wymyślenie własnego planu, ale zespół ciągle go zmienia. Na codziennych spotkaniach będę mogła dopilnować, żeby członkowie zespołu robili wszystko to, co im powiem. Nastawienie kontra metodyka Wytwarzanie zwinne wiąże się jednak również z pewnym nastawieniem, co jest zupełnie nowym pojęciem dla wielu osób, które wcześniej nie miały z nim styczności. Wychodzi na to, że nastawienie każdego członka zespołu do stosowanych praktyk może znacząco wpłynąć na efektywność całego zespołu. Nastawienie zwinne skupia się na tym, aby ułatwić ludziom dzielenie się informacjami, co pomaga im w podejmowaniu ważnych decyzji projektowych (i nie muszą zdawać się przy tym na szefa lub menedżera projektu). Polega to na pozostawieniu decyzyjności dotyczącej planowania, projektowania i ulepszania procesów całemu zespołowi. Aby wszystkim łatwiej było przyjąć skuteczne nastawienie, każda metodyka zwinna ma własny zestaw wartości, którymi członkowie zespołu mogą się kierować. Jeśli wszyscy będziemy wspólnie pracować nad planowaniem projektu, to będziemy mogli wprowadzać korekty na bieżąco w trakcie codziennych spotkań. Wysil szare komórki Co się dzieje, kiedy jeden z członków zespołu wyłącza się w trakcie codziennego stand-upu i nie słucha tego, co mówią inni? 10 Rozdział 1.Poleć książkęKup książkę Zaostrz ołówek Oto kilka problemów, na które Kate, Ben i Mike zwrócili uwagę w trakcie codziennego stand-upu. Obok nich widnieją nazwy różnych praktyk, które są często wykorzystywane przez zespoły zwinne. Nie martw się, jeśli po raz pierwszy stykasz się z niektórymi z nich — przeczytasz o nich więcej w dalszej części książki, dlatego tutaj zamieszczone zostały jedynie krótkie opisy. Sprawdź, czy możesz dopasować poszczególne problemy do praktyk ułatwiających ich rozwiązanie. ” Zmarnowaliśmy bardzo dużo czasu na przekopywanie się przez kod spaghetti, żeby znaleźć ten błąd!”. Retrospektywa jest spotkaniem, podczas którego wszyscy dyskutują o przebiegu końcowego etapu projektu i wyciągają wnioski. Dobra, omówiliśmy historyjki ” użytkowników. Zastanówmy się teraz, jak składają się one w całość, żebyśmy mogli rozplanować kolejne tygodnie pracy”. Historyjka użytkownika jest sposobem na wyrażenie jednej, konkretnej potrzeby użytkownika, zazwyczaj w formie kilku zdań zapisanych na karteczce samoprzylepnej lub fiszce. Przy każdym nowym wydaniu ciągle mamy te same problemy”. ” Właśnie przeprowadziłem ” demonstrację nowej funkcji dla jednego z naszych użytkowników. Powiedział, że wcale nie rozwiązuje ona problemu, jaki miał”. Tablica zadań jest narzędziem do planowania. Korzystanie z niej polega na przyklejaniu karteczek z historyjkami do tablicy i układaniu ich w kolumny na podstawie ich statusu. Wykres spalania jest aktualizowanym codziennie wykresem liniowym, wskazującym ilość pracy, jaką trzeba jeszcze wykonać, by zrealizować projekt, „spalającą się” do zera, kiedy następuje zakończenie wszystkich zadań. ” Myślałam, że zdążymy zaktualizować kod bazy danych z piosenkami do piątku. Teraz mi mówicie, że potrwa to jeszcze trzy tygodnie?”. Programiści rozwiązują problemy z kodem poprzez jego ciągłą refaktoryzację, czyli poprawianie struktury bez zmiany zachowania. Nie przejmuj się, jeśli nie zetknąłeś się jeszcze z powyższymi praktykami. Więcej na ich temat przeczytasz w kolejnych rozdziałach. 11 jesteś tutaj�Czym jest metodyka zwinna?Poleć książkęKup książkę Metodyka postępowania Scrum jest najpopularniejszym podejściem do wytwarzania zwinnego Zespoły mogą stosować różnorakie metodyki zwinne, a jest ich co niemiara. Przez lata przeprowadzono jednak wiele badań, z których wynika, że najczęściej korzysta się ze Scruma, czyli ram postępowania koncentrujących się na zarządzaniu projektem i rozwoju produktu. Kiedy zespół korzysta ze Scruma, każdy projekt przebiega według jednakowego wzorca. W projekcie scrumowym występują trzy główne role: Właściciel Produktu (jest nim Ben), który pracuje z zespołem nad utrzymaniem Rejestru Produktu, Scrum Master (dosł. Mistrz Młyna), który zajmuje się pomaganiem zespołowi w pokonywaniu różnych przeszkód, oraz członkowie zespołu programistycznego (czyli wszyscy pozostali). Projekt podzielony jest na sprinty, czyli cykle o jednakowym czasie trwania (często dwutygodniowym lub miesięcznym), które przebiegają zgodnie ze wzorcem Scruma. Na początku sprintu zespół przeprowadza planowanie sprintu, aby określić, które funkcje z rejestru produktu zostaną w ramach niego opracowane. Zespół przez cały czas trwania sprintu pracuje nad wszystkimi funkcjami, które zawarto w Rejestrze Sprintu. Zespół każdego dnia urządza krótkie spotkanie, zwane codziennym Scrumem. Pod koniec sprintu działające oprogramowanie zostaje zademonstrowane Właścicielowi Produktu i interesariuszom w ramach przeglądu sprintu, a zespół urządza retrospektywę, aby omówić wnioski, jakie wyciągnięto w trakcie pracy. Metodykę Scrum omówimy szczegółowo w rozdziałach 3. i 4. Dowiesz się, w jaki sposób Scrum pomaga w tworzeniu lepszego programowania i sprawniejszej realizacji projektów, a także wykorzystasz go do zbadania pojęć i koncepcji istotnych dla zespołów stosujących metodykę zwinną. XP i Lean/Kanban Choć Scrum jest najpopularniejszą metodyką zwinną, wiele zespołów korzysta z innych podejść. Drugą metodyką pod względem popularności jest XP, które koncentruje się na rozwoju oprogramowania i programowaniu, a często używane jest razem ze Scrumem. Inne zespoły stosują metodyki Lean i Kanban —dają one możliwość zorientowania się, jak wytworzyć oprogramowanie teraz, a ulepszyć je w przyszłości. Więcej o podejściach XP i Lean/Kanban przeczytasz w rozdziałach 5. i 6. S p o ko j n i e Za dużo nowych pojęć? Nowe pojęcia są w tej książce oznaczone pogrubionym pismem, kiedy pojawiają się po raz pierwszy. Na tej stronie pojawiło się ich niemało, więc jeżeli stykasz się z niektórymi z nich pierwszy raz, nie przejmuj się! Zapoznanie się teraz z nowymi pojęciami w odpowiednim kontekście pomoże Ci, kiedy później będziesz czytał ich bardziej szczegółowe omówienie. Jest to jeden ze stałych elementów serii Rusz głową!, dzięki którym nauka jest łatwiejsza! 12 Rozdział 1. Poleć książkęKup książkę Czym jest metodyka zwinna? Zaostrz ołówek Rozwiązanie Zespoły mogą uniknąć popełniania ciągle tych samych błędów, wracając do projektu i omawiając to, co poszło dobrze, oraz to, co można usprawnić. ” Zmarnowaliśmy bardzo dużo czasu na przekopywanie się przez kod spaghetti, żeby znaleźć ten błąd!”. Retrospektywa jest spotkaniem, podczas którego wszyscy dyskutują o przebiegu końcowego etapu projektu i wyciągają wnioski. Tablica zadań jest świetnym sposobem na przedstawienie wszystkim członkom zespołu tego samego oglądu projektu. Dobra, omówiliśmy historyjki ” użytkowników. Zastanówmy się teraz, jak składają się one w całość, żebyśmy mogli rozplanować kolejne tygodnie pracy”. Historyjka użytkownika jest sposobem na wyrażenie jednej, konkretnej potrzeby użytkownika, zazwyczaj w formie kilku zdań zapisanych na karteczce samoprzylepnej lub fiszce. Przy każdym nowym wydaniu ciągle mamy te same problemy”. ” ” Właśnie przeprowadziłem demonstrację nowej funkcji dla jednego z naszych użytkowników. Powiedział, że wcale nie rozwiązuje ona problemu, jaki miał”. Kiedy wszyscy członkowie zespołu rozumieją użytkowników i znają ich potrzeby, o wiele sprawniej idzie im tworzenie oprogramowania, które odpowiada użytkownikom. Tablica zadań jest narzędziem do planowania. Korzystanie z niej polega na przyklejaniu karteczek z historyjkami do tablicy i układaniu ich w kolumny na podstawie ich statusu. Wykres spalania jest aktualizowanym codziennie wykresem liniowym, wskazującym ilość pracy, jaką trzeba jeszcze wykonać, by zrealizować projekt, „spalającą się” do zera, kiedy następuje zakończenie wszystkich zadań. To jest praktyka zaczerpnięta z XP. Niektórzy menedżerowie projektu podczas pierwszej styczności z praktykami zwinnymi są zaskoczeni, że dotyczą one samego kodu, a nie planowania i realizacji projektu. ” Myślałam, że zdążymy zaktualizować kod bazy danych z piosenkami do piątku. Teraz mi mówicie, że potrwa to jeszcze trzy tygodnie?”. Programiści rozwiązują problemy z kodem poprzez jego ciągłą refaktoryzację, czyli poprawianie struktury bez zmiany zachowania. jesteś tutaj� 13 Poleć książkęKup książkę Podejście zwinne to nie tylko zmiana nazewnictwa Nie istnieją głupie pytania P: Wygląda na to, że Scrum, XP i Lean/Kanban bardzo się od siebie różnią. Jak to możliwe, że wszystkie one są metodykami zwinnymi? O: Scrum, XP i Lean/Kanban koncentrują się na bardzo różnych obszarach. Scrum skupia się głównie na zarządzaniu projektem: na przedmiocie prac i dostosowaniu go do potrzeb użytkowników oraz interesariuszy. XP koncentruje się na rozwoju oprogramowania: tworzeniu wysokiej jakości kodu, który jest dobrze zaprojektowany i łatwy w utrzymaniu. Lean/Kanban jest połączeniem podejścia Lean z metodą Kanban, którego zespoły używają w celu ciągłego doskonalenia sposobu wytwarzania oprogramowania. Innymi słowy, Scrum, XP i Lean/Kanban skupiają się na trzech różnych obszarach wytwarzania oprogramowania: zarządzaniu projektem, projektowaniu i architekturze oraz doskonaleniu procesów. Nic więc dziwnego, że ich praktyki różnią się od siebie. W następnym rozdziale przeczytasz zaś o tym, co je łączy: wspólnych wartościach i zasadach, które pomagają zespołom przyjąć odpowiednie nastawienie do stosowania metodyki zwinnej. P: Czy nie mówimy tutaj o rzeczach, które dobrze znam, tyle tylko, że teraz są one oznaczone nowymi etykietkami? Te sprinty scrumowe to po prostu kamienie milowe i fazy projektu, prawda? O: Przy pierwszym zetknięciu się z metodologią zwinną taką jak Scrum powszechne jest doszukiwanie się znajomo wyglądających elementów — i bardzo dobrze! Jeśli pracujesz już od jakiegoś czasu w zespole programistycznym, wiele aspektów metodyki zwinnej powinno wydać Ci się znajomych. Twój zespół w końcu zajmuje się tworzeniem czegoś, a poza tym pewnie wiele rzeczy chcecie nadal robić tak samo jak dotąd. Łatwo jednak przyjąć błędne założenie, że znajomo wyglądający element metodyki zwinnej jest dokładnie tym czymś, czego już używasz. Przykładowo sprinty scrumowe nie są tym samym co fazy projektu. Istnieje wiele różnic pomiędzy fazami i kamieniami w tradycyjnym zarządzaniu projektem a sprintami w Scrumie. Przy standardowym planowaniu projektu wszystkie fazy projektu są wyznaczane na samym początku; w Scrumie szczegółowo planuje się natomiast jedynie następny sprint. Ta różnica może się wydać nieco dziwna dla zespołu przyzwyczajonego do tradycyjnego zarządzania projektem. Już wkrótce dowiesz się o wiele więcej o tym, jak działa planowanie w Scrumie oraz jak odbiega ono od podejść, do których jesteś przyzwyczajony. Na razie zachowaj otwarty umysł i staraj się zwracać uwagę na momenty, w których myślisz sobie: „Przecież ja już to wszystko wiem!”. CeLNe SPoSTrzeżeNiA  Wiele zespołów wdrażających metodykę zwinną zaczyna od prowadzenia codziennych stand-upów, czyli spotkań całego zespołu, podczas których wszyscy stoją, żeby rozmowa się nie przedłużała.  Podejścia zwinne są nie tylko zestawami metod i metodyk, ale też wymagają przyjęcia pewnego nastawienia przez wszystkich członków zespołu.  Codzienny stand-up jest skuteczniejszy, kiedy wszyscy członkowie zespołu mają takie samo nastawienie — kiedy wszyscy się wzajemnie słuchają i wspólnie dążą do tego, żeby projekt rozwijał się prawidłowo.  Każda metodyka zwinna cechuje się pewnymi wartościami, które pomagają zespołowi przyjąć odpowiednie nastawienie.  Kiedy członkowie zespołu przestrzegają wspólnych zasad i wartości, wykorzystywana przez nich metoda staje się o wiele efektywniejsza. 14 Rozdział 1.  Scrum, metodyka koncentrująca się na zarządzaniu projektem i rozwoju produktu, jest najczęściej stosowanym podejściem zwinnym.  W projekcie scrumowym zespół dzieli pracę na sprinty, czyli cykle o równej długości (często są to okresy miesięczne) oparte na wzorcu Scruma.  Każdy sprint zaczyna się od sesji planowania sprintu, określającej, jakie prace mają zostać wykonane.  W trakcie sprintu zespół pracuje nad projektem i codziennie organizuje krótkie spotkanie, nazywane codziennym Scrumem.  Pod koniec sprintu zespół urządza przegląd sprintu z udziałem interesariuszy, aby zademonstrować działające oprogramowanie.  Na zakończenie sprintu zespół organizuje retrospektywę, aby omówić przebieg sprintu i możliwości poprawy dla całego zespołu. Poleć książkęKup książkę Czym jest metodyka zwinna? Nie lekceważ znaczenia nastawienia Wielu ludzi — zwłaszcza zatwardziałych programistów — przewraca oczami, kiedy tylko słyszy pojęcia takie Obejr zyj to! jak nastawienie, wartości i zasady. Największą skłonność do wyłączania się w takich momentach mają koderzy, którzy wolą siedzieć sami w swojej kanciapie i do nikogo się nie odzywać. Jeśli sam zaczynasz tak reagować, to postaraj się jednak dać tym pojęciom szansę. Bądź co bądź niemało świetnego oprogramowania powstało dzięki zastosowaniu tej metodyki, więc coś musi być na rzeczy… prawda? Zaostrz ołówek Które z poniższych scenariuszy są przykładami zastosowania praktyk, a które wykorzystania zasad? Nie martw się, jeśli pierwszy raz stykasz się z niektórymi z tych praktyk — postaraj się wywnioskować właściwe odpowiedzi z kontekstu. (Takie podejście przydaje się zresztą na egzaminach certyfikacyjnych!). 1. Kate wie, że najskuteczniejszym sposobem na przekazywanie swojemu zespołowi ważnych informacji o projekcie jest rozmowa twarzą w twarz. c Zasada c Praktyka 2. Mike i jego zespół wiedzą, że użytkownicy prawdopodobnie zmienią później swoje zdanie, a wprowadzanie zmian może się okazać katastrofalne dla kodu, wobec czego zespół zapobiegawczo posługuje się projektowaniem przyrostowym, aby wytworzony kod można było z łatwością zmienić na późniejszym etapie. c Zasada c Praktyka 3. Ben używa person do modelowania typowych użytkowników, ponieważ wie, że im lepiej zespół ich rozumie, tym sprawniej będzie sobie radzić z tworzeniem oprogramowania. c Zasada c Praktyka 4. Mike zawsze pilnuje, by jego zespół pracował nad czymś, co będzie mógł później zaprezentować Kate i Benowi, ponieważ wie, że działające oprogramowanie świadczy o postępach poczynionych przez zespół. c Zasada c Praktyka 5. Kate chce usprawnić sposób, w jaki zespół wytwarza oprogramowanie, więc zachęca go do wspólnego doskonalenia się i eksperymentalnego rozwoju, wymyślając zmiany, jakie może on wprowadzić do swoich procesów, a także używając danych do stwierdzenia, czy zmiany te rzeczywiście okazały się korzystne. c Zasada c Praktyka 6. Mike i jego zespół aktywnie ustosunkowują się do zmian, tworząc kod, który będzie można łatwo zmienić na późniejszym etapie. Zasada c c Praktyka Odpowiedzi na s. 20 jesteś tutaj� 15 Poleć książkęKup książkę Większa widoczność to lepsze wyniki (prawda?) Nigdy dotąd nam się tak dobrze nie współpracowało! Ten codzienny stand-up zmienił wszystko! Kate: Ten projekt idzie nam dużo lepiej niż wcześniejsze. A wszystko dzięki temu, że codziennie urządzamy jedno krótkie spotkanie! Mike: Nie powiedziałbym. Kate: A możesz przestać być takim malkontentem? Mike: Serio mówię. Chyba nie myślisz, że nikt przed tobą nie wpadł na to, żeby rozwiązywać nasze problemy z projektami poprzez urządzanie dodatkowych spotkań? Kate: E… No… Mike: No dobra, udało nam się uzyskać naprawdę niezłe wyniki, więc będę z tobą szczery. Kiedy zaczęłaś prowadzić te codzienne stand-upy, prawie cały zespół był niezadowolony z tego pomysłu. Kate: Naprawdę? Mike: Nie pamiętasz, jak przez pierwsze półtora tygodnia większość z nas po prostu gapiła się w swoje telefony? Kate: No tak, wtedy rzeczywiście niewiele z tego wynikało. Też muszę szczerze powiedzieć, że myślałam wówczas o odwołaniu tego wszystkiego. Mike: W końcu jednak jedna z programistek zwróciła uwagę na poważny problem z architekturą. Wszyscy jej wysłuchali, bo jest naprawdę dobra w tym, co robi, i wszyscy szanują jej zdanie. Kate: Rzeczywiście. Musieliśmy wprowadzić większą zmianę, więc wycięłam dwie funkcje z kolejnego wydania, żebyśmy z tym wszystkim zdążyli. Mike: Tak! I to właśnie okazało się naprawdę istotne. Zazwyczaj, kiedy wykrywamy takie problemy, musimy pracować po nocach, żeby sobie z nimi jakoś poradzić. Tak jak wtedy, kiedy dowiedzieliśmy się, że algorytm analizy danych o słuchaczach zawierał poważny błąd. Kate: Jeju, to było straszne. Zwykle dowiaduję się o takich problemach po tym, kiedy już obiecam dostarczenie czegoś, czego nie możemy zapewnić. Tym razem wykryliśmy problem wcześnie i mogłam razem z Benem wpłynąć na oczekiwania użytkowników, a wam dać czas na wymyślenie nowego rozwiązania. Mike: A my na pewno będziemy informować o takich problemach, kiedy tylko się pojawią. Kate: Czekaj, co? Takie problemy zdarzają się często?! Mike: Żartujesz? Nigdy jeszcze nie realizowałem projektu, w którym nie trafiłbym przynajmniej raz na taką niespodziankę w trakcie kodowania. Tak wygląda realizacja projektów programistycznych w prawdziwym świecie. Kate właśnie uświadomiła sobie, że realizacja projektów programistycznych jest o wiele bardziej złożona i chaotyczna w praktyce niż na papierze. Wcześniej mogła opracowywać plany samodzielnie i narzucać je zespołowi, a kiedy coś szło nie tak, mogła zakładać, że to z winy zespołu, a nie jej. Jednakże ostatni projekt był o wiele bardziej udany od poprzednich. Kate musiała dołożyć starań, żeby poradzić sobie z problemami, ale w zamian uzyskała lepsze wyniki! 16 Rozdział 1. Poleć książkęKup książkę Czym jest metodyka zwinna? Krzyżówka Rozwiąż krzyżówkę i zapoznaj się z poniższymi terminami dotyczącymi metodyk zwinnych! Ile poprawnych odpowiedzi podasz bez przeglądania tego rozdziału? Poziomo 3. Ma duże znaczenie dla wdrażania praktyk 5. Narzędzie lub technika stosowane przez zespół 6. Zespoły XP robią to w celu ciągłego doskonalenia struktury kodu 9. Scrum lub XP 10. Jedna z metodyk, stosowana często w połączeniu z Kanbanem 12. Spotkanie, na którym zespół omawia wnioski wyciągnięte z pracy 13. Metodyka koncentrująca się na doskonaleniu procesu 14. Na jego doskonaleniu koncentruje się Kanban 16. Pracuje wspólnie nad projektem 18. Codzienny _________ bywa przydatny, ale sprawdza się najlepiej, kiedy wszyscy członkowie zespołu mają właściwe nastawienie 20. Jego Właściciel w zespole scrumowym zarządza rejestrem Pionowo 1. Obok wartości pomagają zespołom przyjąć odpowiednie nastawienie do stosowania metodyki zwinnej 2. _________ spalania — wskazuje ilość pracy, jaka pozostała 4. Wykres wskazujący ilość pracy, jaką trzeba jeszcze wykonać, do wykonania by zrealizować projekt 5. _________ przyrostowe — praktyka XP, w ramach której zespół rozwija bazę kodu przyrostowo wraz z upływem czasu 7. _________ Produktu — zarządza rejestrem w zespole scrumowym 8. Zespoły scrumowe robią to wspólnie na początku prac nad projektem 9. Scrum _________ pomaga zespołowi w pokonywaniu przeszkód i we wdrożeniu metodyki Scruma 11. Cecha takich metodyk jak Scrum czy XP 12. Znajdują się w nim funkcje, których jeszcze nie stworzono 15. Chronologiczna jednostka podziału projektu scrumowego 17. Ramy działania koncentrujące się na zarządzaniu projektem i rozwoju 19. Metodyka koncentrująca się na kodzie i projektowaniu produktu oprogramowania jesteś tutaj� 17 Poleć książkęKup książkę Certyfikacja PMI-ACP pomoże Ci wyćwiczyć zwinność Certyfikacja Agile Certified Practitioner (PMI-ACP)® została przygotowana przez Project Management Institute w odpowiedzi na potrzeby menedżerów projektów, którzy coraz częściej muszą pracować z metodami, metodykami, praktykami i technikami zwinnymi. Podobnie jak w przypadku certyfikacji PMP, PMI stworzyło egzamin odnoszący się do zadań, narzędzi i praktyk stosowanych na co dzień przez zespoły zwinne. Certyfikacja PMI-ACP przeznaczona jest dla wszystkich osób pracujących w zespołach zwinnych lub w organizacjach przechodzących na metodyki zwinne. Pani doktor pomoże Ci zadbać o kondycję i przygotować się do egzaminu. Jeśli zamierzasz podejść do egzaminu, przygotujesz się do niego, odpowiadając na pytania próbne, które pomogą Ci powtórzyć materiał z każdego rozdziału. egzamin sprawdza praktyczną wiedzę o wytwarzaniu zwinnym. Egzamin PMI-ACP odzwierciedla sposób, w jaki zespoły rzeczywiście pracują. Obejmuje on najczęściej stosowane metody i metodyki, takie jak Scrum, XP i Lean/Kanban. Pytania egzaminacyjne nawiązują do zadań, które zespoły wykonują na co dzień. Niniejsza książka ma za zadanie przede wszystkim przekazać Ci wiedzę o podejściach zwinnych właśnie dlatego, że zrozumienie metod, metodyk, praktyk, wartości i koncepcji zwinnych jest najskuteczniejszym sposobem przygotowania się do egzaminu PMI-ACP. Poza przedstawieniem Ci szerokiego omówienia metodyk zwinnych zajmiemy się też konkretnie materiałami egzaminacyjnymi. Książka ta prezentuje pełny zakres egzaminacji PMI-ACP. Znajduje się w niej wiele pytań próbnych, wskazówek testowych i ćwiczeń przygotowujących, w tym pełny egzamin próbny, dobrze odzwierciedlający ten właściwy. TRENING UMYSŁU Nawet jeśli nie zamierzasz zdawać egzaminu PMI-ACP, zawarte w tej książce pytania próbne dadzą Ci możliwość spojrzenia na materiał z innej strony. To świetny sposób na skuteczne przyswojenie sobie wiedzy! 18 Poleć książkęKup książkę rozdziały 2. – 7. kończą się zestawami próbnych pytań egzaminacyjnych. znajdziesz w nich też podrozdziały „Klinika naukowa”, w których omówimy różne rodzaje pytań, z jakimi zetkniesz się na egzaminie. Umiejętność odróżnienia różnych typów pytań na egzaminie jest przydatna, ponieważ widok czegoś znajomego pomoże Ci się odprężyć, a tym samym szybciej udzielać odpowiedzi. Poniższy przykład ukazuje pytanie typu „suche fakty”. Na takie pytanie należy odpowiedzieć wskazaniem jakiejś prostej informacji, ale należy pamiętać o uważnym przeczytaniu wszystkich odpowiedzi! Często bowiem pojawiają się odpowiedzi, które wydają się poprawne, ale wcale takie nie są. 39. Czego zespoły używają do analizowania postępów prac nad projektem? A. Refaktoryzacji Niektóre odpowiedzi są w oczywisty sposób błędne. Refaktoryzacja dotyczy ulepszania kodu, a nie oceny postępów. Pytania próbne dostarczą Ci wskazówek i pomogą opracować strategię… B. Retrospektyw Niektóre odpowiedzi bywają mylące! Retrospektywa pomaga zespołowi lepiej zrozumieć projekt, ale nie pozwala na śledzenie postępów, jako że obejmuje ona przede wszystkim tę część pracy, którą już wykonano. C. Wykresów spalania Poprawna odpowiedź! Wykres spalania jest narzędziem ukazującym dotychczasowe postępy prac oraz ilość pracy, którą trzeba jeszcze wykonać. D. Ciągłej integracji Nie spotkałeś się jeszcze z tym terminem — jest to praktyka stosowana przez zespoły XP. W niektórych pytaniach egzaminacyjnych trafisz na niezrozumiałe odpowiedzi. Wszystko w porządku! Odpręż się i skoncentruj na pozostałych. W tym przypadku jedna z nich jest poprawna. Jeśli jednak zdarzy się tak, że żadna z innych odpowiedzi nie będzie trafna, to będziesz mógł je kolejno eliminować i podjąć racjonalną próbę odgadnięcia poprawnej! …A PONADTO W PODROZDZIAŁACH „KLINIKA NAUKOWA” POMOŻEMY CI SIĘ PRZYGOTOWAĆ DO EGZAMINU PMI-ACP, OMAWIAJĄC RÓŻNE RODZAJE PYTAŃ, A TAKŻE DAJĄC CI OKAZJĘ DO SAMODZIELNEGO NAPISANIA WŁASNYCH! 19 Poleć książkęKup książkę Zaostrz ołówek. Rozwiązanie Zaostrz ołówek Rozwiązanie Jest to jedna z zasad metodyk zwinnych: rozmowa twarzą w twarz jest najskuteczniejszym sposobem na przekazywanie informacji zespołowi programistycznemu, jak również w jego obrębie. 1. Kate wie, że najskuteczniejszym sposobem na przekazywanie swojemu zespołowi ważnych informacji o projekcie jest rozmowa twarzą w twarz. c Zasada c Praktyka Projektowanie przyrostowe jest praktyką XP, w ramach której zespół rozwija bazę kodu przyrostowo wraz z upływem czasu. 2. Mike i jego zespół wiedzą, że użytkownicy prawdopodobnie zmienią później swoje zdanie, a wprowadzanie zmian może się okazać katastrofalne dla kodu, wobec czego zespół zapobiegawczo posługuje się projektowaniem przyrostowym, aby wytworzony kod można było z łatwością zmienić na późniejszym etapie. c Zasada Stosowanie person jest praktyką polegającą na tworzeniu fikcyjnych użytkowników z własnymi imionami (i często też fikcyjnymi zdjęciami portretowymi) w celu lepszego zrozumienia ludzi, którzy będą korzystać z oprogramowania. c Praktyka 3. Ben używa person do modelowania typowych użytkowników, ponieważ wie, że im lepiej zespół ich rozumie, tym sprawniej będzie sobie radzić z tworzeniem oprogramowania. c Zasada c Praktyka Istotna zasada głosi, że działające oprogramowanie jest główną miarą postępu realizacji projektu, jako że jest to najskuteczniejszy sposób na oszacowanie, co właściwie udało się zespołowi osiągnąć. 4. Mike zawsze pilnuje, by jego zespół pracował nad czymś, co będzie mógł później zaprezentować Kate i Benowi, ponieważ wie, że działające oprogramowanie świadczy o postępach poczynionych przez zespół. c Zasada c Praktyka 5. Kate chce usprawnić sposób, w jaki zespół wytwarza oprogramowanie, więc zachęca go do wspólnego doskonalenia się i eksperymentalnego rozwoju, wymyślając zmiany, jakie może on wprowadzić do swoich procesów, a także używając danych do stwierdzenia, czy zmiany te rzeczywiście okazały się korzystne. c Zasada Jest to jedna z fundamentalnych praktyk Kanbana. Zespół posługuje się metodą naukową, aby określić, czy jego ulepszenia sprawdzają się w praktyce. c Praktyka 6. Mike i jego zespół aktywnie ustosunkowują się do zmian, tworząc kod, który będzie można łatwo zmienić na późniejszym etapie. c c Zasada Istotną wartością dla wszystkich skutecznych zespołów XP jest aktywne ustosunkowywanie się do zmian, w odróżnieniu od unikania ich lub opierania się im. Praktyka 20 Rozdział 1. Poleć książkęKup książkę Czym jest metodyka zwinna? 3 N A S T 1 Z A S A D Y W I E N I E K Z T Y K A C J A A R R 2 W Y K R E S F E A 12 R E J E S T R 6 R 8 10 P L A N O W A N I E 4 S P A L A N I E 5 P R O J E K T O W A N I E K T T R 13 K A 16 Z 18 S T A N D 7 W Ł A Ś C I C I E L 51 S P R I N T E T O D Y K 9 M A S T E R Y A C E 11 Z W I N N O Ś Ć S P E K B A N P Ó Ł 41 P R 19 20 X P R O D U K P 17 S C R U M Hej, popatrz! W rozwiązaniu ”Zaostrz ołówek” na poprzedniej stronie znajdują się dopiski z przydatnymi objaśnieniami! Jestem pewien, że pomogą Ci w nauce. jesteś tutaj� 21 Poleć książkęKup książkę 22 Rozdział 1. Poleć książkęKup książkę Skorowidz A adaptacja, 93, 95, 99 analiza Kano, 325 pre-mortem, 351 sytuacji, 155 Analizator Odbiorców, 246, 266, 289, 293 anatomia opcji, 270 API, 205 artefakty, 76, 79, 112, 114 automatyzacja kompilacji, 210 B basen, 315, 317 bezpieczeństwo, 428 bramka zatwierdzania ryzyka, 363 C certyfikacja PMI-ACP®, 18, 307–376, 391 CFD, cumulative flow diagrams, 292, 344 ciągła integracja, 211, 219, 239, 241, 329 ciągłe doskonalenie, 361 CircuitTrak, 178 codzienne Scrumy, 74, 78, 95, 99,
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Agile. Rusz głową!
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: