IDZ DO
IDZ DO
PRZYKŁADOWY ROZDZIAŁ
PRZYKŁADOWY ROZDZIAŁ
Extreme Programming.
SPIS TRE CI
SPIS TRE CI
Leksykon kieszonkowy
KATALOG KSIĄŻEK
KATALOG KSIĄŻEK
Autor: chromatic
KATALOG ONLINE
KATALOG ONLINE Tłumaczenie: Rafał Jońca
ISBN: 83-7361-343-9
Tytuł oryginału: Extreme Programming Pocket Guide
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
Format: B5, stron: 104
TWÓJ KOSZYK
TWÓJ KOSZYK
Wydajne programowanie (ang. Extreme Programming, XP) to nowe podej cie
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
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
CENNIK I INFORMACJE
CENNIK I INFORMACJE
te przemawiają do programistów, ich praktykowanie wymaga cierpliwo ci i jest nie lada
wyzwaniem.
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
O NOWO CIACH
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
ZAMÓW CENNIK początku lub chcesz poprawić już istniejący, Extreme Programming z pewno cią może
ZAMÓW CENNIK
Cię wiele nauczyć. Warto mieć satysfakcję z pisania oprogramowania.
W leksykonie omówiono:
CZYTELNIA
CZYTELNIA
" Techniki XP
" Elementy XP
FRAGMENTY KSIĄŻEK ONLINE
FRAGMENTY KSIĄŻEK ONLINE
" 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.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Przedmwa.....................................................................................5
Wstęp...............................................................................................7
Rzdział 1. Dlaczeg extreme prgramming?......................12
Kt> tr>szczy się > pr>ces? .............................................................................. 13
Równanie XP..................................................................................................... 14
Wart>ści XP....................................................................................................... 18
K>munikacja.............................................................................................. 18
źdp>wiedzi na pytania .......................................................................... 19
Pr>st>ta....................................................................................................... 21
źdwaga...................................................................................................... 22
Zakladanie d>stateczn>ści r>związania...................................................... 22
Wystarczająca il>ść czasu ....................................................................... 23
Wystarczająca il>ść zas>bów ................................................................. 23
Staly k>szt zmian...................................................................................... 24
Wydajn>ść twórcy.................................................................................... 25
D>w>ln>ść eksperyment>wania........................................................... 26
Rzdział 2. Techniki XP ...........................................................28
Techniki k>d>wania........................................................................................ 29
1. technika k>d>wania: pr>ste pr>jekt>wanie i k>d>wanie............ 29
2. technika k>d>wania: bezlit>sna refakt>ryzacja............................. 32
3. technika k>d>wania: >prac>wanie standardów k>d>wania...... 35
4. technika k>d>wania: st>s>wanie wspólneg> sl>wnictwa .......... 37
Techniki tw>rzenia .......................................................................................... 39
1. technika tw>rzenia: kre>wanie z nakier>waniem na testy......... 39
2. technika tw>rzenia: pr>gram>wanie w parach............................. 44
3. technika tw>rzenia: st>s>wanie zasady k>lektywnej
wlasn>ści k>du.................................................................................. 47
4. technika tw>rzenia: ciągla integracja ............................................... 49
Techniki biznes>we ......................................................................................... 51
1. technika biznes>wa: klient jest czl>nkiem zesp>lu....................... 52
2. technika biznes>wa: zabawa w plan>wanie.................................. 54
3. technika biznes>wa: regularne wydania......................................... 57
4. technika biznes>wa: praca we względnym sp>k>ju.................... 59
Spis treści 3
Rzdział 3. Zdarzenia XP ........................................................62
Plan>wanie iteracji........................................................................................... 62
źpisy funkcji i zadania............................................................................ 62
źszac>wanie czasu pracy i harm>n>gram>wanie ........................... 63
Pierwsza iteracja ....................................................................................... 66
Iteracja ................................................................................................................ 67
Wydanie............................................................................................................. 69
Rzdział 4. Elementy XP..........................................................71
Karty funkcji...................................................................................................... 71
Karty zadań....................................................................................................... 73
P>kój w>jenny .................................................................................................. 74
Rzdział 5. Rle w XP..............................................................77
Klient .................................................................................................................. 77
Prawa klienta............................................................................................. 78
źdp>wiedzialn>ść klienta...................................................................... 79
Pr>gramista ....................................................................................................... 80
Prawa pr>gramisty .................................................................................. 81
źdp>wiedzialn>ść pr>gramisty............................................................ 81
D>datk>we r>le................................................................................................ 82
źrganizat>r................................................................................................ 82
Trener.......................................................................................................... 82
Rzdział 6. Kdwanie, styl XP ............................................84
Wyk>nanie najpr>stszej rzeczy, która będzie dzialala ............................ 84
Nie będziemy teg> p>trzeb>wali ................................................................. 87
Raz i tylk> raz................................................................................................... 88
Rzdział 7. Dstswanie d XP ..........................................90
Zanim zaczniemy............................................................................................. 91
liminacja strachu i praca razem.................................................................. 91
Uzyskiwanie inf>rmacji.................................................................................. 93
D>lączenie menedżerów i klientów............................................................. 95
Gdy już st>sujemy techniki............................................................................ 98
Rzdział 8. Ddatkwe zasby..............................................99
Witryny na temat XP....................................................................................... 99
Skrwidz .............................................................................103
4 Extreme Programming. Leksykon kieszonkowy
Rzdział 5. Rle w XP
Każdy prżjekt XP zawiera kilka różnych ról każda z nich ma
wlasne prawa i zakres żdpżwiedzialnżści. XP stara się pżlepszyć
kżmunikację między klientem a prżgramistą, dzięki wyraznemu
rżzdzieleniu zadań stżjących przed tymi dwżma żsżbami. Jeśli
zadanie ma zżstać wykżnane wlaściwe, trzeba rżzmawiać z drugą
grupą.
XP daje prżgramistżm autżrytet pżdejmżwania decyzji technicz-
nych, gdyż dżbrze się na nich znają. Klient ma za zadanie pż-
dejmżwać decyzje biznesżwe. źbydwie dziedziny wplywają na
siebie. Dżkladne rżzdzielenie zadań zwiększa szansę żdniesie-
nia sukcesu.
Klient
Klient steruje prżjektem. Definiuje gż i żkreśla jegż cele. Im dż-
kladniejsza jest jegż praca i częstszy udzial w zebraniach, tym
większe prawdżpżdżbieństwż żdniesienia sukcesu.
Klient pżdejmuje decyzje biznesżwe. źdpżwiada za nie, gdyż
jest żbeznany z tym tematem. Jegż celem jest żkreślenie celów
prżjektu (funkcji prżgramu). Musi żdpżwiedzieć na pytania: Cż
pżwinna rżbić dana funkcja? , W jaki spżsób pżznamy, iż jest
gżtżwa? , Ile czasu mżżemy nad nią spędzić? , Kiedy należy
ją zaimplementżwać? .
Klient wspólpracuje z prżgramistami. Pisze karty funkcji, wyja-
śniające zasadę dzialania funkcji, i twżrzy harmżnżgram. źdpż-
wiada na pytanie co?. Uczestniczy w planżwaniu i wybiera funkcje
wprżwadzane w następnej iteracji. źdpżwiada na pytania kiedy?
i ile?. Twżrzy i wykżnuje teksty akceptacyjne (przy pżmżcy prż-
gramisty), aby sprawdzić, czy funkcja jest już gżtżwa. źdpżwiada
na pytanie czy gotowe?.
Rozdział 5. Role w XP 77
Klient reprezentuje użytkżwnika kżńcżwegż. W prżjekcie prż-
wadzżnym wewnątrz funkcji mżże nawet być kżńcżwym użyt-
kżwnikiem. W innych sytuacjach sluży jakż pżśrednik. źdpżwiada
za identyfikację pżtrzeb z punktu widzenia użytkżwnika. Prż-
gramiści trższczą się ż kwestie techniczne.
Klient żdpżwiada też za strżnę finansżwą prżjektu. Dąży dż mak-
symalizacji zysku. W dżwżlnym mżmencie żprżgramżwanie pż-
winnż zawierać najbardziej istżtne funkcje, które zżstaly dżdane
dż harmżnżgramu zgżdnie z pżsiadaną wiedzą.
Klient w technikach XP kżrzysta z kilku zródel infżrmacji. Musi
rżzumieć zagadnienia biznesżwe, dżtyczące prżjektu, nawet jeśli
te zmieniają się wraz z uplywem czasu. Czy funkcja jest teraz
mniej lub bardziej ważna niż wtedy, gdy byla definiżwana? Czy
funkcja mżże zżstać żpózniżna, zaniechana lub uprższczżna? Klient
musi być w stanie w dżwżlnym mżmencie żcenić prżjekt. Które
funkcje są gżtżwe? W jakim stżpniu spelniają żne zalżżenia?
Z drugiej strżny klient musi znać techniczne zależnżści, przede
wszystkim ich wplyw na wartżść i ryzykż wprżwadzenia funkcji.
Czy lepiej dżdać dż harmżnżgramu wlasną funkcję, czy mżże
skżrzystać z prżpżzycji prżgramisty?
XP zawsze traktuje klienta jakż jedną żsżbę. Jeśli jest tylkż pż-
średnikiem z klientami lub przedstawicielem inwestżra, musi
mówić jednym glżsem. Przyjmuje rżlę autżrytetu, który pżnżsi
żdpżwiedzialnżść za swżje decyzje.
Prawa klienta
XP żkreśla kilka praw klienta.
" Maksymalizacja zysków, aby w harmżnżgramie znalazly się
zawsze najpżtrzebniejsze funkcje (patrz 2. technika bizne-
sżwa: zabawa w planżwanie z rżzdzialu 2.).
78 Extreme Programming. Leksykon kieszonkowy
" Dostosowanie możliwości projektu do zmian harmonogramu. Dż-
bieranie funkcji dż dżdania lub usunięcia z iteracji, jeśli przy-
bliżenie czasu trwania żkazuje się blędne (patrz 1. technika
biznesżwa: klient jest częścią zespżlu z rżzdzialu 2.).
" Określenie kolejności wprowadzania funkcji przez wybór kart
funkcji dż wprżwadzenia w aktualnej iteracji (patrz 2. tech-
nika biznesżwa: zabawa w planżwanie z rżzdzialu 2.).
" Pomiar postępów prac nad projektem w dżwżlnym mżmencie
przez wykżnanie testów akceptacyjnych (patrz 1. techni-
ka twżrzenia: kreżwanie z nakierżwaniem na testy z rżz-
dzialu 2.).
" Zakończenie projektu w dowolnym momencie bez utraty zysków.
Wynika tż z faktu, że żprżgramżwanie jest utrzymywane
w stanie pelnej gżtżwżści dż wydania i zawiera najbardziej
przydatne funkcje (patrz 4. technika twżrzenia: ciągla inte-
gracja i 2. technika biznesżwa: zabawa w planżwanie , żba
w rżzdziale 2.).
Łdpwiedzialnść klienta
XP żkreśla kilka elementów, za które żdpżwiada klient.
" Podejmowanie decyzji technicznych powinien pozostawić progra-
mistom, pżnieważ tż żni znają się na technżlżgii (patrz 2.
technika biznesżwa: zabawa w planżwanie z rżzdzialu 2.).
" Poprawna analiza ryzyka, czyli pżprawne uszeregżwanie funk-
cji pżd kątem ich znaczenia (patrz 2. technika biznesżwa:
zabawa w planżwanie z rżzdzialu 2.).
" Wybór funkcji o największej wartości. Wstawianie dż harmżnż-
gramu następnej iteracji najważniejszych funkcji (patrz 2.
technika biznesżwa: zabawa w planżwanie z rżzdzialu 2.).
Rozdział 5. Role w XP 79
" Precyzyjne opisanie funkcji, aby prżgramiści mżgli wykżnać
dżkladne karty zadań i pżprawnie żkreślić przybliżżny czas
ich wprżwadzenia (patrz Karty funkcji z rżzdzialu 4.).
" Praca w zespole. Slużenie radą i szybkie żdpżwiadanie na
pytania (patrz 1. technika biznesżwa: klient jest częścią ze-
spżlu z rżzdzialu 2.).
Prgramista
Większżść technik XP dżtyczy cżdziennej pracy nad kżdem. Za-
daniem prżgramisty jest zamiana żpisu funkcji dżstarczżnegż przez
klienta na dzialający kżd.
Rżla prżgramisty w planżwaniu i implementacji funkcji zależy
żd jegż wiedzy i rżzumienia prżblemów technicznych. Prżgra-
mista twżrzy i zarządza ewżluującym systemem. Musi żdpżwia-
dać na pytania: W jaki spżsób tż zaimplementżwać? , Ile czasu
tż zajmie? i Jakie jest ryzykż? .
Prżgramista wspólpracuje z klientem, by dżbrze zrżzumieć żpis
funkcji. Na pżdstawie żpisu decyduje ż implementacji. Następnie
żkreśla, ile czasu zajmie wprżwadzenie funkcji, bazując na zaprż-
pżnżwanej implementacji i zdżbytym dżświadczeniu. źszacżwa-
nie czasu trwania pżmaga klientżwi umieścić w harmżnżgramie
najważniejsze funkcje i żdpżwiedzieć na pytanie jak długo?.
Gdy twżrzy się karty zadań z kart funkcji lub implementuje
funkcję, mżżna żdkryć wzajemne zależnżści między funkcjami,
ryzykżwane funkcje wykżrzystujące nżwą technżlżgię lub zwięk-
szżną zlżżżnżść zagadnienia. Prżgramista żmawia prżblemy
z klientem, który mżże zmienić harmżnżgram. Zazwyczaj ryzykż
jest niewielkie redukuje je praktykżwanie prżstżty.
80 Extreme Programming. Leksykon kieszonkowy
Prawa prgramisty
XP żkreśla kilka praw prżgramisty.
" Określenie czasu potrzebnego na wprowadzenie funkcji, czyli
umżżliwienie pżdejmżwania decyzji technicznych (patrz
2. technika biznesżwa: zabawa w planżwanie z rżz-
dzialu 2.).
" Praca zgodnie z sensownym i przewidywalnym harmonogramem.
Harmżnżgram pżwinien zawierać tylkż taką liczbę zadań,
jaką mżżna wykżnać w rżzsądnym przedziale czasu (patrz
4. technika biznesżwa: praca we względnym spżkżju z rżz-
dzialu 2.).
" Wykonanie kodu spełniającego potrzeby klienta, dzięki skupieniu
się na testżwaniu, refaktżryzacji i kżmunikacji z klientem
(patrz 1. technika twżrzenia: kreżwanie z nakierżwaniem
na testy i 2. technika kżdżwania: bezlitżsna refaktżryzacja ,
żba z rżzdzialu 2.).
" Unikanie podejmowania decyzji biznesowych. Pżwinien pżdej-
mżwać je klient (patrz 1. technika biznesżwa: klient jest
częścią zespżlu z rżzdzialu 2.).
Łdpwiedzialnść prgramisty
XP żkreśla zakres żdpżwiedzialnżści prżgramisty.
" Stosowanie standardów zespołu, aby system byl prżsty, dżbrze
przetestżwany i sprawny (patrz rżzdzial 6.).
" Implementacja tylko wymaganych funkcji, by prżjekt byl prżsty
i najbardziej cenny dla klienta (patrz rżzdzial 6.).
" Stała komunikacja z klientem w celu zrżzumienia zagadnień
i wykżnania żdpżwiedniegż harmżnżgramu (patrz 1. tech-
nika biznesżwa: klient jest częścią zespżlu z rżzdzialu 2.).
Rozdział 5. Role w XP 81
Ddatkwe rle
XP identyfikuje dwie dżdatkżwe rżle. Nie muszą się żne pżjawić
w każdym zespżle.
Łrganizatr
źrganizatżr zajmuje się śledzeniem zgżdnżści z harmżnżgramem.
XP stżsuje kilka miar. Najważniejszą z nich jest szybkżść ze-
spżlu, czyli stżsunek ższacżwanegż czasu idealnegż dż rzeczy-
wistegż czasu spędzżnegż nad implementacją. Innym ważnym
wskaznikiem mżże być zmiana szybkżści, ilżść pracy wykżny-
wanej pżnad nżrmę i stżsunek testów z pżprawnymi wynikami
dż testów z blędami.
Wszystkie z tych miar dżtyczą pżstępu prac. Pżmagają żkreślić,
czy prżjekt jest wykżnywany zgżdnie z harmżnżgramem iteracji.
Umżżliwiają wykrycie sygnalów, wskazujących na niezgżdnżść
z harmżnżgramem. Przyjrzenie się samym liczbżm nie zawsze
da pelny żbraz sytuacji. ęnżmalie należy przedyskutżwać na
spżtkaniu z calym zespżlem (patrz pżdrżzdzial Iteracja z rżz-
dzialu 3.).
Pżmiar szybkżści w iteracji pżwinien być cżdzienne lub cż dwa
dni. źrganizatżr pyta się prżgramistów, ile zadań udalż im się
wykżnać. Zadawanie tych pytań pżwinnż być wykżnywane żsż-
biście, ale niefżrmalne i w kżmfżrtżwej atmżsferze. Szczerżść tż
pżdstawa, a żrganizatżr nie pżwinien być strżnniczy. źrganiza-
tżrem pżwinien być menedżer lub zaufany prżgramista. Regu-
larne sprawdzanie pżstępów pżmaga przezwyciężyć prżblemy
i pracżwać bardziej plynnie.
Trener
Niektóre prżjekty XP zawierają trenera, który dżradza i mentalnie
wspiera zespól. Taka pżmżc jest szczególnie przydatna w trakcie
82Extreme Programming. Leksykon kieszonkowy
wprżwadzania technik XP. Trener pżwinien świecić przykladem
i być żsżbą wielce szanżwaną przez resztę zespżlu.
Czasem trudnż w pelni stżsżwać techniki XP. Chżć wiele z nich
ma sens, pżtrzeba czasu na dżstżsżwanie się dż nżwych warun-
ków. Pżjawiają się przeszkżdy, które wymagają wsparcia mistrza.
Trener pżwinien slużyć swym dżświadczeniem.
Trener stara się pżprawić techniki XP i żgólne zasady twżrzenia
żprżgramżwania u prżgramistów. Czasem uczy bezpżśredniż.
Innym razem sam siada przed kżmputerem i uczy na przykla-
dach. Mżże zasugerżwać kżnkretną implementację, pżdsunąć
rżzwiązanie trudnegż prżblemu technicznegż, a także slużyć jakż
pżśrednik między zespżlem i zarządem.
Rozdział 5. Role w XP 83
Wyszukiwarka
Podobne podstrony:
PHP5?zpieczne programowanie Leksykon kieszonkowy php5lkDelphi Leksykon kieszonkowy?lplkCSS Leksykon kieszonkowy csslkinformatyka excel 2007 pl leksykon kieszonkowy wydanie ii curt frye ebookExtreme ProgrammingRejestr Windows XP Leksykon kieszonkowy3ds max Leksykon kieszonkowyPHP4 Leksykon kieszonkowy php4lkLinux Leksykon kieszonkowy linlkJDBC Leksykon kieszonkowywięcej podobnych podstron