Citat:
Da se odmah razumemo, slazem se sa fundamentalnom osnovom ove tvdnje da je post-design promena skuplja, ali 1:100?? Odakle si uopste dobio ovu cifru? Cak i ako iznivelisemo cenu rada svih ljudi na projektu, to bi znacilo da je za jednom satu projektovanja odgovarajuce 100 sati korektivnog kodiranja, to je veoma nerelano.
Pre nekoliko godina, radeći kao deo tima na RistanCASE DAC projektu, imali smo predočene neke analize iz vodećih automobilskih kompanija (inače, kupce tog proizvoda) baš u vezi koštanja u startu neadekvatno projektovanog a realizovanog podsistema. Nemam napismeno te podatke, ali sećam se da su pominjane brojke od 1:5 (kao minimum), 1:50 do 1:100 i više !
Kod automobila smo već čili da su fabrike na milion automobila često za DŽ menjali neki banalan deo koji kao ugrožava sigurnost. Nema ništa lakše nego reći korisnicima da kupe novi auto ili da o svom trošku odu kod majstora. To se ipak ne događa često kod velikih firmi, a jasno je i zašto.
Iako ovo deluje kao poređenje baba i žaba (u odnosu na softver), može se povući barem donekle slična paralela, pogotovo u specifičnim projektima kao što je DAC.
Ukratko, kod softvera problem je bio u
očuvanju kompatibilnosti unazad, i siguran sam da svako za sebe može da nađe neki primer. (Da li je to struktura baze ili nešto sasvim treće)
Neću navoditi primere kod DAC projekta, jer ih ima previše, ali znam dobro o čemu pričam jer sam radio na popravljanju. Problemi mogu biti toliko banalni a veliki, koliko je banalno menjanje veličine nekog Buffera. Zapravo, nema ništa lakše nego ispraviti grešku u nekom podsistemu, jer su se zahtevi i potrebe vremenom iskristalisalale. Problem je što se tim skraćenim činom 'odeseče' značajan broj klijenata, koji zbog izlaganja dodatnim troškovima i nepoverenju napuštaju proizvod. Da bi se to sprečilo, pristupa se izradi špageti koda koji zaista jeste težak i skup za održavanje.
Mogu samo da zamislim koliko je M$ uložio truda da se očuva kompatibilnost prelaskom na Vistu.
P.S.
Da ne bude zabune. Ovime ja ne kažem da se greške ne bi događale da su se koristili alati za projektovanje informacionih sistema. Naprotiv, ako u glavi nije prethodno raščišćena situacija, sva je prilika da će i UML biti isto takav.