teisipäev, 20. aprill 2010

Miks riiklikud tarkvaraprojektid kõrbevad?

Lugesin seda blogiposititust. Sellega on viimase umbes aasta sees juba kolm fupaad riigi infosüsteemidega:
  • Puuetega lapsed ei saanud mitu kuud raha, infosüsteemi viga.
  • Digiretseptide infosüsteem ei toiminud ja praktikas oli olukord eriti hull.
  • ARKi infosüsteem feilis.
Ma usun, et seda võiks juba tendentsiks kutsuda. Kuna mul on endal ka palju probleeme olnud - IT's üldiselt ikka tuleb neid ette -, siis mõned mõtted (mis ka sinna kommentaariumisse panin, kuigi siiamaani pole need veel lisandunud - aga igal juhul läks nii pikaks, et eraldi postitus siia ehk paremgi).


Mina usun, et see on suures osas ka poliitikute probleem - vaadates, kui palju just viimasel ajal neid probleeme on hakanud tekkima, tundub mulle, et riiklike IT süsteemide valdkonda Eestis kui sellist juhtitakse üldse täiesti valesti.

Mul on endal olnud elu jooksul samuti üksjagu probleeme tarkvaraarendusega ja ma usun, et need sarnanevad nendele, mis reaalselt eksisteerivad:

Esimene probleem on see, kui klient tahab saada igasugust funktsionaalsust kiiresti ja kohe, mis tegelikult ajab süsteemi segaseks ja keerukaks. Aus olles - kunagi toppisin ise sellist funktsionaalsust igale poole, aga eks kogemus õpetab. Igaljuhul usun, et riik teeb väga mahukaid tellimusi selleasemel, et iteratiivselt ja järk-järgult süsteeme arendada ja juurutada, nagu rahvusvahelised kombed, tavad ja metoodikad ette näevad. Sellist probleemi olen näinud paljude klientide juures - ei saada aru põhialustest, tee mis tahad. Arvan, et selle juures aitab ennkõike inimeste asendamine - isikud, kes seda asja juhivad kõige kõrgemal tasemel, on ajast lootusetult maha jäänud. Vb. nad olid õiged, et 10 aastat tagasi tiigrihüpet teha, modemeid osta ja inimestele Office'it õpetada, ent praeguseks hetkeks on vaja juba uut kvalifikatsiooni ja kogemuse taset. Esimene oluline asi - lõplikel otsustajatel peab olema endil väga tugev arenduskogemus ja mingid poliitikud ei tohiks liigselt ülbitseda, et kuidas nende meelest asja ajada tuleb. Ma olen pea kindel, et nad seda praegu teevad - nurisevad asjade kallal, mõtlevad välja mingeid "lahendusi" oma ebakompetentsuse pinnalt ja siis kasutavad oma võimu, et asjad nende "lahenduste" abil p*rse ajada.

Teine probleem on ajagraafikud. Tihtipeale ajavad võhikud taga sellist asja, nagu "tähtaegadest kinni pidamine" halvas mõttes ...tihtipeale on need tähtajad soovmõtlemine. Näiteks näen ma inimeste puhul sellist tendentsi - kui mina ütlen, et _midagi_ saab valmis kahe nädalaga, siis nad eeldavad, et _kõik_ peab saama valmis kahe nädalaga; kui ma ütlen, et kui väga pingutada ja kõik perfektselt läheb, saab asi kuue kuuga _ilmselt_ valmis, siis lasevad nad iga nädal millelgi valesti minna - hilinevad materjalidega, ei aja oma asju korda - ja usuvad siiski, et asi peaks kuue kuuga _kindlasti _ valmis saama. Teiseks usutakse levinult, et arenduse täpset aega saab täpselt öelda, kuigi see on rohkem ilmaennustamise laadne asi. Aga hullemal juhul, mida juhtub nii 90% juhtudest, on klient veendunud, et minu poolt öeldud aeg on "liiga kaua" ja peaks ikka kiiremini tegema - "rohkem pingutama" või midagi. Mida aeg edasi, seda kindlamalt ma omad ajad ja vabadused kehtestan, aga kunagi oli ikka tihti seda, et kuidagi suruski keegi ülemus või klient oma soovmõtlemise plaanidesse läbi ja siis oli suur jama, kui ei saanud - ja ainus reaalne võimalus reageerida, et leppetrahve ja asju ei tuleks, on riigi puhul ilmselt süsteemi pooliku ja vigasena üle andmine. Keegi ju ei saa vigu ette ennustada ega kõiki nüansse, nii ei saa keegi ka aegu täpselt ennustada - ja klient nõustub sellega seni, kuni tulebki tegelikult välja, et aeg sai öeldud liiga lühike, edasi on jama. Ja ma arvan, et kõik need katkised infosüsteemid tulevadki nii - poliitikud oma naiivsuses ja soovmõtlemises küsivad mingeid aegu, võtavad kõige optimistlikuma prognoosi, teevad veel 10% lühemaks, et eks siis pingutagu (kuigi pingutamine võis juba algses optimistlikus prognoosis inimvõimeid ületadagi ja sellele lisaks eksisteerida ka pessimistlikumaid prognoose) ja lõpuks ongi selline ajakava olemas, et kui midagi vähegi valesti läheb - ja üldiselt siis ka, kui ei lähe -, siis on lõpuks valik: kas joosta ajast üle või anda üle poolik toode. Kui on mingid hullud "kinnitatud" ja väga-väga kõrgelt paika pandud ja "kooskõlastatud" ajaplaanid, siis võibki välja tulla, et midagi pole teha - progejad lõpetagu asjade testimine, nüüdsest teema kolm korda kiiremini tööd, paneme asjad käima ja anname üle, muud pole teha. Ja kuskilt veel poliitiline/kliendipoolne surve, et mingil juhul ei lähe ajast üle. Samas kui tegelt tuleks kulutada veel teist sama palju aega, kui kulutatud ongi.

