Agile Development. Filozofia programowania zwinnego



Podobne dokumenty
Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Wprowadzenie do zarządzania procesami biznesowymi czym są procesy biznesowe: Part 1

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

Matematyka-nic trudnego!

Efektywna strategia sprzedaży

Motywuj świadomie. Przez kompetencje.

DE-WZP JJ.3 Warszawa,

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Excel w logistyce - czyli jak skrócić czas przygotowywania danych i podnieść efektywność analiz logistycznych

Zamawiający potwierdza, że zapis ten należy rozumieć jako przeprowadzenie audytu z usług Inżyniera.

ZASADY PROWADZENIA CERTYFIKACJI FUNDUSZY EUROPEJSKICH I PRACOWNIKÓW PUNKTÓW INFORMACYJNYCH

Szkoła Podstawowa nr 1 w Sanoku. Raport z ewaluacji wewnętrznej

Reforma emerytalna. Co zrobimy? SŁOWNICZEK

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: ops-targowek.waw.pl

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

Elementy i funkcjonalno

Harmonogramowanie projektów Zarządzanie czasem

Łańcuch Krytyczny w Zarządzaniu Projektami

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

Oświadczenie o stanie kontroli zarz ądczej Starosty Powiatu Radomszcza ńskiego za rok 2014

ZAPYTANIE OFERTOWE z dnia r

Oferta Usługa szkoleniowo doradcza z zakresu zarządzania przez kompetencje w MSP

REGULAMIN BIURA KARIER EUROPEJSKIEJ WYŻSZEJ SZKOŁY PRAWA I ADMINISTRACJI

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Europejska Akredytacja Indywidualna v2 (European Individual Accreditation)

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Posiadane punkty lojalnościowe można również wykorzystać na opłacenie kosztów przesyłki.

KOMISJA WSPÓLNOT EUROPEJSKICH, uwzględniając Traktat ustanawiający Wspólnotę Europejską, ROZDZIAŁ 1

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Badanie Kobiety na kierowniczych stanowiskach Polska i świat wyniki

Szczegółowe wyjaśnienia dotyczące definicji MŚP i związanych z nią dylematów

WYMAGANIA EDUKACYJNE SPOSOBY SPRAWDZANIA POSTĘPÓW UCZNIÓW WARUNKI I TRYB UZYSKANIA WYŻSZEJ NIŻ PRZEWIDYWANA OCENY ŚRÓDROCZNEJ I ROCZNEJ

Zakupy poniżej euro Zamówienia w procedurze krajowej i unijnej

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

I. 1) NAZWA I ADRES: Muzeum Warszawy, Rynek Starego Miasta 28-42, Warszawa, woj. mazowieckie, tel , faks

Temat. Skala dzia a. Program zdrowotny. Program zdrowotny

Warszawa: Dostawa kalendarzy na rok 2017 Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - dostawy

OGŁOSZENIE O ZAMÓWIENIU- DOSTAWY

ROCZNY PLAN WSPOMAGANIA W OBSZARZE: EFEKTY Gimnazjum w Piecniku. Jak pomóc uczniowi osiągnąć sukces edukacyjny?

I. 2) RODZAJ ZAMAWIAJĄCEGO:

KRYTERIA DOSTĘPU. Działanie 2.1,,E-usługi dla Mazowsza (typ projektu: e-administracja, e-zdrowie)

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Zaproszenie Usługa realizowana w ramach Projektu Polskiej Agencji Rozwoju Przedsiębiorczości Zarządzanie kompetencjami w MSP

Odpowiedzi na pytania zadane do zapytania ofertowego nr EFS/2012/05/01

Rady Miejskiej Wodzisławia Śląskiego. w sprawie stypendiów dla osób zajmujących się twórczością artystyczną i upowszechnianiem kultury.

Nowości w module: BI, w wersji 9.0

1. Proszę krótko scharakteryzować firmę którą założyła Pani/Pana podgrupa, w zakresie: a) nazwa, status prawny, siedziba, zasady zarządzania (5 pkt.

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: mc.bip.gov.pl/

Zarz dzanie Projektami Informatycznymi

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

STRATEGICZNA KARTA WYNIKÓW I JEJ ZASTOSOWANIE W ADMINISTARCJI PUBLICZNEJ

SEKCJA I: ZAMAWIAJĄCY SEKCJA II: PRZEDMIOT ZAMÓWIENIA.

Microsoft Management Console

I. 1) NAZWA I ADRES: Gmina Miasto Rzeszowa, Rynek 1, Rzeszów, woj. podkarpackie, tel , faks

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, Wrocław tel. (71) fax (71) kancelaria@mhbs.

Regulamin Wynagradzania Pracowników Urz du Gminy Pi tek.

Niniejszy ebook jest własnością prywatną.

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA. na obsługę bankową realizowaną na rzecz Gminy Solec nad Wisłą

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego ZAPYTANIE OFERTOWE

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Roman Dmowski Centrum Usług Wspólnych

Warszawa, woj. mazowieckie, tel , faks

ZARZ DZANIE ZESPO EM P DR PIOTR PILCH

franczyzowym w Polsce

Regulamin organizacyjny pracowni terapii zajęciowej prowadzonej w ramach działań Spółdzielni Socjalnej Pracownia Radości Kukułka w Nowej Soli

Us ugi edukacyjne obejmuj ce przeprowadzenie zaj w ramach projektu Indywidualizacja procesu nauczania i wychowania uczniów

II.2) CZAS TRWANIA ZAMÓWIENIA LUB TERMIN WYKONANIA: Okres w miesiącach: 7.

Przedmiotowy System Oceniania z języka angielskiego w klasach IV-VI. Szkoła Podstawowa nr 5 im. Bohaterów 12 Kołobrzeskiego Pułku Piechoty

Zmiany przepisów ustawy -Karta Nauczyciela. Warszawa, kwiecień 2013

Objaśnienia do Wieloletniej Prognozy Finansowej na lata

Piła: Prowadzenie obsługi bankowej Związku Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - usługi

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Zarządzenie Nr 10/2009 Wójta Gminy Kołczygłowy z dnia 16 marca 2009 r.

RAPORT Z EWALUACJI WEWNĘTRZNEJ

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: bip.sierpc.pl/index.jsp?

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Lepsze samopoczucie to lepsze oceny. Jaka jest korzyść dla dziecka?

Przedstawiamy raport z badań, jakie były przeprowadzane podczas spotkań w szkołach, w związku z realizacją projektu Szkoła na TAK.


II. WNIOSKI I UZASADNIENIA: 1. Proponujemy wprowadzić w Rekomendacji nr 6 także rozwiązania dotyczące sytuacji, w których:

REGULAMIN OKRESOWYCH OCEN PRACOWNIKÓW URZĘDU GMINY LIMANOWA ORAZ KIEROWNIKÓW JEDNOSTEK ORGANIZACYJNYCH GMINY LIMANOWA

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

U S T A W A. z dnia. o zmianie ustawy o ułatwieniu zatrudnienia absolwentom szkół. Art. 1.

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

1% r. ZWIĄZEK OCHOTNICZYCH STRAŻY POŻARNYCH RZECZYPOSPOLITEJ POLSKIEJ KRS: % podatku na rzecz Związku OSP RP

Warszawa, r.

DANE MAKROEKONOMICZNE (TraderTeam.pl: Rafa Jaworski, Marek Matuszek) Lekcja V

II. PRZEDMIOT ZAMÓWIENIA 1. Nazwa nadana zamówieniu przez zamawiającego: wykonanie koncepcji rozwoju hurtowni danych Publicznych Służb Zatrudnienia

Regulamin realizacji projektów edukacyjnych w Gimnazjum nr 4 w Nysie

WYNAGRODZE GOTÓWKOWYCH

Zapytanie ofertowe dotyczące wyboru wykonawcy (biegłego rewidenta) usługi polegającej na przeprowadzeniu kompleksowego badania sprawozdań finansowych

