Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
3.2
Zwinnetechnikiwytwarzania67
WXPwymaganiaprzedstawianejakoscenariusze(nazywanehistoryjkami
użytkowników,userstories),któreimplementowanebezpośredniojakoszereg
zadań.Programiścipracująwparachitworzątestydlakażdegozadaniaprzedna-
pisaniemkodu.Wszystkietestymusząbyćwykonanezpowodzeniem,gdynowy
kodjestintegrowanyzsystemem.Istniejątylkokrótkieprzerwymiędzykolejnymi
wydaniamisystemu.
Programowanieekstremalnebyłokontrowersyjne,gdyżwprowadzałowiele
praktykzwinnych,któreznaczącoróżniłysięodpowszechnychwtymczasiepraktyk
wytwórczych.Praktykitezostałyzebranenarysunku3.4;odzwierciedlająonezasady
manifestuzwinności.
Zasadalubpraktyka
Kolektywnawłasność
kodu
Integracjaciągła
Planowanie
przyrostowe
Klientnamiejscu
Programowanie
wparach
Refaktoryzacja
Prostotaprojektu
Małewydania
Zrównoważone
tempo
Najpierwtesty
Opis
Paryprogramistówpracująnadwszystkimiobszaramisystemu,niemazatem
żadnychHwysp”eksperckiegoprojektowaniaiwszyscyprogramiściponoszą
odpowiedzialnośćzacałykod.Każdymożezmienićcokolwiek.
Gdytylkopracanadjakimśzadaniemzostaniezakończona,jestonointegrowane
zcałymsystemem.Pokażdejtakiejintegracjisystemmusiprzejśćwszystkietesty
jednostkowe.
WymaganiarejestrowanenaHkartachhistoryjek”ihistoryjki,któremają
byćwłączonedowydania,ustalanenapodstawiedostępnegoczasuiich
względnegopriorytetu.ProgramiścidzielątehistoryjkinaHzadania”projektowe
(patrzrys.3.5i3.6).
Przedstawicielkońcowegoużytkownikasystemu(Klient)powinienbyćcały
czasdostępnydlazespołuXP
.Wprocesieprogramowaniaekstremalnegoklient
jestczłonkiemzespołudeweloperskiegoijestodpowiedzialnyzadostarczanie
zespołowiwymagańsystemowychwceluzaimplementowania.
Programiścipracująwparach,sprawdzającnawzajemswojąpracęizapewniając
pomocwdobrymwykonaniutejpracy.
Odwszystkichprogramistówoczekujesię,żewsposóbciągłybędą
refaktoryzowaćkod,gdytylkowykryjąpotencjalneulepszenie.Dziękitemukod
pozostajeprostyiłatwywutrzymaniu.
Wykonywanejesttylkotyleprojektowania,ilepotrzebadospełnieniabieżących
wymagań,aleniewięcej.
Najpierwjestwykonywanyminimalnyużytecznyzestawfunkcjonalności,który
zapewniawartośćbiznesową.Wydaniasystemuczęsteistopniowododają
funkcjonalnościdopierwszegowydania.
Długotrwałapracapogodzinachniejestuznawanazaakceptowalną,gdyż
ostatecznymefektemjestczęstoobniżonajakośćkoduorazzmniejszona
produktywnośćśrednioterminowa.
Wykorzystywanajestzautomatyzowanaplatformatestówjednostkowych
dotworzeniatestówdlanowychfragmentówfunkcjonalności,zanimjeszcze
tafunkcjonalnośćzostaniezaimplementowana.
Rysunek3040Praktykiprogramowaniaekstremalnego