Kolmas probleem on nende "eile" tähtaegadega - tuleb klient ja ütleb, et tal on tellimus ja seda on vaja eilseks, humoorikalt siis. Aga tal ongi seda eilseks vaja ...ja kui progejad teevad iga nädal tööd plaaniga saada nädala lõpuks valmis, kuigi ainult ülim pinge saab neid panna silmi kinni pigistama fakti ees, et alla kahe kuu sellist asja teha on võimatu, siis iga nädal tehakse väga kiirustades "kõik" valmis, siis see ei tööta, järgmine nädal tehakse ka saasta - ja kui alguses oleks olnud realistlik rahulikult võtta ja kahe kuuga ära teha, siis selline laussaasta tootmine venitab asja poole aasta peale, sest lihtsalt ei tehta järjest ja mõistlikult, vaid tehakse iga nädal mingi kvaliteeditu saastahunnik valmis ja siis proovitakse järgmine nädal uuesti, lõpuks on lihtsalt lademetes vigu ja eimidagi töötavat - ja see teffekt tekib alati, kui klient jõuliselt survestab ja omast arust "motiveerib" äkki, teeseldes mingit kahtlust iga aja osas ja jagades iga kava lambist kahega ja kinnitades, et mis see ikka ära ei ole selline asi valmis teha, oleks endal aega ja viitsimist, ma õpiks kõik selgeks ja teeks ise just selle ajaga, aga näe, aega pole.

Probleeme muidugi sadu, aga need on näited sellest, kuidas kliendid tegelikus elus asju nässu ajavad - mitte, et mul midagi klientide vastu oleks, aga need juhtumid just sellisel kujul eksisteerivad ja mida enesekindlam klient, seda hullem töö on asi kontrolli alla võtta ja korrektsed meetodid ja plaanid läbi suruda. Selliseid kliente on väga palju, kes ei tea päris täpselt, kuidas browseri käsureale aadressi sisestada või tabelarvutusprogrammis kogusumma arvutamine automatiseerida, ent teavad päris täpselt, kuidas programmeerijad oma tööd peavad tegema ...leidub, paraku, ka plju samasuguseid IT firmade juhte - lõpuks leidub ka diplomaatilisi progejaid, kes nendega koos töötada suudavad, kuigi mitte eriti produktiivselt, aga vahel toob selline asi siiski raha sisse. Lollilt ülemuselt ju tulebki raha ära võtta vms., nii et ma olen näinud ka ehedaid juhtusid, kus progeja ongi kuid järjest töötanud midagi tegemata ja promob mulle, et mine jah siia tööle, siin saab niisama elada ja midagi ei pea tegema, väga lõbus. Ja tänu sellele, et ega paljud kliendid ka paremad pole - ja ega nad oma võhiklikkust ka ei tunnista, et abi otsida - püsivad ka sellised IT firmad edukalt - aga siiski ei kuulu nende hulka üldjuhul suuri riigiinfosüsteeme tegivad põhiettevõtted, nagu Cyber või RIA.

Ja lõpuks, viga, mida kliendid - ja ka riik - järjekindlalt teevad on see, et valitakse kõige odavam pakkumine. On olemas hinnad, mille puhul mingi elulise paratamatuse tõttu projektid täiesti kindlalt põhja lähevad - sellised rahanumbrid, mida konkursi võitmiseks küll pakkumisse kirjutatakse, alati leidub lolle, aga pärast tuleb välja, et nii ikkagi ei saa asja tehtud või tuleb mingi saast. Sest esmapilgul tundub, et mis siin muud ikka, ostad süüa ja kirjutad koodi, aga reaalsuses on siiski palju väljaminekuid ka IT firmal, lisaks on mingid rahanumbrid, millega ei anna enam kedagi motiveerida - kui kedagi leitaksegi, siis entusiastlikust töötamisest on asi kaugel. Ja seega ühes firmas öeldigi, et võidavad küll odavad pakkumised, aga mis siis - paar aastat ootame ja need projektid on ringiga meie juures tagasi. Ja seda, et klient hakkab väga odavalt väga palju tahtma ja ei saa aru, et reaalsus ei salli sellist asja ja need projektid põruvad ühel või teisel põhjusel kindlasti - selliseid leidub ikka väga palju.

Lõpetan sellega nimekirja - olulisi aspekte ja põhjuseid on veel, aga need konkreetsed annavad ehk mingi pildi, mis toimub. Ja miks sellised asjad lõpuks läbi lähevad. Ja et ilmselt on süüdi just ennekõike tellija - poliitikud, ministrid. Sellised prohmakad on riiklikul tasemel just viimaste aastate jooksul tavaliseks saanud ...ja siin ei saa ka ülemaailmset kriisi süüdistada ;)

Kommentaare ei ole:

Postita kommentaar