Lista standardów w układzie modułowym

Przedmiotowe Zasady Oceniania z języka angielskiego w klasach IV-VI w Szkole Podstawowej im. Janusza Korczaka w Biedaszkach.

17 Maja Zwi zek pomi dzy celami kszta cenia a ocenianiem Rodzaje oceniania. Metody oceniania wyników/osi gni kszta cenia G.

Transkrypt:

Agile Development. Filozofia programowania zwinnego Autor: James Shore, Shane Warden ISBN: 978-83-246-1614-5 Tytu³ orygina³u: The Art of Agile Development Format: 168x237, stron: 480 Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl Zbiór praktycznych wskazówek dla producentów oprogramowania Jak wdro yæ metodologiê programowania zwinnego? W jaki sposób zaanga owaæ klientów w projekt? Jak kontrolowaæ jakoœæ produktów? Programowanie zwinne (Agile Development) to obecnie jedna z najpopularniejszych metodologii zarz¹dzania projektami programistycznymi. Metodyka Agile jest szczególnie u yteczna w ma³ych zespo³ach programistycznych, w których z racji u³atwionej komunikacji nie ma potrzeby tworzenia rozbudowanej dokumentacji. Programowanie zwinne opiera siê na iteracyjnej realizacji kolejnych etapów projektu. Kluczem do sukcesu w tej metodzie jest efektywna wspó³praca miêdzy cz³onkami zespo³u projektowego. Ksi¹ ka Agile Development. Filozofia programowania zwinnego to przewodnik po programowaniu ekstremalnym, oznaczanym zwykle skrótem XP, które jest jedn¹ z technik wchodz¹cych w sk³ad tej metodyki. Czytaj¹c j¹, dowiesz siê, jak wdra aæ metodologiê Agile w firmie, na czym polega programowanie ekstremalne i jak¹ rolê w procesie pe³ni¹ poszczególni cz³onkowie grupy projektowej. Nauczysz siê budowaæ zespó³ i okreœlaæ zakresy zadañ osób bior¹cych udzia³ w pracach, planowaæ harmogram udostêpniania kolejnych wersji produktu oraz kierowaæ procesem jego tworzenia. Poznasz metody testowania programu i usuwania z niego b³êdów, zasady pisania dokumentacji oraz regu³y prowadzenia spotkañ roboczych z klientami. Wdra anie programowania zwinnego Techniki programowania ekstremalnego Cz³onkowie zespo³u XP Zarz¹dzanie zespo³em Anga owanie klienta w proces wytwórczy Tworzenie raportów Udostêpnianie kolejnych wersji systemu Standardy pisania kodu Testowanie i usuwanie b³êdów Optymalizacja wydajnoœci programu Od filozofii do mistrzostwa w zwinnym programowaniu!

Spis tre ci Wprowadzenie...9 Cz I Zaczynamy 1. Dlaczego zwinne programowanie?... 19 Czym jest sukces? 20 Poza harmonogram 21 Znaczenie sukcesów na poziomie organizacji 22 Wkraczanie w wiat zwinnego programowania 23 2. Jak by zwinnym?...25 Zwinne metody 26 Czy warto wymy la w asne metody? 27 Droga do mistrzostwa 27 Szukanie mentora 28 3. Zrozumie XP...29 Cykl ycia w XP 32 Zespó w XP 42 Poj cia zwi zane z XP 55 4. Wprowadzanie XP... 61 Czy XP to co dla nas? 61 Naprzód! 71 Ocena zwinno ci zespo u 83 5

