Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
kontraktu,któryniebędzienegocjowanydoczasuukończeniaprojektu.Ewentualne
zmianybędąuwzględnianiejedyniewpostaciudokumentowanych,częstododatkowo
płatnychzgłoszeńzmiany(ang.changerequest).Jakłatwosiędomyśleć,takiezałożenie
niedziałanakorzyśćklienta.Kiedyokreślonezostanąprzynajmniejnajważniejszeustalenia,
zespółekspertówrozpoczynafazęzbieraniaiopracowywaniawymagań.Naogółwtym
momencienadprojektempracująanalitycybiznesowi,którzyrozumiejązarównodomenę
biznesuklienta,jakirozwiązaniatechnologiczne.Następniemożliwienajdokładniejdefi-
niowanyjestefektkońcowy.
PofazieAnalizywymagań(ang.Requirementsanalysis)następujefazaProjektowania
(ang.Design),podczasktórejarchitekciprojektująrozwiązanienapodstawieustalonych
wymagań.Nadaljesteśmywobszarzepracywykonywanejprzezekspertów,alejużtutaj
mogąpowstaćpierwszebłędywinterpretacjiwymagań.Dopieroterazmożenastąpić
Implementacja(ang.Implementation),podczasktórejnawetkilkazespołówprogrami-
stów,specjalistówodbazdanych,grafikówitp.dostanieswojezadaniaibędziepraco-
waćnadczęściąsystemu,zaktórąbędąodpowiedzialni.Dziesiątkiprogramistówbędą
tworzyćswójmodułalbopojedyncząfunkcję,nierozumiejąc,jakiwpływnacałysystem
maichpraca.Każdydostajespecyfikacjęzopiseminterfejsudoinnychczęścisystemu
idodajeswójkawałekkodu.PamiętaszNeozMatrixa?Onbyłtakimprogramistą.Kiedy
tenetapbędziebliskoplanowanegokońca,zaczniesięintegracjawszystkichmałych
kawałkówprzygotowanychprzezróżnezespoły.Menedżerprojektubędzietrzymał
kciukiizaklinałrzeczywistość,żebywszystkozadziałało.Niestety,tenetapprojektuczę-
stobardziejprzypominaodpalaniestarego,wyciągniętegozbagnaczołguniżskładanie
nowegomodeluNissanaGTRnaliniimontażowej.Wymaganianiezostałydobrzezro-
zumiane,kodjestnieczytelny,osobaodpowiedzialnazaokreślonymodułjestnaurlopie,
czasaminawetsystemzostałźlezaprojektowany.Trzebazgłosićproblem,któryzostanie
przekazanywgóręstrumienia,doodpowiedniejgrupyspecjalistów.Podyskusjiipodję-
ciudecyzjipowstanąnowewymagania,któremuszązostaćzaimplementowaneimogą
spowodowaćzmianywarchitekturze.Zegartyka,terminukończeniaprojektusięzbliża,
aefektniemożebyćprzetestowany,boniemożnaskompilowaćkodu.Kiedywkońcu
możnauruchomićsystem,okazujesię,żeprojektjestspóźnionyinafazęTestowania
(ang.Verification)zostałynie,jakpierwotniezałożono,trzymiesiące,aletrzytygodnie.
Testerzyczytająwymagania,pisząprocedury,uruchamiajątestyiznajdująbłędy.Cza-
sami,choćrzadko,jesttobłądwkodzie,częściejjesttobłądzwiązanyzwymaganiami.
Wtakimwypadkutrzebajezweryfikować,czyliudaćsięwgóręwodospadu,doprecy-
zowaćlubzmienićwymagania,sprawdzićichwpływnaarchitekturę,zaimplementować
poprawkęiupewnićsię,żebłądzostałusunięty.Takwyglądajądziałanianaprojekcie
domomentuosiągnięciaostatecznegoterminu,kiedyprojektnależywypuścićnarynek
albowdrożyćuklientaiprzejśćdofazyUtrzymania/Pielęgnacji(ang.Maintenance).
CzynieprzypominaCitotrochęzabawywgłuchytelefon?Naszczęściecharaktery-
stycznącechąmodelukaskadowegojestdobradokumentacjaprzekazywaniasystemu
zjednejfazydodrugiej.Pałeczkajestprzekazywananiemaljakwbiegusztafetowym.
2.1.OmówieniemetodyWaterfall
31