To je jako efektno izgledalo ali jadan korisnik Netscapea bi se
našao u sto muka kako selektirati nešto u tablici jer se highlight ne
bi pojavio i klik mišem ne bi proizveo ništa. Budući da nije bilo
nikakve alternative DHTML navigaciji, aplikacija bi za korisnike tog
browsera bila potpuno neupotrebljiva. Kad je Bojan pitao Stinkya što
je s podrškom Netscapeu, dobio je odgovor: "Pa zar to ne radi i u
Netscapeu? A dobro, ako i ne radi, neće valjda biti problem prebaciti
da radi." Budući da je još vjerovao u znanje i autoritet glavnog
developera, nije pomislio na mogućnost da je Stinkyevo znanje web
programiranja skromno i da možda nikad nije radio ozbiljnu web
aplikaciju koja bi podržavala oba browsera. Doduše, kad je mnogo
mjeseci kasnije Stinky hladnokrvno ponudio da Bojan iskoristi kod iz
njegovih VB modula u web aplikaciji s argumentom "Pa VB i VBScript su
jedno te isto", iluzijama je bio kraj. Ali dotle još nismo došli.
Prototip u smeće i ajmo ozbiljno Uvidjevši da je Stinkyev prototip
pun ograničenja i da bi bilo muka na tome zasnivati upotrebljivo
rješenje, Bojan je jednostavno složio totalno drugačiji prototip.
Izbacio je tabove i napravio da se svaka cjelina otvara na posebnoj
stranici. Tako je korisnik prvo vidio popis radnih naloga na jednoj
stranici. Zatim bi odabirom jednog od njih otvorio novu stranicu na
kojoj bi vidio popis knjiženja za naloge. Klikom na knjiženje otvarala
bi se posebna forma za unos detalja. Uveo je također browser-aware
navigaciju tako da bi se u slučaju da korisnik ima IE, redovi u
tablici selektirali s gore opisanim highlightom. Međutim, ako bi
korisnik imao Netscape, tekst u ćeliji tablice bi se prikazao kao običan
hyperlink pa bi i takav korisnik mogao normalno koristiti aplikaciju.
Muke s funkcionalnom specifikacijom Da još više iziritira Stinkya,
cijeli prototip je ubacio u dokument gdje je svaka stranica u
aplikaciji bila detaljno opisana sa svim funkcionalnostima. To je
ustvari bila potpuno napisana funkcionalna specifikacija. Nju je
napisao iz nekoliko razloga, a najveći je bio taj što je htio
prisiliti Stinkya i Žakra da konačno razmisle i definiraju koji će
biti konačni scope aplikacije. Naime, nakon što je Bojan napravio
prvi normalni Netscape-friendly prototip, odlučio ga je pokazati
Stinkyu da ga ovaj odobri i da kaže "da, to je to, možemo početi s
razvojem same aplikacije i neće biti nikakvih velikih promjena". Tako
je i bilo, Stinky nije puno žalio za svojim prototipom jer je bio do
grla u poslu s desktop aplikacijom pa je rekao Bojanu da je to u redu,
i dao je samo pokoju kozmetičku napomenu. Međutim, tada se umiješao
Žakro. Dan nakon što je Stinky odobrio prototip i kad je već Bojan
mislio da je "good to go" da pristupi izradi samog rješenja i da
duboko zaroni u kod, jer je funkcionalnost specificirana, na ekranu mu
je iskočio pop-up poruka od Žakra "Alo, Bojane, oćemo malo sjesti?" To
je bio Žakrov omiljen uvod u njegova mannagerska davljenja ubogih
developera. Kad je Bojan sjeo do Žakra, ugledao je na ekranu svoj
prototip tj. buduću DAMP web aplikaciju za koju je mislio da je gotova
stvar jer ju je odobrio project manager Stinky.
I gle čuda, kao da jučerašnjeg razgovora nije ni bilo, udario Žakro
po svakom dijelu aplikacije, da ne može to ovako, da bi bilo bolje
onako, da bi ovo trebalo pisati tu a ne tamo i tako pola sata i
iskasapio on cijeli koncept do neprepoznatljivosti. Bojan se nije
snašao ni da pita "Pa dobro, tko je ovdje project manager, ti ili
Stinky?" i već je morao temeljito mijenjati specifikaciju i prototip.
Tada je shvatio bolnu istinu, koju mu je potkrijepio i Bartol, a to je
da je Stinky samo fiktivni voditelj projekta, a da projekt stvarno
vodi Žakro, a da stvar bude gora njih dvojica uopće nisu usklađena i
svatko tjera svoju varijantu. Ping pong
Žakro-Stinky i pokušaj potpisivanja specifikacije Potvrda za tu
tvdnju stigla je sljedeći dan, kad je Bojan promijenjenu specifikaciju
pokazao Stinkyu a ovaj je valjda bio raspoložen za malo menadžeriranja
pa je i on kao Žakro krenuo daviti s detaljima, pa zašto ovo, bilo bi
bolje ovako, pa daj ovo premjesti i tako to. Bojan je već počeo kuhati
ali još je imao strpljenja za njih dvojicu. Međutim, strpljenje ga je
opasno počelo izdavati kada ga je malo kasnije opet pozvao Žakro i
kao da Stinky ne postoji, iznio nove ideje, promjene i vizije kako bi web aplikacija trebala
izgledati. Tada je i pametnome bilo dosta. Unio je Bojan zadnje
promjene koje je čuo od Žakra, završio funkcionalnu specifikaciju i na
kraju dodao mali paragraf koji je glasio: "Svi dolje potpisani slažu
se sa gore opisanom specifikacijom. Voditelj projekta i uprava
potvrđuju da je specifikacija potpuna i da se može prići dizajnu
aplikacije i kodiranju, a developer se obavezuje da će aplikaciju
napraviti u roku i po opisanoj specifikaciji." Ispod toga su bila tri
mjesta za potpis - Žakro kao predstavnik uprave, Stinky kao voditelj
projekta i Bojan kao developer.
Nakon toga je sazvao sastanak DAMP tima i predočio svim prisutnima
završenu specifikaciju s mjestima za potpis.
Bio je vidljivo uzrujan, već mu je bila puna ona stvar Žakra i
Stinkya i njihove neodlučnosti, kalkuliranja i neznanja. Umjesto da
oni kao menadžeri ili arhitekti aplikacije naprave specifikaciju što
će se i kako raditi, oni su radije čekali da developer prvo nešto
napravi a onda bi oni to popljuvali i odjednom bi im sinula hrpa
ideja. "E pa sad se izjasnite da je to to i da mogu u miru raditi i
završiti stvar bez stalnih izmjena funkcionalnosti" mislio je Bojan u
sebi dok je gledao njihova lica dok su čitali dokument Žakrova
reakcija je bila tipično politička: "Pa dobro, možemo mi to potpisati,
ali znaš, u svakom projektu uvijek ima promjena, pa ne možemo sve
unaprijed odrediti, pa zašto te to toliko uzbuđuje, napravi nešto pa
ćemo onda vidjeti je li to to, tako smo dosad uvijek radili, ne znam u
čemu je problem?" "U normalnom projektu nije developer taj koji mora
čitati misli i pokušati shvatiti što mora napraviti već project
manager u interakciji s naručiocem i developerima napiše funkcionalnu
specifikaciju i onda je svima u timu jasno što treba napraviti i čemu
težimo. Ovdje to nije slučaj" objasnio je Bojan.
"Pa to je sve lijepo, treba pisati dokumente, ali malo smo u
stisci, a iako je Krunoslav voditelj, on ima puno posla oko desktop
aplikacije, a ja imam druga zaduženja pa ne stignemo raditi sve te
dokumente. Ali ti to jako dobro radiš, ovo je jako dobar dokument. Od
sljedećeg projekta ćemo raditi tako" ulizivao se Žakro. "Nego, idemo
vidjeti što je s drugim stvarima na DAMP-u".. I tako je rasprava
krenula drugim tokom, genijalci nisu potpisali dokument ali više nisu
ni puno gnjavili. Ipak je Bojan stekao reputaciju picajzle
za dokumentaciju i onog koji umjesto da odmah prione sumanutom
kodiranju stalno nešto provjerava, pita i hoće sve imati gotovo.
Dakle, definitivno se nije pokazao kao šampion. Rok isporuke
Približio se tako rok za isporuku aplikacije klijentu i bilo je više
nego očito da desktop aplikacija opasno kasni. Uzalud je Stinky
ostajao duže proizvoditi copy-paste smeće a Rudi bio prisiljen s
teoretiziranja prijeći na ipak malo konkretnog rada i štancanja
reporta. Vremena je jednostavno bilo premalo. Žakrova i Stinkyeva
procjena je bila preoptimistična čak i za šampionski način rada.
Smiješila se još jedna poznata šampionska isporuka tako dobro opisana
u Šampionskom manifestu. Dakle, kodiranje do zadnjeg trenutka, izrada
instalacije u dvanaest i pet, takozvano testiranje kod kojeg se
instalacija potjera na praznom stroju i ako se aplikacija digne to je
to itd. I bilo bi tako ali onda se Žakro sjetio spasonosne ideje.
"Pomaknut ćemo rok isporuke za sedam dana i reći ćemo im da ćemo
isporučiti sve, i desktop i web." Mogao je tako rezonirati jer je
Bojan već priveo kraju web aplikaciju, dva tjedna prije plana. Makar
je morao napisati i funkcionalnu specifikaciju i specifikaciju Bartolu
sa zahtjevima na bazu i još uz to pazio kako programira - koristio
reuse, izdvojio pristup bazi u zaseban modul, izolirao konstante u
jedan fajl, intenzivno komentirao kod i izbjegavao šampionsku
copy-paste metodu. Eh da, i napravio aplikaciju koja radi i u
Netscapeu. I tako su svi opet bili sretni i spokojni, pogotovo
Stinky kojem je Bojan omogućio novih spasonosnih sedam dana
programiranja, kako je on zvao višestruko ponavljanje operacija
"Selektiraj postojeći kod - Ctrl-C - Klikni gdje treba - Ctrl-V -
unesi izmjene, nikako ne komentiraj i proglasi gotovim". Spokoj je
naravno trajao do same isporuke kad se i nakon bonusa od sedam dana
shvatilo da Stinkyeva tvrdnja "90% koda je gotovo, ima samo još nekih
sitnica" zapravo znači "50% je donekle upotrebljivo, 40% je tek
napisano i nije uopće debuggirano i trebat će još triput toliko
vremena da se dovede u red". Tako je i ovaj put, u standardnoj
šampionskoj maniri, klijent dobio nestabilnu aplikaciju punu bugova a
gazda Dodoni nove razloge da se crveni i bruka pred njima. Ali
šampioni za to nisu marili. Gazda će se malo ljutiti, Žakro će ga
umiriti, doći će bug lista, to će se ispraviti i sve će opet biti po
starom. Do nove isporuke i novih bug lista.
|