Cz II Stosowanie XP 5. My lenie... 91 Programowanie w parach 93 Energiczna praca 102 Informacyjne miejsce pracy 107 Analizy przyczynowo-skutkowe 112 Retrospekcje 115 6. Wspó praca... 123 Zaufanie 126 Wspólna praca 137 Zaanga owanie prawdziwego klienta 147 Wspólny j zyk 152 Krótkie spotkania robocze 157 Standardy pisania kodu 161 Demonstracje iteracji 167 Raporty 174 7. Udost pnianie... 183 W pe ni gotowe 186 Brak b dów 191 Kontrola wersji 202 Dziesi ciominutowa kompilacja 211 Ci g a integracja 219 Wspó w asno kodu 229 Dokumentacja 234 8. Planowanie...239 Wizja 241 Planowanie wydania 247 Gra planistyczna 262 Zarz dzanie ryzykiem 268 Planowanie iteracji 278 Zapas 293 Opowie ci 301 Szacowanie 309 9. Wytwarzanie...323 Stopniowe zbieranie wymaga 325 Testy klienta 331 Wytwarzanie sterowane testami 339 6 SPIS TRE CI

Refaktoryzacja 360 Prosty projekt 372 Stopniowy rozwój projektu i architektury 380 Rozwi zania punktowe 391 Optymalizacja wydajno ci 395 Testy eksploracyjne 402 Cz III Mistrzostwo w dziedzinie programowania zwinnego 10. Warto ci i zasady... 415 Wspólne elementy 415 O warto ciach, zasadach i praktykach 416 Dalsza lektura 417 11. Usprawnianie procesu... 419 Zrozumienie projektu 419 Dopracowywanie i adaptacja 420 amanie regu 421 12. Poleganie na ludziach...425 Budowanie efektywnych zwi zków 425 Odpowiednie osoby do odpowiednich zada 427 Budowanie procesu dla ludzi 429 13. Eliminowanie marnotrawstwa... 431 Praca w ma ych, odwracalnych etapach 431 Szybkie wykrywanie niepowodze 433 Maksymalizacja liczby zada, których nie trzeba wykonywa 435 D enie do wysokiej przepustowo ci 436 14. Zapewnianie warto ci...439 Wykorzystanie zwinno ci 439 Warto ma tylko kod gotowy do udost pnienia 441 Zapewnianie wyników biznesowych 442 Cz ste udost pnianie 444 15. D enie do doskona o ci technicznej...447 Oprogramowanie nie istnieje 447 Projekt to narz dzie u atwiaj ce zrozumienie 448 Równowaga w projektach 449 Nienazwana cecha 449 SPIS TRE CI 7

Doskona y projekt 450 Ogólne zasady projektowania 451 Zasady w praktyce 454 D enie do mistrzostwa 456 Literatura cytowana...457 Skorowidz...463 8 SPIS TRE CI

ROZDZIA 1 Dlaczego zwinne programowanie? Zwinne wytwarzanie oprogramowania (ang. agile development) jest popularne. Wszystkie fajne firmy korzystaj z tego podej cia: Google, Yahoo, Symantec, Microsoft i tak dalej 1. Znam firm, która zmieni a nazw na Agili-co tam, aby przy czy si do trendu. Organizacja ta zadzwoni a do mnie z pro b, abym usprawni ich zwinne procesy, które po dok adniejszej analizie okaza y si niczym wi cej jak zlecaniem programowania firmom zewn trznym w innym kraju ni zwykle. Oczekuj, e w bardzo niedalekiej przysz o ci w ofercie du ych firm konsultingowych pojawi si Certyfikowane zwinne procesy i Certyfikowani konsultanci do spraw zwinnego programowania. Prosz, nie dajcie si wci gn w ten ba agan. W 1986 roku Brooks zapowiedzia, e uniwersalne rozwi zania nie powstan, e do roku 1996 adna pojedyncza technologia ani technika zarz dzania nie doprowadzi do dziesi ciokrotnego wzrostu produktywno ci, niezawodno ci lub prostoty [Brooks]. I rzeczywi cie, nikomu si to nie uda o. Równie zwinne wytwarzanie oprogramowania nie jest uniwersalnym rozwi zaniem. Co wi cej, nie zalecam stosowania zwinnego programowania, je li ma s u y wy cznie zwi kszeniu produktywno ci. Zalety tego podej cia tak e mo liwo cz stszego udost pniania oprogramowania wynikaj z odmiennego trybu pracy, a nie z szybszego wykonywania zada. Cho wed ug anegdotycznych wzmianek zespo y stosuj ce zwinne programowanie wykazuj si ponadprzeci tn wydajno ci 2, efekt ten nie powinien by g ówn przyczyn wprowadzania tego podej cia. Zespó potrzebuje czasu na opanowanie zwinnego wytwarzania oprogramowania. W trakcie nauki a mo e to zaj kwarta lub dwa cz onkowie grupy b d pracowa wolniej, a nie szybciej. Ponadto nacisk na produktywno czasem zach ca zespó do stosowania uproszcze i mniejszego rygoru w pracy, co mo e doprowadzi do spadku wydajno ci. 1 ród o: ró ne raporty u ytkowników na konferencjach po wi conych programowaniu ekstremalnemu i zwinnemu programowaniu. 2 Zobacz na przyk ad [Van Schooenderwoert], [Mah] i [Anderson 2006]. 19

Zwinne wytwarzanie oprogramowania jest obecnie modne, ale to nie powód, aby stosowa to podej cie. W trakcie podejmowania decyzji dotycz cej jego wprowadzenia wa na jest odpowied na tylko jedno pytanie. Czy zwinne wytwarzanie oprogramowania pomo e w osi ganiu wi kszych sukcesów? Kiedy zespó odpowie na to pytanie, b dzie wiedzia, czy powinien stosowa zwinne programowanie. Czym jest sukces? Tradycyjnie sukces uto samiany jest z dostarczeniem produktu na czas, w oczekiwanej cenie i zgodnie ze specyfikacj. Standish prezentuje kilka klasycznych definicji [Standish]: Udane Oprogramowanie uko czono na czas, po oczekiwanych kosztach, z mechanizmami i funkcjami zgodnymi z wyj ciow specyfikacj. Mimo popularno ci tych definicji, czego w nich brakuje. Z problemami Oprogramowanie jest gotowe i dzia a, ale przekroczono bud et oraz harmonogram, a mechanizmy i funkcje s ubo sze ni w wyj ciowej specyfikacji. Nieudane W pewnym miejscu cyklu rozwoju rozwój oprogramowania anulowano. Mimo popularno ci tych definicji, nie s one w pe ni poprawne. Projekt mo e by udany, nawet je li producent nie zarobi na nim ani grosza. Z kolei nawet je li przyniesie milionowe zyski, mo na go uzna za problematyczny. W magazynie CIO znajduje si komentarz do tej osobliwo ci: Nawet te projekty, które spe niaj wszystkie tradycyjne kryteria powodzenia w zakresie czasu, bud etu i specyfikacji mog okaza si nieudane, poniewa produkty nie s atrakcyjne dla u ytkowników lub w ostatecznym rozrachunku nie zapewniaj firmie korzy ci. [ ] Podobnie, projekty uznawane za nieudane wed ug tradycyjnych miar z bran y IT mog okaza si sukcesem, kiedy mimo problemów w obszarze kosztów, czasu lub specyfikacji system jest uwielbiany przez odbiorców i zapewnia nieoczekiwane korzy ci. Na przyk ad w firmie wiadcz cej us ugi finansowe nowy system [ ] zosta dostarczony z sze ciomiesi cznym opó nieniem i kosztowa ponad dwa razy wi cej, ni zak adano (ostateczny koszt wyniós 5,7 miliona dolarów). Jednak projekt zwi kszy elastyczno organizacji (po 13 miesi cach) i oceniono go jako wielki sukces. Wysoko umarzanych kredytów spad a o 33 miliony dolarów, a krótszy czas potrzebny na zapewnienie korzy ci i wy sza wydajno doprowadzi y do 50-procentowego wzrostu w liczbie jednocze nie prowadzonych testów strategii ci gania wierzytelno ci 3. 3 Nelson R. Ryan, Applied Insight Tracks in the Snow, CIO Magazine. http://www.cio.com/archive/090106/ applied.html. 20 ROZDZIA 1. DLACZEGO ZWINNE PROGRAMOWANIE?

