Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00721 010402 11035364 na godz. na dobę w sumie
Extreme Programming. Leksykon kieszonkowy - książka
Extreme Programming. Leksykon kieszonkowy - książka
Autor: Liczba stron: 104
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-343-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> techniki programowania
Porównaj ceny (książka, ebook, audiobook).

Nowoczesne metody zespołowego tworzenia aplikacji

Wydajne programowanie (ang. Extreme Programming, XP) to nowe podejście do tworzenia oprogramowania oparte o najlepsze z technik ze szczególnym uwzględnieniem prostoty i pracy zespołowej. XP to ciągłe testowanie i przeglądanie kodu oraz znaczne zaangażowanie klienta w proces tworzenia aplikacji. Choć metody te przemawiają do programistów, ich praktykowanie wymaga cierpliwości i jest nie lada wyzwaniem.

Niniejsza książka wyjaśnia podstawowe techniki w ujęciu całościowym. Niezależnie od tego, czy jesteś programistą, klientem lub menedżerem; czy zaczynasz projekt od początku lub chcesz poprawić już istniejący, Extreme Programming z pewnością może Cię wiele nauczyć. Warto mieć satysfakcję z pisania oprogramowania.

W leksykonie omówiono: Zamiast zagłębiać się w setkach stron na temat Extreme Programming, sprawdź jak wiele informacji udało się zmieścić w tej małej książeczce. Będzie Ci ona towarzyszyć i służyć pomocą w całym procesie tworzenia aplikacji.

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

Darmowy fragment publikacji:

