nedelja, junij 24, 2012 16:51
Odvisnost javnega sektorja od dobaviteljev informacijskih rešitev je lahko za državo zelo draga.
Pomanjkanje strateškega pristopa k njenem nižanju botruje marsikateri napačni odločitvi, npr. uporabi eksotične tehnologije in/ali prijema za reševanje problema, ki bi bil rešljiv drugače; slabo dokumentiranemu delu in/ali neprimernemu pogodbenemu odnosu.
V skrajnem primeru, ob neprimerni uporabi zunanjega izvajanja, prihaja celo do globoke organizacijske odvisnosti, kjer dobavitelji postanejo de-facto del ministrstev in zanje izvajajo sistemske informacijske analize, pišejo specifikacije zahtev in izvajajo reinženiring poslovnih procesov.
Med prijemi, ki jih je mogoče uporabiti za nižanje te odvisnosti je uporaba odprte kode. Ne na prvo žogo - z naivnim nadomeščanjem komercialne programske opreme z manj dokumentirano in slabše podprto odprtokodno - ampak s popolno transparentnostjo informacijskih projektov javnega sektorja. Razen, ko bi to resno ogrozilo državno varnost. Celotno dokumentacijo in kodo vseh rešitev za javni sektor je treba enostavno narediti prosto dostopno na internetu.
Na ta način lahko za javni sektor kvaliteto dodatno nadzira kar dobaviteljeva konkurenca. Povečamo zamenljivost dobaviteljev in združljivost njihovih rešitev. Znanje, ki se razvija za javna sredstva pa ostane javno in imamo od njega korist vsi.
Država je v Sloveniji največji naročnik. Povrhu je med plačilno najbolj sposobnimi. Recimo, da zato državni projekti med podjetji uživajo določeno “priljubljenost,” ki ne bo niti malo okrnjena, če bodo morali ob izvajanju projektov razkriti del svojega know-how-a. Ta pri državnih projektih (in poslovnih informacijskih sistemih nasploh) tako ali tako ni njihova ključna konkurenčna prednost, bistveno pomembnejša so organiziranost, notranji procesi in kadri.
Država je dovolj velik igralec da ne le upošteva, ampak oblikuje tržne silnice. Kar učijo na univerzah in razvijajo v podjetjih je v veliki meri posledica njenega trošenja in pričakovanj. Te mehke moči ne more odmisliti ali se ji odreči. Vsaj čez noč ne. Zato jo mora -dokler jo ima- uporabljati tako, da trgu v čimvečji meri prepušča vlogo izbire zmagovalcev in z javnimi razpisi - ne pri izbiri izvajalca, ne pozneje - ne omejuje konkurence.
Ker mora javni sektor notranje (so)obvladovati svoje kritične sisteme je določena omejitev nabora tehnologij in orodij s katerimi se razvija že smiselna (s ciljem krepitve notranjega razvoja in s tem ustreznega bazena znanja in kadrov). Bi bilo pa te tehnologije in orodja nespametno (ideološko) omejiti na odprto- kodne. Brezplačnost odprte kode je pesek v oči, pravljica za mesije. Predpogoj za njeno široko uporabo je vsem dostopno znanje o njej. Danes je v praksi draga, ker je v zasebnem sektorju njena uporaba redkejša od uporabe komercialnih rešitev. Posledično je znanje o njej razdrobljeno, učna krivulja strmejša, dobaviteljev je manj, so manj profesionalni in (stroškovno in tudi vrednostno po načelu “nisem bogat, da bi kupoval poceni”) dražji.
Mnogo boljša rešitev je, da javni sektor enostavno vztraja, da imajo komercialne rešitve, ki se uporabljajo za razvoj tudi odprtokodne različice in da dobavitelj skrbi za združljivost z njimi. Npr. vsak projekt, ki se ga razvije v okolju .NET naj bo mogoče prevesti tudi z orodji Mono. Rešitve, ki odprto- kodne različice nimajo, pa se uporabljajo le v primeru, da ni odprto-kodne različice primerljive zmogljivosti (npr. za 90% srednje velikih in integriranih podatkovnih baz zadostuje Postgres, za 10% najkompleksnejših pa sta Microsoft in še mnogo bolj Oracle edina razumna inženirska rešitev).
Ena izmed (možnih) blagodejnih posledic takšne strategije je, da bi se razvoj sčasoma pocenil vsem. Podjetja bi razvila znanje in postopke, ki bi jim omogočali kandidiranje na javnih razpisih brez dodatnih državnih vlaganj. Fluktuacija kadra bi to znanje in postopke razširila po gospodarstvu. Kadri z univerze, kjer se pretežno uporablja odprto- kodne rešitve bi prišli v podjetja bolj usposobljeni za vključitev v delo. Javni in zasebni sektor bi naposled lahko realizirala prihranke zaradi brezplačnosti. Del javnih rešitev pa bi zaradi evro-socialistične mesijanske obsedenosti z odprto kodo povrhu lahko financirali iz Evropskih sredstev.
Naj nas motivi naših tekmecev in partnerjev pri poslu ne motijo preveč. Če vladarji Francije verjamejo v marksizem in zato njihovi volilci podpirajo odprto kodo, dajmo to izkoristiti skladno z modrostjo našega naroda, ujeto v brezčasni ljudski rek: “Pa je jaz nisem, pa so jo drugi.”
Odprimo torej vse projekte v javnem sektorju. Takoj. O prenormiranosti (in hkrati šibki strokovni presoji) pri javnih razpisih, kriminalnih in nepotrebno obrtniško unikatnih pogodbah, strateškemu razvoju IT kadrov vključno z nujno potrebnim nižanjem nivoja formalne izobrazbe in višanjem strokovne usposobljenosti, vzpodbujanju inženirske kulture in "poprimimo za vsako delo" odnosa ter obvladovanju projektnih tveganj pa bomo roman ali vsaj novelo napisali ob kakšni drugi priložnosti.