Poza harmonogram Sukces musi zale e od czego innego ni mieszczenie si w terminie, ale od czego? Kiedy by em dzieckiem, cieszy a mnie sama zabawa. Uwielbia em wyzwania zwi zane z programowaniem. Ka de uruchomienie aplikacji traktowa em jak wielkie zwyci stwo. Wtedy nawet program, który nie dzia a, traktowa em jak pewnego rodzaju sukces, je li tylko tworzenie go sprawia o mi rado. Powodzenie postrzega em g ównie w kategoriach osobistych nagród. Kiedy nabra em do wiadczenia, zacz em pisa bardziej skomplikowane programy i cz sto gubi em si w ich dzia aniu. Musia em porzuci niektóre projekty przed ich uko czeniem. Zacz em wierzy, e kluczem do sukcesu jest atwo konserwacji. Spostrze enie to potwierdzi o si, kiedy podj em prac i zacz em wspó pracowa z zespo ami innych programistów. By em z siebie dumny, kiedy napisa em kod, który by elegancki i atwy w konserwacji. Sukces oznacza wtedy doskona o techniczn. Niektóre projekty ko cz si niepowodzeniem mimo dobrego kodu. Nawet doskonale przeprowadzone projekty mog by nieciekawe dla u ytkowników. Doszed em do wniosku, e zespó projektowy, w którym pracuj, jest cz ci wi kszego systemu, obejmuj cego dziesi tki, setki, a nawet tysi ce osób. Produkty maj zapewnia zadowolenie ich wszystkich, a przede wszystkim tych, którzy odpowiadaj za wysoko mojej pensji. Dla osób, które op acaj prac, warto oprogramowania musi przewy sza jego koszty. Sukces oznaczania zapewnianie korzy ci firmie. Przedstawione definicje nie s ze sob sprzeczne. Wa ny jest sukces na wszystkich trzech poziomach (zobacz rysunek 1.1). Bez powodzenia na poziomie osobistym twórca b dzie mia problemy z umotywowaniem siebie i pracowników. Bez sukcesu technicznego kod ród owy w pewnym momencie za amie si pod swym ci arem. Przy braku powodzenia na poziomie organizacji mo e si okaza, e zespó nie jest ju potrzebny. Rysunek 1.1. Oblicza sukcesu POZA HARMONOGRAM 21

Znaczenie sukcesów na poziomie organizacji Zespo y programistyczne cz sto zaniedbuj sukces na poziomie firmy na rzecz atwiejszego do osi gni cia powodzenia technicznego i osobistego. Nale y jednak pami ta o tym, e nawet je li dana osoba nie bierze odpowiedzialno ci za sukces organizacji, jej prze o eni oceniaj zespó na tym poziomie. Wy sza kadra zarz dzaj ca i dyrektorzy wykonawczy prawdopodobnie nie b d zwraca uwagi na to, czy oprogramowanie jest eleganckie, atwe w konserwacji, a nawet lubiane przez u ytkowników. Dla prze o onych licz si wyniki, czyli zwrot z inwestycji w projekt. Je li zespó nie osi ga sukcesów w tym obszarze, mened erowie podejm dzia ania, które zapewni powodzenie. Niestety, wy sza kadra zarz dzaj ca zwykle nie ma czasu lub odpowiedniej perspektywy, aby w ka dym projekcie stosowa wyrafinowane rozwi zania. Dlatego cz ciej u ywaj miecza ni skalpela i s usznie oczekuj, e to zespó projektowy zajmie si szczegó ami. Kiedy mened erowie s niezadowoleni z wyników zespo u, wyci gaj miecze. Najbardziej oczywisty obiekt ci to koszty. S dwa proste sposoby na ich zmniejszenie: bardzo krótkie terminy, które maj skróci czas wytwarzania, oraz zlecanie zada firmom maj cym siedziby w pa stwach o ni szych kosztach pracy. Mo na te zastosowa oba te rozwi zania jednocze nie. S to jednak nieeleganckie techniki. Krótkie terminy cz sto wyd u aj czas pracy zamiast go skraca [McConnell 1999, s. 220], a zlecanie zada firmom zewn trznym wi e si z ukrytymi kosztami [Overby]. Czy krótkie terminy i gro ba zlecenia zada firmom zewn trznym brzmi znajomo? Je li tak, pora na wzi cie przez zespó odpowiedzialno ci za sukces, i to nie tylko osobisty i techniczny, ale tak e na poziomie organizacji. CO CENI ORGANIZACJE? Cho warto niektórych projektów wynika bezpo rednio ze sprzeda y, korzy ci organizacji obejmuj tak e czynniki inne ni dochody. Projekty zapewniaj warto na wiele sposobów i nie zawsze mo na wyceni je w z otówkach i groszach. Mo na wyró ni nast puj ce ród a warto ci (obok dochodów i oszcz dno ci) 4 : odró nianie si od konkurencji; kreowanie marki; wzrost lojalno ci klientów; spe nianie wymaga prawnych; oryginalne badania; informacje strategiczne. 4 Oparte cz ciowo na [Danne i Cleland-Huang]. 22 ROZDZIA 1. DLACZEGO ZWINNE PROGRAMOWANIE?