Extreme Programming. Leksykon kieszonkowy Autor: chromatic T³umaczenie: Rafa³ Joñca ISBN: 83-7361-343-9 Tytu³ orygina³u: Extreme Programming Pocket Guide Format: B5, stron: 104 Wydajne programowanie (ang. Extreme Programming, XP) to nowe podejġcie do tworzenia oprogramowania oparte o najlepsze z technik ze szczególnym uwzglêdnieniem prostoty i pracy zespo³owej. XP to ci¹g³e testowanie i przegl¹danie kodu oraz znaczne zaanga¿owanie klienta w proces tworzenia aplikacji. Choæ metody te przemawiaj¹ do programistów, ich praktykowanie wymaga cierpliwoġci i jest nie lada wyzwaniem. Niniejsza ksi¹¿ka wyjaġnia podstawowe techniki w ujêciu ca³oġciowym. Niezale¿nie od tego, czy jesteġ programist¹, klientem lub mened¿erem; czy zaczynasz projekt od pocz¹tku lub chcesz poprawiæ ju¿ istniej¹cy, Extreme Programming z pewnoġci¹ mo¿e Ciê wiele nauczyæ. Warto mieæ satysfakcjê z pisania oprogramowania. W leksykonie omówiono: • Techniki XP • Elementy XP • Zdarzenia w XP • Kodowanie w stylu XP • Wdro¿enie XP Zamiast zag³êbiaæ siê w setkach stron na temat Extreme Programming, sprawdĥ jak wiele informacji uda³o siê zmieġciæ w tej ma³ej ksi¹¿eczce. Bêdzie Ci ona towarzyszyæ i s³u¿yæ pomoc¹ w ca³ym procesie tworzenia aplikacji. IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści Przedmowa...................................................................................... 5 Wstęp ................................................................................................ 7 Rozdział 1. Dlaczego extreme programming?...................... 12 Kto troszczy się o proces? ...................................................i........................... 13 Równanie XP...................................................i.................................................. 14 Wartości XP...................................................i...................................................i. 18 Komunikacja...................................................i........................................... 18 Odpowiedzi na pytania ...................................................i....................... 19 Prostota...................................................i...................................................i. 21 Odwaga ...................................................i...................................................i 22 Zakładanie dostateczności rozwiązania...................................................i... 22 Wystarczająca ilość czasu ...................................................i.................... 23 Wystarczająca ilość zasobów ...................................................i.............. 23 Stały koszt zmian...................................................i................................... 24 Wydajność twórcy...................................................i................................. 25 Dowolność eksperymentowania...................................................i........ 26 Rozdział 2. Techniki XP ............................................................ 28 Techniki kodowania...................................................i..................................... 29 1. technika kodowania: proste projektowanie i kodowanie............ 29 2. technika kodowania: bezlitosna refaktoryzacja............................. 32 3. technika kodowania: opracowanie standardów kodowania...... 35 4. technika kodowania: stosowanie wspólnego słownictwa .......... 37 Techniki tworzenia ...................................................i....................................... 39 1. technika tworzenia: kreowanie z nakierowaniem na testy......... 39 2. technika tworzenia: programowanie w parach............................. 44 3. technika tworzenia: stosowanie zasady kolektywnej własności kodu...................................................i............................... 47 4. technika tworzenia: ciągła integracja ............................................... 49 Techniki biznesowe ...................................................i...................................... 51 1. technika biznesowa: klient jest członkiem zespołu....................... 52 2. technika biznesowa: zabawa w planowanie .................................. 54 3. technika biznesowa: regularne wydania......................................... 57 4. technika biznesowa: praca we względnym spokoju .................... 59 Spis treści 3 Rozdział 3. Zdarzenia XP ......................................................... 62 Planowanie iteracji...................................................i........................................ 62 Opisy funkcji i zadania...................................................i......................... 62 Oszacowanie czasu pracy i harmonogramowanie ........................... 63 Pierwsza iteracja ...................................................i.................................... 66 Iteracja ...................................................i...................................................i.......... 67 Wydanie...................................................i...................................................i....... 69 Rozdział 4. Elementy XP........................................................... 71 Karty funkcji...................................................i...................................................i 71 Karty zadań...................................................i...................................................i. 73 Pokój wojenny ...................................................i............................................... 74 Rozdział 5. Role w XP............................................................... 77 Klient ...................................................i...................................................i............ 77 Prawa klienta...................................................i.......................................... 78 Odpowiedzialność klienta...................................................i................... 79 Programista ...................................................i...................................................i. 80 Prawa programisty ...................................................i............................... 81 Odpowiedzialność programisty...................................................i......... 81 Dodatkowe role...................................................i............................................. 82 Organizator...................................................i............................................. 82 Trener...................................................i...................................................i.... 82 Rozdział 6. Kodowanie, styl XP ............................................ 84 Wykonanie najprostszej rzeczy, która będzie działała ............................ 84 Nie będziemy tego potrzebowali ...................................................i.............. 87 Raz i tylko raz ...................................................i................................................ 88 Rozdział 7. Dostosowanie do XP .......................................... 90 Zanim zaczniemy...................................................i.......................................... 91 Eliminacja strachu i praca razem...................................................i............... 91 Uzyskiwanie informacji...................................................i............................... 93 Dołączenie menedżerów i klientów...................................................i.......... 95 Gdy już stosujemy techniki...................................................i......................... 98 Rozdział 8. Dodatkowe zasoby .............................................. 99 Witryny na temat XP...................................................i.................................... 99 Skorowidz .............................................................................103 4 Extreme Programming. Leksykon kieszonkowy Rozdział 5. Role w XP Każdy projekt XP zawiera kilka różnych ról — każda z nich ma własne prawa i zakres odpowiedzialności. XP stara się polepszyć komunikację między klientem a programistą, dzięki wyraźnemu rozdzieleniu zadań stojących przed tymi dwoma osobami. Jeśli zadanie ma zostać wykonane właściwe, trzeba rozmawiać z drugą grupą. XP daje programistom autorytet podejmowania decyzji technicz- nych, gdyż dobrze się na nich znają. Klient ma za zadanie po- dejmować decyzje biznesowe. Obydwie dziedziny wpływają na siebie. Dokładne rozdzielenie zadań zwiększa szansę odniesie- nia sukcesu. Klient Klient steruje projektem. Definiuje go i określa jego cele. Im do- kładniejsza jest jego praca i częstszy udział w zebraniach, tym większe prawdopodobieństwo odniesienia sukcesu. Klient podejmuje decyzje biznesowe. Odpowiada za nie, gdyż jest obeznany z tym tematem. Jego celem jest określenie celów projektu (funkcji programu). Musi odpowiedzieć na pytania: „Co powinna robić dana funkcja?”, „W jaki sposób poznamy, iż jest gotowa?”, „Ile czasu możemy nad nią spędzić?”, „Kiedy należy ją zaimplementować?”. Klient współpracuje z programistami. Pisze karty funkcji, wyja- śniające zasadę działania funkcji, i tworzy harmonogram. Odpo- wiada na pytanie co?. Uczestniczy w planowaniu i wybiera funkcje wprowadzane w następnej iteracji. Odpowiada na pytania kiedy? i ile?. Tworzy i wykonuje teksty akceptacyjne (przy pomocy pro- gramisty), aby sprawdzić, czy funkcja jest już gotowa. Odpowiada na pytanie czy gotowe?. Rozdział 5. Role w XP 77 Klient reprezentuje użytkownika końcowego. W projekcie pro- wadzonym wewnątrz funkcji może nawet być końcowym użyt- kownikiem. W innych sytuacjach służy jako pośrednik. Odpowiada za identyfikację potrzeb z punktu widzenia użytkownika. Pro- gramiści troszczą się o kwestie techniczne. Klient odpowiada też za stronę finansową projektu. Dąży do mak- symalizacji zysku. W dowolnym momencie oprogramowanie po- winno zawierać najbardziej istotne funkcje, które zostały dodane do harmonogramu zgodnie z posiadaną wiedzą. Klient w technikach XP korzysta z kilku źródeł informacji. Musi rozumieć zagadnienia biznesowe, dotyczące projektu, nawet jeśli te zmieniają się wraz z upływem czasu. Czy funkcja jest teraz mniej lub bardziej ważna niż wtedy, gdy była definiowana? Czy funkcja może zostać opóźniona, zaniechana lub uproszczonja? Klient musi być w stanie w dowolnym momencie ocenić projekt. Które funkcje są gotowe? W jakim stopniu spełniają one założenia? Z drugiej strony klient musi znać techniczne zależności, przede wszystkim ich wpływ na wartość i ryzyko wprowadzenia funkcji. Czy lepiej dodać do harmonogramu własną funkcję, czy może skorzystać z propozycji programisty? XP zawsze traktuje klienta jako jedną osobę. Jeśli jest tylko po- średnikiem z klientami lub przedstawicielem inwestora, musi mówić jednym głosem. Przyjmuje rolę autorytetu, który ponosi odpowiedzialność za swoje decyzje. Prawa klienta XP określa kilka praw klienta. • Maksymalizacja zysków, aby w harmonogramie znalazły się zawsze najpotrzebniejsze funkcje (patrz „2. technika bizne- sowa: zabawa w planowanie” z rozdziału 2.). 78 Extreme Programming. Leksykon kieszonkowy • Dostosowanie możliwości projektu do zmian harmonogramu. Do- bieranie funkcji do dodania lub usunięcia z iteracji, jeśli przy- bliżenie czasu trwania okazuje się błędne (patrz „1. technika biznesowa: klient jest częścią zespołu” z rozdziału 2.). • Określenie kolejności wprowadzania funkcji przez wybór kart funkcji do wprowadzenia w aktualnej iteracji (patrz „2. tech- nika biznesowa: zabawa w planowanie” z rozdziału 2.). • Pomiar postępów prac nad projektem w dowolnym momencie przez wykonanie testów akceptacyjnych (patrz „1. techni- ka tworzenia: kreowanie z nakierowaniem na testy” z roz- działu 2.). • Zakończenie projektu w dowolnym momencie bez utraty zysków. Wynika to z faktu, że oprogramowanie jest utrzymywane w stanie pełnej gotowości do wydania i zawiera najbardziej przydatne funkcje (patrz „4. technika tworzenia: ciągła inte- gracja” i „2. technika biznesowa: zabawa w planowanie”, oba w rozdziale 2.). Odpowiedzialność klienta XP określa kilka elementów, za które odpowiada kliejnt. • Podejmowanie decyzji technicznych powinien pozostawić progra- mistom, ponieważ to oni znają się na technologii (patrz „2. technika biznesowa: zabawa w planowanie” z rozdziału 2.). • Poprawna analiza ryzyka, czyli poprawne uszeregowanie funk- cji pod kątem ich znaczenia (patrz „2. technika biznesowa: zabawa w planowanie” z rozdziału 2.). • Wybór funkcji o największej wartości. Wstawianie do harmono- gramu następnej iteracji najważniejszych funkcji (patrz „2. technika biznesowa: zabawa w planowanie” z rozdziału 2.j). Rozdział 5. Role w XP 79 • Precyzyjne opisanie funkcji, aby programiści mogli wykonać dokładne karty zadań i poprawnie określić przybliżonjy czas ich wprowadzenia (patrz „Karty funkcji” z rozdziału 4.). • Praca w zespole. Służenie radą i szybkie odpowiadanie na pytania (patrz „1. technika biznesowa: klient jest częścią ze- społu” z rozdziału 2.). Programista Większość technik XP dotyczy codziennej pracy nad kodem. Za- daniem programisty jest zamiana opisu funkcji dostarczonego przez klienta na działający kod. Rola programisty w planowaniu i implementacji funkcji zależy od jego wiedzy i rozumienia problemów technicznych. Progra- mista tworzy i zarządza ewoluującym systemem. Musi odpowia- dać na pytania: „W jaki sposób to zaimplementować?”, „Ile czasu to zajmie?” i „Jakie jest ryzyko?”. Programista współpracuje z klientem, by dobrze zrozumiejć opis funkcji. Na podstawie opisu decyduje o implementacji. Następnie określa, ile czasu zajmie wprowadzenie funkcji, bazując na zapro- ponowanej implementacji i zdobytym doświadczeniu. Oszacowa- nie czasu trwania pomaga klientowi umieścić w harmonogramie najważniejsze funkcje i odpowiedzieć na pytanie jak długo?. Gdy tworzy się karty zadań z kart funkcji lub implementuje funkcję, można odkryć wzajemne zależności między funkcjami, ryzykowane funkcje wykorzystujące nową technologię lub zwięk- szoną złożoność zagadnienia. Programista omawia problemy z klientem, który może zmienić harmonogram. Zazwyczaj ryzyko jest niewielkie — redukuje je praktykowanie prostotyj. 80 Extreme Programming. Leksykon kieszonkowy Prawa programisty XP określa kilka praw programisty. • Określenie czasu potrzebnego na wprowadzenie funkcji, czyli umożliwienie podejmowania decyzji technicznych (patrz „2. technika biznesowa: zabawa w planowanie” z roz- działu 2.). • Praca zgodnie z sensownym i przewidywalnym harmonogzramem. Harmonogram powinien zawierać tylko taką liczbę zadań, jaką można wykonać w rozsądnym przedziale czasu (patrz „4. technika biznesowa: praca we względnym spokoju” z roz- działu 2.). • Wykonanie kodu spełniającego potrzeby klienta, dzięki skupieniu się na testowaniu, refaktoryzacji i komunikacji z klientem (patrz „1. technika tworzenia: kreowanie z nakierowaniem na testy” i „2. technika kodowania: bezlitosna refaktoryzacja”, oba z rozdziału 2.). • Unikanie podejmowania decyzji biznesowych. Powinien podej- mować je klient (patrz „1. technika biznesowa: klient jest częścią zespołu” z rozdziału 2.). Odpowiedzialność programisty XP określa zakres odpowiedzialności programisty. • Stosowanie standardów zespołu, aby system był prosty, dobrze przetestowany i sprawny (patrz rozdział 6.). • Implementacja tylko wymaganych funkcji, by projekt był prosty i najbardziej cenny dla klienta (patrz rozdział 6.). • Stała komunikacja z klientem w celu zrozumienia zagadnień i wykonania odpowiedniego harmonogramu (patrz „1. tech- nika biznesowa: klient jest częścią zespołu” z rozdziału 2.). Rozdział 5. Role w XP 81 Dodatkowe role XP identyfikuje dwie dodatkowe role. Nie muszą się one pojawić w każdym zespole. Organizator Organizator zajmuje się śledzeniem zgodności z harmonjogramem. XP stosuje kilka miar. Najważniejszą z nich jest szybkość ze- społu, czyli stosunek oszacowanego czasu idealnego do rzeczy- wistego czasu spędzonego nad implementacją. Innym ważnym wskaźnikiem może być zmiana szybkości, ilość pracy wykony- wanej ponad normę i stosunek testów z poprawnymi wynikami do testów z błędami. Wszystkie z tych miar dotyczą postępu prac. Pomagają określić, czy projekt jest wykonywany zgodnie z harmonogramem iteracji. Umożliwiają wykrycie sygnałów, wskazujących na niezgodność z harmonogramem. Przyjrzenie się samym liczbom nie zawsze da pełny obraz sytuacji. Anomalie należy przedyskutować na spotkaniu z całym zespołem (patrz podrozdział „Iteracja” z roz- działu 3.). Pomiar szybkości w iteracji powinien być codzienne lub co dwa dni. Organizator pyta się programistów, ile zadań udało im się wykonać. Zadawanie tych pytań powinno być wykonywane oso- biście, ale nieformalne i w komfortowej atmosferze. Szczerość to podstawa, a organizator nie powinien być stronniczy. Organiza- torem powinien być menedżer lub zaufany programista. Regu- larne sprawdzanie postępów pomaga przezwyciężyć problemy i pracować bardziej płynnie. Trener Niektóre projekty XP zawierają trenera, który doradza i mentalnie wspiera zespół. Taka pomoc jest szczególnie przydatna w trakcie 82 Extreme Programming. Leksykon kieszonkowy wprowadzania technik XP. Trener powinien świecić przykładem i być osobą wielce szanowaną przez resztę zespołu. Czasem trudno w pełni stosować techniki XP. Choć wiele z nich ma sens, potrzeba czasu na dostosowanie się do nowych warun- ków. Pojawiają się przeszkody, które wymagają wsparcia mistrza. Trener powinien służyć swym doświadczeniem. Trener stara się poprawić techniki XP i ogólne zasadjy tworzenia oprogramowania u programistów. Czasem uczy bezpośrednio. Innym razem sam siada przed komputerem i uczy na przykła- dach. Może zasugerować konkretną implementację, podsunąć rozwiązanie trudnego problemu technicznego, a także służyć jako pośrednik między zespołem i zarządem. Rozdział 5. Role w XP 83
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Extreme Programming. Leksykon kieszonkowy
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ą: