Arkinen klisee on päivittely siitä, miten kaikki on nykyään mahdollista tietojärjestelmien ja ohjelmistojen avulla. Vaikka elektroniikka sinänsä kehittyy käsittämätöntä tahtia ja itse tekniikan luotettavuus on äärimmäisen hyvää, vaikuttaa ohjelmistoja riivaavan vuodesta toiseen samat taudit.

Ongelmat ovat kaikille tuttuja. Ohjelmistot eivät toimi ennustettavasti tai keskenään yhteen. Käyttäjät eivät ymmärrä käyttöliittymää, ja tukipuheluista kertyy mojova lasku.

Kun maallikko sanoo inhoavansa tekniikkaa, hän oikeasti inhoaa huonoa ohjelmistotuotantoa. Sen tietää myös IT-yrittäjä Juha Yrjölä:

”Onnistunut ohjelmistokehitys vaatii ihmisten välisen vuorovaikutuksen ja muiden inhimillisten tekijöiden huomioimista. Tämä monesti perinteisissä ohjelmistoprojektissa unohtuu.”

Ohjelmistot voi jakaa kolmeen ryhmään: organisaatioiden sisäiseen käyttöön ostettuihin tietojärjestelmiin, kuluttajille suunnattuihin kaupallisiin ohjelmistoihin sekä yrityksen palvelun käyttäjille tarkoitettuihin käyttöliittymiin. Jostain syystä näiden laadukkuus kasvaa usein tässä järjestyksessä, vaikka viimeksi mainitusta ei asiakas yleensä maksa erikseen mitään.Väitänkin, että mitä isompi ja kalliimpi ohjelmistohanke on, sen vähemmän tuotantoprosesseissa sovelletaan alan moderneja oppeja.

Oman elämän hakkereita

Mitä enemmän kokemusta meillä on ohjelmistojen käytöstä, sen parempia meistä tulee antamaan vikoja anteeksi ja kiertämään niitä. Tämä on kuitenkin suuri vääryys. Ohjelmistotuotannon tavoite ei saa olla synnyttää uusia hakkereita – vaikka näin valitettavasti on käynyt. Kerron omakohtaisen esimerkin.

Vuosi sitten asensin eläkkeellä olevan isäni tietokoneelle Office-toimistopakettia ja ihmettelin, kun asennus ei onnistunut. Tukipuhelusta ei ollut mitään apua. Tilannetta tutkittuani löysin asennuspaketin uumenista turhan koodinpätkän, joka kerta toisensa jälkeen aiheutti virhetilan ja koko asennuksen epäonnistumisen. Poistin koodipätkän, ja niin isäni sai toimisto-ohjelmistot koneelleen.

Jos joku muu asiantuntija olisi laskuttanut isääni tällaisesta työstä normaalia taksaa, olisi siitä syntynyt satojen eurojen kustannus. Työllisyys on sinänsä kiva asia, mutta rikkinäisten kaupallisten tuotteiden korjaamiseen kuluva raha ja ihmisresurssit ovat kaikki pois parempien ohjelmistojen kehittämisestä ja muusta tuottavasta työstä.

Esitän seuraavaksi neljä keinoa, joilla voi vaikuttaa oman IT-arkensa laatuun.

Panosta käytettävyyteen

Vaikka olemme kiireisiä ihmisiä ja osaamme hinnoitella työaikamme, haluamme jostain syystä säästää ohjelmistojen ja palveluiden hinnoista kaiken muun elämämme kustannuksella. Se on tyhmää.

Jos käyttämällesi järjestelmälle on parempi mutta hieman kalliimpi vastine, siirry olosuhteiden salliessa siihen. Näin todennäköisesti säästät hintaeron melko nopeasti parempien työvälineiden käytön mukanaan tuomalla tuottavuuden kasvulla.

Vältä toimittajaloukkua

Monen isomman ohjelmistoprojektin ongelma saattaa piillä siinä, että ohjelmistokehitys on yhä tavallisen kansan keskuudessa sarja mystisiä riittejä.

On yleistä, että isompien yritysten johto ymmärtää ohjelmoinnin päälle keskimäärin yhtä paljon kuin keskiverto kaduntallaaja. Samalla myyntiosasto haluaa myydä mahdottomia. Näin ollen organisaatioketju saattaa vahingossa pakottaa ohjelmistokehityksen hakoteille.

Tämä surkuhupaisuus on toistuva teema sarjakuvassa Dilbert eli Pentti Perusinsinööri. Microsoftin entinen teknologiajohtaja Nathan Myhrvold on asian kuitannut seuraavasti:

“Software sucks because users demand it to.”

Kuluttajan on tietenkin vaikea suoraan vaikuttaa tietyn ohjelmiston tuotantoon, mutta rahalla voi kuitenkin äänestää.

Tietokoneen tarjoamat viestit ovat joskus hämmentävän ristiriitaisia. Kuva: Jesman, Flickr (cc).

Osta mielummin luotettavia ja hyvin yhdessä toimivia ohjelmistoja kuin jättipaketti, joka ei ole hyvä missään. Toimintoja pursuaviin paketteihin sisältyy usein myös enemmän tai vähemmän tahallinen toimittajaloukun riski. Organisaatioissa tämän rakenteen suunnitteluun kannattaa käyttää asiantuntijoita, joilla ei ole sidonnaisuuksia itse toimittajiin. Kuluttajana apua löytää ihan ilmaiseksi, kunhan jaksaa googlata.

Valitse lisenssin sijaan palvelu

Kaupan hyllyssä ohjelmisto voi vaikuttaa edulliselta, mutta yleensä se tuo mukanaan odottamattomia oheiskuluja.

Nykyään työssä käyttämämme ohjelmistot muodostavat usein työskentelymme kriittisen pisteen: jos ohjelmisto ei toimi, työtä ei voi jatkaa. Ohjelmiston toimittaja sen sijaan on jo saanut rahansa, joten sillä on korkeintaan imagointressi jatkaa suhdettaan asiakkaaseen, joka ei enää tuota muuta kuin kustannuksia.

Ohjelman voi usein ostaa myös palveluratkaisuna eli Software as a Service -mallin mukaisesti. Tämä tyypillisesti tarkoittaa, että käyttäjä maksaa kuukausihintaa ja toimittaja takaa tietyn laatutason esimerkiksi nopeudessa tai saavutettavuudessa.

Palveluratkaisun yksi etu on helpommin ennustettava hinta. Tämän lisäksi asiakkaan asema kohenee, koska toimittaja saa rahansa asiakkaan pitämisestä jatkuvasti tyytyväisenä.

Suosi avoimia järjestelmiä

Jatkuvasti mullistuvassa ohjelmistojen ja standardien maailmassa yksi suurimmista uhkakuvista on joutua vangiksi vanhentuneeseen järjestelmään, jota kukaan ei voi kehittää paremmaksi. Vaihtoa toiseen järjestelmään taas vaikeuttaa olennaisesti se, että toimittaja voi pitää asiakkaan vuosien saatossa syöttämää tietoa panttivankina.

Suljettuihin järjestelmiin ja yhden toimittajan loukkuihin astutaan yhä jatkuvasti niin julkisella kuin yksityisellä sektorilla. Olen nähnyt lukemattomia pienyrityksiä, jotka eivät voi kunnolla kehittää liiketoimintaansa, koska tietojen siirtäminen museoon kuuluvista järjestelmistä ei onnistu. Vanha toimittaja voi myös kiristää räätälöidyn ratkaisun ylläpidosta jatkuvasti kasvavaa hintaa.

Valitse siis ohjelmistoja, joiden välillä voit siirtää tietoa suoraviivaisesti avointen rajapintojen kautta. Suosi avoimia standardeja myös tallennusformaateissa. Mikäli ohjelmistovaihtoehdot ovat vähissä, anna palautetta.

Yritysten ja julkishallinnon kannattaa vaatia, että lähdekoodi sisältyy hintaan ja että tietojärjestelmät toteutetaan palasina, jotka pystyvät keskustelemaan keskenään dokumentoidun “kielen” mukaisesti. Näin on helpompi korvata näitä osia toisilla ja laajentaa järjestelmää.