Wkraczanie w wiat zwinnego programowania Czy zwinne wytwarzanie oprogramowania pomo e zespo owi w osi ganiu wi kszych sukcesów? Mo liwe. Zwinne programowanie koncentruje si osi ganiu celów osobistych, technicznych oraz organizacji. Je li zespó ma problemy w którym z tych obszarów, wdro enie zwinnego wytwarzania oprogramowania mo e okaza si pomocne. Sukces na poziomie organizacji Zwinne metody pozwalaj osi gn sukces na poziomie organizacji poprzez koncentracj na zapewnianiu warto ci i zmniejszaniu kosztów. Bezpo rednio przek ada si to na wy szy zwrot z inwestycji. Zwinne metody powoduj tak e wczesne ustalanie oczekiwa, dlatego je li projekt nie prowadzi do sukcesu organizacji, wiadomo o tym na tyle wcze nie, e mo na anulowa go przed poniesieniem wysokich nak adów. Zespo y stosuj ce zwinne programowanie zwi kszaj warto dzi ki w czeniu w prac ekspertów biznesowych i skoncentrowaniu wysi ków na podstawowych warto ciach, które projekt ma zapewnia organizacji. W projektach realizowanych zgodnie ze zwinnym podej ciem jako pierwsze przygotowywane s najbardziej warto ciowe funkcje, a zespó cz sto udost pnia nowe wersje, co znacznie zwi ksza warto. Kiedy zmieni si potrzeby biznesowe lub zespó zdob dzie nowe informacje, mo na zmieni kierunek prac, aby dostosowa go do zaistnia ej sytuacji. Do wiadczone zespo y stosuj ce zwinne podej cie poszukuj nieoczekiwanych mo liwo ci, które pozwol ulepszy plan dzia ania. Takie zespo y pozwalaj zmniejszy koszty. Po cz ci wynika to z doskona o ci technicznej. W najlepszych zwinnych projektach pojawia si tylko kilka b dów miesi cznie. Mniejsze jest tak e marnotrawstwo, co jest efektem wczesnego anulowania s abych projektów i zast powania kosztownych praktyk rozwoju prostszymi. Komunikacja w zwinnych zespo ach jest szybka i precyzyjna, a praca jest mo liwa nawet w przypadku nieobecno ci kluczowych osób. Cz onkowie regularnie kontroluj proces i nieustannie usprawniaj kod, dzi ki czemu konserwacja oprogramowania i wprowadzanie w nim poprawek s atwiejsze. Sukces techniczny Programowanie ekstremalne, czyli zwinna metoda, na której koncentruj si w tej ksi ce, szczególnie dobrze nadaje si do zapewniania sukcesu technicznego. Programi ci stosuj cy XP wspó pracuj ze sob, co pomaga im kontrolowa drobne szczegó y istotne w doskona ych produktach, a jednocze nie gwarantuje, e ka dy fragment kodu przejrz przynajmniej dwie osoby. Programi ci nieustannie integruj kod, co umo liwia zespo owi udost pnienie oprogramowania w ka dym momencie, kiedy ma to sens biznesowy. Ca y zespó koncentruje si na ca kowitym uko czeniu jednej funkcji przed przyst pieniem do pracy nad nast pn. Zapobiega to nieoczekiwanym opó nieniom w momencie udost pniania produktu i umo liwia swobodne zmienianie kierunku. Programowanie ekstremalne obejmuje, obok struktury rozwoju, zaawansowane praktyki techniczne, które prowadz do osi gni cia doskona o ci technicznej. Najbardziej znan technik jest wytwarzanie sterowane testami. Pomaga ono pisa kod, który dzia a dok adnie tak, jak programi ci tego oczekuj. Zespo y stosuj ce XP tworz tak e proste, nieustannie zmieniaj ce si projekty, które mo na atwo zmodyfikowa przy zmianie planów. WKRACZANIE W WIAT ZWINNEGO PROGRAMOWANIA 23

