Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział1:Historia:naukazwiązanazeScrum
3
musibyćjednocześnieprawdziwe.Wempirycznejkontroliprocesuniemamiejscanazakłama-
niewizerunku.Conaprzykładoznaczastwierdzenie,żepewnafunkcjonalnośćzostałauznana
zanzakończoną”?Przytworzeniuoprogramowania,założenie,żefunkcjonalnośćjestosiągnięta,
możedoprowadzićkogośdozałożenia,żejestonastaranniezakodowana,jednomyślnieprzetesto-
wana,skompilowanaorazprzetestowanapodkątemakceptacji.Ktośinnymożezakładać,żekod
zostałjedynieskompilowany.Jeśliniemazgodnościcodoznaczeniasłowanwykonany”,niema
znaczeniafakt,żefunkcjonalnośćtajestwidoczna.
Drugimfilaremjestinspekcja.Różneaspektytegoprocesumusząbyćpoddawanekontroli
wystarczającoczęsto,abywykryćnieakceptowaneodchyleniawprocesie.Częstośćwystępowania
inspekcjimusiuwzględniaćto,żeprocesyzmienianeprzezdokładniekażdyaktinspekcji.Cie-
kawejestto,żewymaganaczęstotliwośćinspekcjiczęstoprzekraczatolerancjęinspekcjiprocesu.
Naszczęścieniedziejesiętakwprzypadkutworzeniaoprogramowania.Innymczynnikiemprzy
inspekcjijestsaminspektor,którymusiposiadaćumiejętnościpozwalającemuocenićto,cojest
przedmiotemjegoinspekcji.
Trzecimfilaremempirycznejkontroliprocesujestadaptacja.Jeśliinspektorstwierdzinapod-
stawieprzeprowadzonejinspekcji,żejedenlubkilkaaspektówprocesujestpozaakceptowalnymi
granicamiorazżewynikowyproduktbędzieniedozaakceptowania,inspektortenmusiodpowied-
niodostosowaćdalszyprocestworzeniaproduktu.Dostosowaniemusizostaćprzeprowadzonejak
najszybciejwceluminimalizacjiprzyszłychodchyleń.
Zaprzykładempirycznejkontroliprocesuniechnamposłużyprzeglądkodu.Kodjestprze-
glądanypodkątemstandardówkodowaniainajlepszychznanychpraktykwtejdziedzinie.Każda
osobazaangażowanawprzeglądwpełnirozumietestandardyorazjaknajlepszestosowaneprak-
tykiiwie,jakpowinnywyglądać.Przeglądkoduwystępujezawszewtedy,kiedyktośuznapewien
odcinekkodulubkodreprezentującyjakąśfunkcjonalnośćzazakończony.Kodprzeglądająnaj-
bardziejdoświadczeniprogramiści,aichkomentarzeisugestieprowadządodostosowaniakodu
przezjegotwórcę.
Skomplikowanetworzenieoprogramowania
Kiedytworzęoprogramowanie,budujęlogicznyzbiórinstrukcji,którewysyłająsygnały,którekon-
trolująmaszynęprzywspółpracyzinnymimaszynami,ludźmilubotoczeniem.Poziomprecyzji
wymaganejdopomyślnegopowstaniaoprogramowaniawahasięodniewiarygodniewysokiego
dowręczpodejrzanieniskiego.Wszystkomożebyćskomplikowane.Kiedyskomplikowanerze-
czywspółpracujązesobą,poziomskomplikowaniastajesiębardzowysoki.Ograniczyłemmoje
wyliczanieskomplikowaniaprzytworzeniuoprogramowaniadotrzechnajbardziejznaczących
wymiarów:wymagań,technologiiiludzi.
Możesięzdarzyć,żebędziemymielibardzoprostewymaganiadotycząceoprogramowania.Poje-
dynczyklient,którybędziejedynąosobąużywającąsystemu,możespędzićwystarczającąilośćczasu
zprogramistąiwedwójkęmogądokładnieustalićto,copowinnobyćzrobione.Zakładając,żeklient
tennieumrzebezpośredniopoprzekazaniuwymagań,pozostanąonestałeiniebędąpodlegaćzmia-
nom,korektomimodyfikacjomwostatniejchwili.Bardziejpowszechnajestsytuacja,gdzieistnieje
wieluudziałowców(ludzibezpośredniozainteresowanychoprogramowaniemijegodziałaniem),któ-
rzymająróżnepotrzebyiktórychpotrzebyregularniezmieniająsięoraztrudnedozdefiniowania.
Wwiększościprzypadków,kliencicidopierozaczynająrozumiećto,czegotaknaprawdępotrzebują
wmomencie,gdyprzedstawisięimwrażenieinnychosóbnatematichpotrzeb.towymagania
skomplikowane,ponieważnietylkodwuznaczne,alestalesięzmieniają.