Ohjelmistot ja ohjelmointi: joulukuu 2006 - arkisto
Vielä muutama vuosi sitten oli mahdollista verrata tietokoneiden käyttöjärjestelmien ja sovellusten käyttöliittymien luotettavuutta kodinkoneisiin: Että eikös olisi absurdia, jos pesukone pitäisi välillä buutata, kun se kesken koneellisen menisi tilttiin? Että miten on mahdollista, että ihmiset hyväksyvät moisen käytöksen tietokoneohjelmilta, että ne nyt vaan ovat sellaisia, kukapa sitä täydellistä ohjelmaa saisi aikaan. Että ajatelkaa nyt hyvät kollegat, ei tuollaista bugaavaa softaa voi myydä sen kummemmin kuin bugaavaa kaasu-uunia tai lentokonettakaan.
Nyt kun katselee ympärilleen, niin on selvästi havaittavissa, että huonompaan suuntaan ollaan menossa. Tietokoneohjelmien bugit ovat huomaamatta uineet mikropiirien mukana niihin pesukoneisiin ja ennen kaikkea viihde-elektroniikkaan; Digiboksit ja DVD-soittimethan ovat käytännössä kiiltäviin koteloihin pakattuja mikrotietokoneita. Että vielä pitää kehuskella sillä, että laitteen ohjelmiston saa päivitettyä. Toisin sanoen, että testaus tehdään kuluttajilla, kuten niin kovin usein tietokoneohjelmistoillakin.
Ei tämmöistä pidä hyväksyä. Digiboksit ovat varmaan tästä valmistajaetiikan puutteesta tällä hetkellä kaikkein esimerkki. Ei perhana kahta vierekkäistä kaukosäätimen painiketta vahingossa samanaikaisesti painamalla laite saa mennä niin jumiin, että pitää vetää virrat pois, kuten minulle tapahtui eilen illalla. Kun laitteiden sulautetuille ohjelmistoille ei osaa tai edes voi tehdä mitään, tarkoittaa se joko vuosia kestävää käyttösurkeutta tai kasvavaa elektroniikkarojumäärää kaatopaikoilla.
Mitenkäs olisi jonkinlainen toimivuusmerkki tuotteille, jotka on riippumattoman tahon toimesta realistisiin käyttötapauksiin pohjautuvilla testeillä testattu ja riittävän toimiviksi havaittu? Oli sitten kyseessä kirves, kuulakärkikynä tai taitto-ohjelma, valmistajan olisi tehtävä sille testitapaukset, joiden kattavuus olisi arvioitettava ulkopuolisella, ja valmis tuote testautettava ennen markkinoillelaskemista. Lainsäädäntö voisi tuskin tällaiseen pakottaa, mutta yhteisesti sovittu merkki helpottaisi tiedostavan ostajan elämää. Yksi on joka tapauksessa selvää: sulautetut sovellukset eivät tule jokapäiväisessä elämässämme ainakaan vähenemään.
Meillä on duunissa sellainen periaate, että mitään muutoksia tuotantojärjestelmiin ei tehdä perjantaina puolen päivän jälkeen. Niiden järjestelmien pitäisi nimitäin toimia 24 tuntia vuorokaudessa, ja viikonloppuna on ilkeää tulla hälytetyksi korjailemaan omia, saati sitten muiden mokia. Toimii, paitsi että aina välillä jotain niissä järjestelmissä ajautuu akuutisti tuhoon juuri perjantai-iltapäivällä.
Ei ole yhtään kiva tunne, kun huomaa ammottavan logiikka-aukon softassa, jonka suunnittelusta ja toteuttamisesta on ollut yksin vastuussa. Varsinkaan kun huomaa sen vasta siinä tilnateessa, kun systeemin toiminta on jo ehtinyt aiheuttaa näkyviä virheitä ison asiakkaan loppukäyttäjille asti. Sitä sitten kiireellä yrittää korjata pahimmat aiheutetut mokat ja miettiä miten ihmeessä sitä on voinut jättää tällaisen tilanteen ottamatta huomioon. Että jos ihmettelitte miten kummassa Uudellamaalla ja Ahvenanmaalla oli tänään klo 15 jälkeen erittäin liukas jalankulkukeli, niin aiheellisesti ihmettelitte.
Joo, kyllähän sitä aina pitäisi huolehtia, että softa on riittävän hyvin testattu ennen jokaisen muutoksen viemistä tuotantoon. Ja koodi jo hyvissä ajoin ennen sitä huolellisesti katselmoitu kollegojen toimesta. Sitä olisi henkisestikin vahvemmilla, kun ei tarvitsisi aivan yksin olla vastuussa bugeista, joita kaikkiin ei-triviaaleihin ohjelmiin kuitenkin aina jää. Todellisuus ei sitten aina noudattele näin idealistisia prosesseja. Äh.
Vielä entistäkin pahemmalta näin käyttäjäkokemusorientoituneesta ihmisestä tuntuu, kun tekemänsä softan käyttäjä joutuu hankalaan tilanteeseen, jossa hän virheen tehtyään ja sen huomattuaan ei bugin vuoksi pääse korjaamaan tekemisiään. Aika lähellä sitä pahinta käyttäjäkokemusta.
for (i=0;i<1000;i++) {
Liitutaulu.out.println("Lupaan yrittää olla huolellisempi tulevaisuudessa.");
}
No, nörttivitsit sikseen, tein myös ihan oikeita katumusharjoituksia (via Matkalla).