Sukces osobisty Sukces osobisty jest, no có, osobisty. Zwinne programowanie mo e nie spe nia wszystkich wymaga w obszarze sukcesu osobistego. Jednak po przyzwyczajeniu si do tej techniki u ytkownik, niezale nie od zajmowanego stanowiska, prawdopodobnie odkryje wiele jej zalet. Kierownictwo i wy sza kadra zarz dzaj ca Te osoby doceni d ugowieczno oprogramowania i koncentracj zespo u na zapewnianiu wysokiego zwrotu z inwestycji. U ytkownicy, udzia owcy, eksperci z dziedziny i mened erowie produktu Te osoby doceni wp yw, jaki maj na kierunek rozwoju oprogramowania, a tak e koncentracj zespo u na dostarczeniu u ytecznych i warto ciowych programów oraz wysok cz stotliwo udost pniania wersji. Mened erowie produktu i projektu Mened erowie doceni mo liwo zmiany kierunku prac w obliczu nowych potrzeb biznesowych, zdolno zespo u do podejmowania i spe niania zobowi za oraz wy sze zadowolenie udzia owców. Programi ci Programi ci doceni wy sz jako pracy wynikaj c z podniesienia jako ci technicznej, wi kszego wp ywu na szacunki i harmonogramy oraz niezale no ci zespo u. Testerzy Testerzy doceni traktowanie ich jak pe noprawnych cz onków zespo u, mo liwo wp ywu na jako na wszystkich etapach projektu oraz bardziej wymagaj c i mniej schematyczn prac. Praca w zwinnych zespo ach to jeden z najprzyjemniejszych okresów w mojej karierze. Wystarczy, e wyobra sobie przyjacielsk atmosfer w zespole, który wspó pracuje w celu zaprojektowania i udost pnienia produktu o trwa ej warto ci, gdzie ka dy cz onek grupy z entuzjazmem przyczynia si do skutecznego dzia ania ca o ci. Wyobra sobie branie odpowiedzialno ci za dany obszar techniczny, biznesowych lub zwi zany z zarz dzaniem i zaufanie reszty zespo u do moich zawodowych s dów i umiej tno ci. Jak e przyjemne jest rozwi zywanie problemów projektowych i obserwowanie poprawy jako ci. Zwinne programowanie zmienia obraz bran y. Rozwój i udost pnianie oprogramowania w nowy sposób wymaga du o pracy i pomy lunku. Jednak je li zespó stosuje omawiane podej cie spójnie i przestrzegaj c wszelkich zasad, mo e uzyska niezwyk e wyniki. B dzie regularnie wytwarza naprawd warto ciowe oprogramowanie i ka dego tygodnia demonstrowa post py. Ponadto rozwój oprogramowania stanie si przyjemniejszy ni kiedykolwiek wcze niej. Wszyscy gotowi? Zaczynamy. 24 ROZDZIA 1. DLACZEGO ZWINNE PROGRAMOWANIE?