To je ena velika laž. Res je, da knjižnice imajo posamezne razvijalce, kateri v prostem času ali pa plačano vzdržujejo kodo. Ampak večina večjih projektov ima t.i. integratorje, kateri poskrbijo za profesionalno storitev, katero stranka želi.
Na primer Plone CMS je odprtokodni projekt, kjer zadaj ni vendorja. Vendor je nadomeščen s skupnostjo. Obstaja pa dovzetno število integratorjev, kateri zložijo vse legokocke na kup, da ima željeni portal funkcionalnost glede na specifikacijo. Še seznam za dokaz: https://plone.org/support/providers
Integratorje - Te najame podjetje za sestavljanje lego kock. Vzame se obstjoeče rešitve ter reši problem stranke.
Tehnično pomoč - Ko grejo stvari narobe in je potrebno ukrepati na kratek rok.
Razvijalce - To so ponavadi avtorji programja, katere se lahko plača, da svetujejo ali dodajo funkcionalnost.
Tretja skupina je tista, ki ni na voljo v Sloveniji, če trg ne obstaja. Nažalost razvijalci ne zrastejo čez noč, a ideja evropske unije naj bi reševala točno takšne potrebe.
Če grem po vrsti, tretiranje portalov kot delo študentov, ki za 5€ neto na uro pišejo PHP kodo, za katero potem podjetje pobere zmagoslavno ves profit, je ravno rezultat ki ga imamo na trgu. Nepregledni portali, polni starih varnostnih lukenj ter predvsem drago vzdrževanje. Na to temo se da marsikaj dodati, ampak o tem drugič.
Portali imajo precej tehničnih izzivov, med glavnimi so:
- preglednost med številnimi podatki
- varnost
- urejanje pravic za več nivojev uporabnikov, ki imajo različen dostop do vsebine (spet, varnost)
Dobiti Java/SQL programerja je v Sloveniji trivialno, ker nam takšne ljudi izobrazi univerza. Niše kot so PostgreSQL itd. so problem po celem svetu in ko se potrebuje razvijalca na tem področju se pogleda na trg, kjer obstajajo. Torej v tujino. Če bo kdaj v Sloveniji dovolj velik trg, verjamem, da bo tudi pri nas obstajal dodatni strokovnjak ali dva.
Če bi država potrebovala skupino 5 *razvijalcev* s področja PostgreSQL, bi si upal trditi, da je šlo nekaj hudo narobe pri zasnovi projekta par korakov prej. Če se potrebuje nasvet za implementacijo rešitve nekega problema, ne vidim razloga zakaj se ne najame tuje firme, dokler to pri nas ni možno.
Uporaba odprtokodne tehnologije zahteva določeno preglednost in razumevanje, drugače se lahko naredi več škode kot koristi. Ničkolikokrat sem v slovenskih podjetjih videl, da se je uporaba odprte kode končala v zelo slabi luči. Za to ni kriva tehnologija, temveč (ne)poznavanje ter operiranje s tehnologijo samo.
Npr. tipični problem, ki ga majhno število podjetij pravilno rešuje je vračanje kode v izvorni projekt. Glavni problem je seveda v tem, ker proces vzame čas, na videz pa ni koristi. Na dolgi rok je pa to nujno potrebno, saj z leti ali meseci se koda razdvoji od izvrnega projekta, kar onemogoči združitve kode z novimi spremembami na izvornem projektu. Rezultat je zapravljanje še več časa s črpanjem popravkov iz izvornega projekta in nadaljnega razdvojevanja kode.
Če naredim zaključek iz povedanega. Obstajajo določene omejitve pri rešitvah z odprto kodo, ki se jih je potrebno zavedati, ampak še zdaleč to ni problem zrelosti. Potrebno se je zavedati, da vseh rešitev še ni v odprti kodi, ampak morda bi pa celo država lahko spodbudila takšna prizadevanja, kadar so izvedljiva?
HelpDesk je tipično organiziran večslojno, med različnimi sloji so eskalacije na način, da se čimmanj obremenjujejo najbolj strokovni ljudje. Imajo pa to podjetja glede na kulturo organizirano zelo različno, ena uporabljajo developerje za oboje, druga le za razvoj, itn. Stvar presoje menedžmenta, kaj bo bolje delovalo. Ajde, nek končni nivo HelpDeska je lahko tudi teženje npr. Oraclu, če je problem tam in ne v poslovnem informacijskem sistemu (šanse za to so 1:100.000)
Vsi projekti, odprtokodni ali ne, se vsedejo v to organizacijo, ko pridejo v to podjetje ali v javni sektor. Ni neke drugačnosti. Je le možnost za konkurenčno ceno najeti kvalitetne vire, ali pa tudi ne. To je odvisno od tega, kakšno penetracijo ima neka tehnologija. In govorimo o tem, kako 1) povečati to penetracijo in še pomembneje 2) deliti znanje (kodo, dokumentacijo) o samih projektih v javnem sektorju, da se zniža odvisnost od dobaviteljev (torej o tem, da se vsa sproducirana koda in dokumentacija rešitev odpre)
Imam občutek, da ne govoriva o čisto isti stvari? Tu ne gre za instalacije in portale ali celo za lego kocke (te so del tehnologij in integracij in pri kompleksnih PIS tega enostavno ni; žal ni lego kock za informacijsko podporo e-sociali, e-zdravstvu, katastru, planiranju državnega proračuna...), ampak za poslovne informacijske sisteme, ki pokrivajo ključne delovne procese. Ne toliko za infrastrukturo in internetne kaprice, kot za samo ogrodje poslovanja. To je tisti del informatike, kjer nastajajo najvišji stroški in se tudi ustvarja največja vrednost (z izjemo dobrih prodajnih internetnih orodij).
Sicer se strinjam z dikcijo "Uporaba odprtokodne tehnologije zahteva določeno preglednost in razumevanje, drugače se lahko naredi več škode kot koristi." To sem jaz zajel v - drago, komplicirano, slabo dokumentirano, nerazširjeno.
Kar se tiče kadrov, ki pridejo iz univerze to ni tako močen faktor kot tisto, kar podjetja lahko prodajo na trgu. Če lahko na mnogo koncih prodajo Postgres, ga bodo profesionalci obvladali (intermediate level) v nekaj mesecih in postali strokovnjaki (expert level) v letu dni - učna krivulja je zelo kratka. In potem tudi širili naprej.
Država tako ne sme mikromenedžirati teh zadev, ampak lahko zgolj takrat, koje to v njenem interesu na trgu kupuje odprto kodo. Vse drugo se mora v red postaviti samo, brez vpletanja politike. Že danes v univerze mečemo dovolj denarja, da bi lahko proizvedle, npr. 3 strokovnjake za razvoj GNU compiler suita, razvoj optimizacije Postgresa, razvoj samega apache strežnika; namesto 3 klovnov za prevajanje odprte kode v Slovenščino, Pythonanje in PHPjanje. Takšni hard-core kadri bi potem že imeli potencial tudi dvigniti raven inženirske kulture in gradnje na znanju temelječega gospodarstva.
Točno, torej enostaven, makromenedzerski, a hkrati velik korak bi bil pri razpisih dodati zahtevo, da je produkt projekta odprtokoden in ga je mogoče postaviti in razvijati s prostim programjem.
Glavni problem slovenskega IT trga je po mojem mnenju plačevanje programerjev po žalostnih postavkah (predvsem ker firme minimizirajo stroske ravno na njih, namesto povsod drugje), kar je posledica, da vsi dobri odidejo v tujino. Kar ostane na voljo so študentje. Tu bi lahko država ogromno spremenila, saj bi z odprtokodnimi projekti ubila tronivojski management in bi ta denar raje sel v roke inžinirjev, na podlagi česa lahko končno zraste neko zdravo okolje.
Tu ne gre za instalacije in portale ali celo za lego kocke (te so del tehnologij in integracij in pri kompleksnih PIS tega enostavno ni; žal ni lego kock za informacijsko podporo e-sociali, e-zdravstvu, katastru, planiranju državnega proračuna...), ampak za poslovne informacijske sisteme, ki pokrivajo ključne delovne procese. Ne toliko za infrastrukturo in internetne kaprice, kot za samo ogrodje poslovanja. To je tisti del informatike, kjer nastajajo najvišji stroški in se tudi ustvarja največja vrednost (z izjemo dobrih prodajnih internetnih orodij).
Eh, tudi neko resno inžinirstvo ni. Še vedno so lego kocke - pravice, vsebina ter workflow. Obstaja mnogo dobrih odprtokodnih orodij, ki so dobra osnova za takšne aplikacije. Poslovna logika je trivialna z avtomatskih testiranjem.
Ko že govorimo o resnici: NOB je bil proti osamosvojitvi (Stanovnik, 1989) in zaradi tega nima pravice biti na proslavi osamosvojitve kot predstavnik osamosvojiteljev. Lahko pa je vsak tam v civilu seveda. Če pa ima kdo protiargument temu, pa z njim na dan.
Zadnjič sem na MMC bral eno umazano laž, da bo državni sklad po strogo tržni ceni odkupil nasedle nepremičnine bank, potem pa jih, po širokosrčni, ljudski in dostopni ceni, ponudil v najem revežem, ki si jih brez te milosti ne bi mogli privoščit...
V grafu je potrebno številu zaposlenih v javnem sektorju, obvezno dodati št.upokojencev !
Kje je zdaj KK pasja princesa, Zaljar, Krivić & comp, ki so garantovali z vsemi svoljim lažmi, da odškodnin ne bo ?
Kot sem omenil pred leti na tem blogu:
Zakaj se je KK in Zaljar (uslužbenca advokataske pisarne sinica) potegovala za prebrisance ? Zato ker dobi neka advokatska pisarna, recimo bulmastif & sinička, min 15% od iztožene vsote 500 miljonov.., kar ZNESE 75 miljonov evrotov.
enostavno ko pasulj.