Softa haisee enemmän kuin keltainen marinadi

Suomessa on kohu päällä siitä, kun nimettömät työntekijät väittävät kauppiaiden peittävän pilaantuneen ruoan hajut marinadin alle. Tämähän ei liity suoraan tietotekniikkaan, mutta malttakaa lukea pidemmälle.

Rötösherrojen paljastamiseen erikoistunut Helsingin Sanomien taloustoimittaja Tuomo Pietiläinen kirjoittaa aiheesta, HS:n Näkökulmassa, 25.8.09, s. B 3:

Elintarvikkeiden myynti taitaa olla viimeinen liiketoiminnan alue, jossa viallisen tavaran kauppaa ei kunnolla valvota eikä rangaistuksia määrätä. Paljon vaikeamminkin valvottavat kohteet on saatu jollakin tavoin kuriin.

Naurussa oli pitelemistä tätä lukiessa. Kollega Pietiläisen seurannassa eivät ilmeisesti ole vielä olleet kännyköiden tai pc-koneiden ohjelmistot, tai web-sovellukset. Eihän hän muuten tohtisi tuollaista kirjoittaa.

Todistetusti hyvääkin softaa on tehty. Pitkään jatkunut pääperiaate tuntuu kuitenkin olevan, että kuluttaja saa ensimmäiset kaksi versiosukupolvea keskeneräistä, heikosti toimivaa tai toimimatonta tavaraa.

Ohjelmisto voi vaarantaa kuluttaja-asiakkaan henkilötiedot, omat tiedostot ja koko kotiverkon, mutta mitään rikettä ei ole tapahtunut. Takuuta ei ole, eikä bugisesta softasta saa rahojaan takaisin.

Tästä kaikesta huolimatta mikään viranomainen ei puutu asiaan. Edes torumiskirjettä en muista kuluttajaviranomaisten julkaisseen.

Kotitietokoneisiin on myyty käyttöjärjestelmää, joka itsessään ei ole turvallinen, vaan vaatii erillisen kolmannen osapuolen tietoturvasoftan. Jos kuluttaja ei osta sellaista, teleoperaattori saa pistää kuluttajan maksaman laajakaistan poikki, koska kone levittää saastaa verkkoon.

Korjaus tulee sitten, jos on tullakseen, ehkä kuukausiakin viiveellä. Korjaus saattaa maksaa erikseen.

Ongelma on nykyisin ohjelmistoyhtiöissä ratkaistu siten, että kaikki softa on ensin beetaa tai release candidatea, kunnes sitä on testattu asiakkailla tarpeeksi.

Pietiläinen huomauttaa kirjoituksessaan, että elintarvikkeiden marinointipetokset tekee törkeiksi se, että niissä “tavoitellaan huomattavaa hyötyä”. Samasta on kyse myös ohjelmistoissa. Ne ovat maailmalla miljardibisnestä, ja vähemmän ammattimaista testaamista tarkoittaa kulujen säästämistä.

Toistaiseksi ohjelmistovikoja on huomioitu lähinnä tietotekniikan medioissa, ja niissäkin suurennuslasia voidaan vielä säätää tarkemmaksi.

P.S. Suomalainen keltainen marinadi on minustakin hirveää. Älkää ostako sitä. Boikotoidaan sitä yhdessä! Voimme elää ilman E 621:sta. Öljyä ja mausteita löytyy joka ruokakaapista.

Tagit: , ,
Aiheet: Tuotteet,Uutiset
Tilaa RSS-syöte
Takaisin ylös

Kommentit 54 kommenttia

Juu, tästähän se taisi EU:kin jokin aika sitten nostattaa hieman kohua, kun miettivät, että miksi softa ei voi toimia samalla mallilla kuin kaikki muukin: jos ostat kengät ja niissä on jotain vikaa, saat joko uudet popot tilalle tai rahat takaisin. Softassa yksinkertaisesti on vikaa. Piste. Mistään hyvityksistä tai korvauksista on turha puhuakaan.

Toisaalta tämä on täysin ymmärrettävää, kun ottaa huomioon nykyohjelmistojen monimutkaisuuden ja toisaalta ohjelmistojen luontaisen epäluotettavuuden (silta ei romahda jos yksi pultti katkeaa, mutta ohjelmistojen tapauksessa yksikin virhe todennäköisesti johtaa virhekäyttäytymiseen tai koko ohjelman kaatumiseen). Samalla on kuitenkin huomautettava, että miksi ohjelmistojen on oltava niin monimutkaisia? Monissa tapauksissa hyvin suuri osa ohjelman koodista (ja samalla bugeista) voitaisiin heittää romukoppaan ohjelman perustoiminnallisuuden kärsimättä.

Itse en esimerkiksi tykkää hoitaa pankkiasioita selaimen kautta, koska jokaisessa nykyaikaisessa selaimessa on niin vietävän paljon toiminnallisuutta, jota ei tuossa hommassa tarvitse ja joka vain lisää tietoturva riskiä. Tähän olisikin omiaan joku “karvalakkimalli” selaimesta, jossa ei ole kuin välttämättömät ominaisuudet ja jonka tietoturvaan olisi oikeasti satsattu. Ylimääräiset ominaisuudet voisi sitten jättää johonkin “bling bling” selaimeen, jota voisi käyttää vähemmän tärkeissä tehtävissä. (Käytännössä nettipankin käyttäminen on kuitenkin lähes välttämätöntä nykyisin ja “pakkohan” sitä on netissä pankkiasiat hoitaa).

P.S. Marinadia tulee boikotoitua jo senkin takia että olen kasvissyöjä (ts. “porkkanan purija” :) , mutta tuota natriumglutamaattia tulee kyllä syötyä silloin tällöin esimerkiksi pikanuudeleissa. Myrkkyähän se on ja yritän kyllä sitä välttää, mutta joskus sitä voipi vähän irrotella…

Naulan kantaan, Tero ja Jumppahuiti.

Sanoisin, että rinnastukset keltaiseen marinaadiin pitää täsmälleen paikkansa useiden ohjelmistotuotteiden kohdalla. Ubiikkiyhteiskunta, jossa tietotekniikka olisi aidosti huomaamaton osa jokapäiväistä elämää, ei tule ikinä toteutumaan nykyisillä trendeillä. Aina on jokin rikki. On totta, että tekniikan kehitystä ei tulisi missään tapauksessa pysäyttää, mutta tahtia voisi reilusti hidastaa ja keskittyä tekemään asioita kunnolla.

Kunnollista softaa ei vain osata riittävän painokkaasti vaatia. Tästähän loppujen lopuksi kenkä puristaa. Siihen on mielestäni vain yksi selitys: Ihmiset ovat totutettu siihen, että “good enough” (eli purkkavirityksillä kasassa pysyvä) on ainut tarjolla oleva vaihtoehto.

Softafirmoilla tulisi olla vähintään kerran vuosikymmenessä kanttia kirjoittaa kaikki ihan alusta asti uusiksi, erityisesti nämä käyttöjärjestelmiä kirjoittavat instanssit. Tällöin täytyisi myös olla kanttia pudottaa menneisyyden taakat pois koodista ja todeta kylmän rauhallisesti, että alaspäin yhteensopivuutta ei vain ole.

Offtopic: Henkilökohtaisesti olen sitä mieltä, että käyttöjärjestelmän ei tulisi olla kaupallinen tuote ollenkaan, eikä sidottu minkään laitevalmistajan tuotteisiin, eikä siis missään tapauksessa suljettua koodia. Sovelluksista olenkin sitten eri mieltä. Softalla pitää voida myös elää. Rajansa kaikella kuitenkin.

“Todistetusti hyvääkin softaa on tehty. Pitkään jatkunut pääperiaate tuntuu kuitenkin olevan, että kuluttaja saa ensimmäiset kaksi versiosukupolvea keskeneräistä, heikosti toimivaa tai toimimatonta tavaraa.”

Kuluttajat ei yleensä ole valmiita maksamaan softasta mitään vaan kaikki pitäis saada ilmaiseksi..

“Ohjelmisto voi vaarantaa kuluttaja-asiakkaan henkilötiedot, omat tiedostot ja koko kotiverkon, mutta mitään rikettä ei ole tapahtunut. Takuuta ei ole, eikä bugisesta softasta saa rahojaan takaisin.”

Kun softaa räätälöidään yritysasiakkaalle niin fiksuin tapa on tehdä softa, pistää kasaan ja näyttää asiakkaalle, kuulla palaute, tehdä muutokset ja hieroa bugeja ja taas asiakaalle. Sitten kun tuntuu valmiilta niin asiakas hyväksyy softan ja myös itse testaa ettei ole häikkää ja ottaa käyttöön. Tälle toki sitten annetaan takuuta esimerkiksi vaikka vuosi, että jos ilmenee jotain pikkuvikaa niin ne korjataan.

Kuitenkin, on jokseenkin mahdotonta tehdä virheetöntä softaa, joten jossain vaiheessa softan virheiden korjauksesta pitää veloittaa ja lisäksi tietokoneohjelma voi hajota itsestään. Ihmisillä kun on harhaluuloja, että kaikki olisi kaiken kanssa automaattisesti yhteensopivaa mutta todellisuudessa kaikki komponentit on yhteensopimattomia ja yhteensopivuus muuttuu jatkuvasti ellei standardia satu olemaan. Näin ollen softa voi hajota kun päivittää vaikka käyttöjärjestelmää.

“Kotitietokoneisiin on myyty käyttöjärjestelmää, joka itsessään ei ole turvallinen, vaan vaatii erillisen kolmannen osapuolen tietoturvasoftan.”

Mikään käyttöjärjestelmä ei vaadi mitään tietoturvasoftaa. Tämähän on vain Windows-merkkisten käyttöjärjestelmien mainos joka on naamioitu käyttöjärjestelmän ominaisuudeksi. Eli pelotellaan vähän, että terroristit aloittaa ydinsodan tai hakkerit tulee katsomaan pornojasi ellet osta F-SEKURE TIETOTURVAA. Kas kummaa kun se Windows suosittelee niitä maksullisia ohjelmia..

Tietysti hölmöt uskoo tämän ja ostaa sen “tietoturvan” jolla sitten tietokone jotenkin “suojataan” ja sitten kuvitellaan, että ohjelmistoja ei tarvisi päivittää kun on ostettu se “suojaus”.

Vastaavanlaista kusetusta on tietokoneissa kun jokainen valmistaja “suosittelee” Windowsia joka on olevinaan jotenkin “aito”. Siitä huolimatta, että tietokonemalli on voitu tehdä täydin eri käyttöjärjestelmälle. Se nyt vaan sattuu kuulumaan sopimukseen joten hölmöjä kusetetaan.

Suomessa voisi kyllä kuluttajaviranomainen oikeasti puuttua tähän. Tämä nyt ei vaan voi olla ihan laillista.

“Korjaus tulee sitten, jos on tullakseen, ehkä kuukausiakin viiveellä. Korjaus saattaa maksaa erikseen.”

Kuullostaa Mac OS X:n ensimmäisiltä julkaisuilta..

“Ongelma on nykyisin ohjelmistoyhtiöissä ratkaistu siten, että kaikki softa on ensin beetaa tai release candidatea, kunnes sitä on testattu asiakkailla tarpeeksi.”

Tai sitten on tehty basaarimallilla, että softa elää kokoajan ilman mitään luokituksia ja siitä sitten voi nappaa mieleisensä version tai sen voi Joku Muu testata ja paketoida valmiiksi.

“Toistaiseksi ohjelmistovikoja on huomioitu lähinnä tietotekniikan medioissa, ja niissäkin suurennuslasia voidaan vielä säätää tarkemmaksi.”

Siitä voisi lähteä, että ohjelmia ei käytännössä saada virheettömiksi. Tuhatta riviä koodia kohden voi olla monia kymmeniä virheitä ja tietokoneen ohjelmistoissa on satoja miljoonia rivejä koodia. Jonkinlainen takuujärjestely, että viat joihin asiakas törmää takuuaikana korjataan jossain kohtuullisessa ajassa. Toki asiakas itse vastaa varmistuksista ja sen sellaisesta, että asiakkaan pitää myös ymmärtää virheettömien ohjelmien olevan lähes mahdottomuus.

Tietoturva-asioihin sitten itse toivoisin jotain selvempää “parasta ennen” -päiväystä, että ohjelmistot selvästi ilmoittavat kuinka pitkään niitä paikataan tietoturva-aukoista. Tässä asiassa elintarvikkeet on edellä. Sentäs kerrotaan, että milloin maito menee vanhaksi. Ohjelmistoissa tämä tieto on usein vaikeammin selvitettävissä kuten esimerkiksi Applella. Canonical, Microsoft ja Red Hat sitten ilmoittaa muihin verrattuna varsin selvästi.

Onneksi meillä on Piraattipuolue, jonka asialistalla on tämäkin heikosti noteerattu ongelma.

Meillä dunissa se toimii näin:

sanon että asian hyvin tekemiseen menee 4 kk, sitten rahanviilarit sanovat että saat 1 kk. ihan kuin kyseessä olis neuvottelu asia. No sitten koodia tehdään 1 kk. Minimivaivalla ja sitten korjaan sitä 4kk (enkä saa sitä samaan tasoon kun olisin 4 kk tehnyt). Tämä on kuulemma halvempaa.

Olen samaa mieltä että palautusoikeus myös lisenssin varaisille asioille. Oppivat penninvenyttäjät priorisoimaan OIKEAA asiaa.

Just Joo: “sanon että asian hyvin tekemiseen menee 4 kk, sitten rahanviilarit sanovat että saat 1 kk. ihan kuin kyseessä olis neuvottelu asia. No sitten koodia tehdään 1 kk. Minimivaivalla ja sitten korjaan sitä 4kk (enkä saa sitä samaan tasoon kun olisin 4 kk tehnyt). Tämä on kuulemma halvempaa.”

Perinteistä konsulttien järjestämää projektinhallintaa.

Alkuperäisestä arviosta projektin annettuun kestoon.
12kk -> 9kk -> 6kk -> 4kk. Ja tosiaan lopussa sitten väännetään kaksi kertaa pidempi aika että saadaan kuntoon puolet siitä mitä alunperin puhuttiin.

Tälläkin hetkellä kuluttajalla pitäisi olla oikeus että rikkinäinen tuote korjataan, vaihdetaan uuteen tai kauppa perutaan.

Kuitenkin jokainen tuote luokitellaan eri arvoisiksi. Esim lastenvaunut ovat 1-luokkaa missä rikkinäinen tuote vaihdetaan heti tai hyvitetään rahat välittömästi ja voi vaihtaa toisiin. Syy on että melkein kenelläkään ei ole kaksia lastenvaunuja ja ne on tarpeelliset.

Kengät ovat 2-luokkaa mikä tarkoittaa että voi mennä parikin viikkoa että saa uudet kengät. Syy on että kenelläkään ei ole vain yhtä paria kenkiä vaan on useammat.

Matkapuhelin… sepäs putoaakin 2-luokkaan. Valmistajalle täytyy antaa mahdollisuus korjauttaa laite. Menkööt vaikka sitten 1-2 kuukautta ja 2-4 korjauskierrosta.

Muistaakseni oli vielä 3-luokka joka oli vielä heikommin suojattu. Melkein vain kertakäyttökamat mutta sinnekkin työnnetty kaikkea muuta. Esim hammastahnat ja muut hygienia valmisteet. Niiden osalta taas toimii myös terveysviranomaiset ja usein liike omasta johdosta vaihtaa ne välittömästi tai palauttaa rahat ettei maine mene.

Miksi siis ohjelmistojen kohdalla ei samaa olisi, että tuote joko vaihdetaan toimivaan, korjataan tai palautetaan rahat?

No, vaihtaminen toimivaan on usein mahdotonta. Pitäisi tarjota kilpailijan tuotetta ja se ei olisi kiva asia. Ja rahaa kun tehdään uusilla versioilla niin ei voi 1.2 version ostajalle 6kk jälkeen antaa 2.0 versiota joka on vasta viikon vanha. Tämän takia joutuisi kaikille asiakkaille antamaan sen.

No, korjaushan on se toimiva asia. Eli sanotaan että viikon päästä tulee 1.3 versio ja homma toimii. Näinhän sitä tehdään.

Mites olisi rahojen palautus? Ei ole kyse kuin biteistä jotka eivät pilaannu, hajoa tai joita käytettäisiin uudelleen. CD/DVD-levyn palautus ja lisenssiavaimen poistaminen kirjanpidosta ja homma selvä.

Mutta kun ohjelmistoyrityksissä häärää konsultit ja projektivetäjät jotka vetävät aikataulut ym niin tiukaksi että poloiset ammattikoulusta kiskotut koodarit joutuvat tiukille. Niin eihän siinä voi palauttaa ensimmäisen vuosineljänneksen tuloja kun ollaan toista vasta aloittelemassa ja sen jälkeen pitäisi osakkeenomistajille lyödä rahat tiskiin. Parempi siis valehdella, työntää rahaa markkinointiin ja kiertää puheita ja kiistää ongelmista kertoen kuinka asioita tutkitaan ym.

Mutta mitä jos asiakas itse voisi korjata ohjelmiston tai palkata itse jonkun toisen yrityksen korjaamaan viat?

Tätähän on EU:ltakin vaadittu että kodinelektroniikassa käytettäisiin vain ja ainoastaan yleisiä osia ja komponentteja. koteloinnit ym pitäisi suunnitella siten että ne saa auki hajoittamatta sitä. Jokainen laite pitäisi olla kuluttaan itse purettavissa ja vaihdettavissa hajonnut osa itse. Varaosia pitäisi olla myynnissä ym.

Joten miksi ei vaadittaisi tätä ohjelmistojenkin suhteen? Miksi ei tehdä suoraan niin että julkisen hallinnan ohjelmistot täytyy olla avoimen lähdekoodin lisenssillä. Täytyy olla varmaa että voidaan korjata vika tarvittessa vaikka paikan päällä ilman että joudutaan ottamaan yhteyttä toiselle puolelle maapalloa useamman tukihenkilön kautta.

Tämän takia myös vaaditaan että elintarvikkeet myytäisiin ilman marinadia. Niin että asiakas saa itse valmistaa marinadin kuten haluaa ja maustaa sen miten haluaa. Sitä että kuluttajalle myydään esim 100% lihaa eikä 60% lihaa, 30% vettä ja 10% maku- ja väriaineita.

Ja tuollaisten elintarvikkeiden valvonta on heikkoa tosiaan. Useampi vuosi sitten joku tutkiva journalisti löysi että mm. joulun aikaan lihajalostamolta lähti enemmän lihaa kuin mitä sinne vietiin teuraaksi.

Mitä voitaisiin vaatia esim Microsoftilta Windowsin ongelmista? Maailman suurin ohjelmistoyritys joka ei saa laatua aikaiseksi. Ongelmat jotka ovat aiheuttaneet mm. Yhdysvalloissa itärannikon sähkökatkokset pariksi viikoksi. Ydinvoimalan ohjausjärjestelmien toimimattomuuden. Muutama kuukausi englannin laivaston ottaessa ydinsukellusveneisiin Windowsin vapaa-ajan käyttöön niiden saastumisen. ym ym. Kuolemia on tapahtunut pelkästään Windowsin ansiosta eikä Microsoft tee mitään muuta kuin vetoa käyttäjälisenssiin missä se ei ota mistään vastuuta ja nimelliskorvaus jostain on vain muutamia dollareita.

Ja auta armias kun päästäisiin vielä puhumaan rakennusalasta. Uudet juuri valmistuneet rakennukset halkeavat kirjaimellisesti useita senttejä useammasta kohdasta arkkitehdin suunnitteluvirheiden takia. Rakennustarkastaja ei ole tehnyt työtään eikä valvojat ole tarkistaneet vielä perustuksien standardien noudattamista. Putkimiehet ovat vetäneet viemärit pitkin ties mitä niin että on hajuongelmat joka paikassa. Ja vielä maksaja on typeryyksissään maksanut kaikille osapuolille koko summan ennen kuin jälkitarkastuksia on tehty ja rakennusta todettu hyväksytyksi. Vaikka käytössä ollut nyt viikon.

Yksinkertaisesti syy voi löyty korruptiosta. Virallisesti mitattuna Suomi on viidenneksi vähiten korruptoitunut maa. Mutta kun lasketaan ystävänpalvelukset mukaan, putoaa Suomi melkein hännille, pahiten korruptoituneiden joukkoon. Maiden kanssa joissa saat odottaa 25 vuotta että saadaan 150km pituinen moottoritie rakennettua ja jossa rakenteilla olevat rakennukset seisoo keskeneräisenä niin kauan että rakennuksen sisällä on täysikasvuinen puu.

Ja kaiken aikaan syypäänä löytyy sitten raha ja ahneus kun suuret yhtiöt pyrkivät maksimoimaan voittonsa. Jos ei voittoja tule tarpeeksi niin potkitaan työntekijät ulos. Huudetaan kapitalismin nimeen ja kuinka sosialismi on hirvittävä ym. Mutta heti ongelmien tullessa eteen seuraavalla vuosineljänneksellä (jonka jokainen muu pystyi ennustamaan jo 20 vuotta aikaisemmin) niin huudetaan valtio apuun apurahoilla jotta pelastaudutaan konkurssilta ja voidaan jatkaa taas tuotteiden myymistä jotka hajoaa käsiin eikä kestä.

“Siitä voisi lähteä, että ohjelmia ei käytännössä saada virheettömiksi.”

Minkä takia näin? Miksi ei olisi mahdotonta kirjoittaa virheetöntä kooodia? Toki vaatisi enemmän aikaa mutta eikö tämä samalla tarkoita laatua? Eikö kuluttajat ole valmiita maksamaan laadusta?

Esimerkki teollisuudesta, oli kyse sitten paperikoneen toiminnasta tai muusta.

Olisitko ohjelmoijana valmis laittamaan virheellistä (tarkastamatonta/”hutiloiden tehtyä”) koodia paperikoneen automaatiojärjestelmään ja olla valmis korvaamaan asiakkaan tuotannon seisaus, jonka syynä on virheellinen koodin pätkä? Eikä tässä vielä ole edes kyse laadusta vaan virheettömän järjestelmän toimittamisesta.

Matti Karnaattu: “Mikään käyttöjärjestelmä ei vaadi mitään tietoturvasoftaa. Tämähän on vain Windows-merkkisten käyttöjärjestelmien mainos joka on naamioitu käyttöjärjestelmän ominaisuudeksi. Eli pelotellaan vähän, että terroristit aloittaa ydinsodan tai hakkerit tulee katsomaan pornojasi ellet osta F-SEKURE TIETOTURVAA. Kas kummaa kun se Windows suosittelee niitä maksullisia ohjelmia..
Tietysti hölmöt uskoo tämän ja ostaa sen ”tietoturvan” jolla sitten tietokone jotenkin ”suojataan” ja sitten kuvitellaan, että ohjelmistoja ei tarvisi päivittää kun on ostettu se ”suojaus”.”

Ja nyt huhutaan että Snow Leopard tulee sisältämään virustorjunnan ihan oletuksena…
Haittaohjelmia voi tulla myös turvallisiksi todetuilta sivuilta, kuten tietokone.fi….

Mitä virheettömämpi softa, sen kalliimpi se on. Laatua parannettaessa ostaja toteaa jossain vaiheessa, että on halvempaa maksaa virheiden aiheuttamat kustannukset, kuin pulittaa täydellisyyteen pyrkimisestä.

Suppeassa ympäristössä toimivan sulautetun softanpätkän voi olla mahdollista testata läpikotaisin ja todeta se virheettömäksi, mutta esim. tietokoneen käyttöjärjestelmä on niin kompleksinen kokonaisuus, että sitä ei saada virheettömäksi, vaikka suuri osa ihmiskunnan resursseista käytettäisiin sen virheiden etsintään. Ja lopputuloksena olisi softa, jota kellään ei olisi varaa ostaa.

Mielestäni ostajien pitäisi vaatia softan toimittajan kanssa sopimuksia, joissa virheiden ilmenemisestä rangaistaisiin toimittajaa riittävästi, jotta sillä olisi jonkinlainen pyrkimys laadukkaan softan tekemiseen. Toki tällöin ohjelmistoille tulisi enemmän hintaa. On ostajan päätös, haluaako hän maksaa siitä.

Arvelen, että keskivertokäyttäjällä suurin osa vastaantulevista “virhetilanteista” johtuu vain käyttäjän osaamattomuudesta, eikä mistään virheestä softassa. Siksi suoranaisten ohjelmistovirheiden lisäksi keskustelua voisi laajentaa myös ohjelmistojen heikkoon käytettävyyteen. Jos käyttäjä ei osaa, onko vika ohjelmistossa vai käyttäjässä?

Onneksi tätä ei enää kestä kauan… korkeintaan muutaman kuukauden, kun Snow Leopardi on päässyt kunnolla markkinoille ja herkuttelemaan jopa toimittajien aivoilla.

Jälleen linkitetään BLOGIIN uutisen avulla. Amppareista blogit ovat filtterissä, mutta kun niitä jatkuvasti ja sinnikkäästi täältä tyrkytetään, niin laitetaan koko sivusto filtteriin. KIITOS JA HEI.

“Jälleen linkitetään BLOGIIN uutisen avulla. Amppareista blogit ovat filtterissä, mutta kun niitä jatkuvasti ja sinnikkäästi täältä tyrkytetään, niin laitetaan koko sivusto filtteriin. KIITOS JA HEI.”

Hei hei!

Nimimerkille Mielipiteet eivät ole uutisia:

Uutismediat sanomalehtiä myöten ovat kautta aikain julkaisseet uutiskommentteja, näkökulmia, ja niin edelleen.

Otsikolla ja uutispoiminnan ulkoasulla kerromme avoimesti, että kyse on mielipidejutusta, ei uutisesta. Näin lukija erottaa kummasta on kyse.

Henkilökohtaisesti toivoisin, että Suomessa olisi enemmänkin mielipidejournalismia it-alalta ja taloudesta.

Tero Lehto
toimittaja
Tietokone.fi

Hyvä herra Lehto,

Muut eivät (suorastaan epätoivoisesti) kierrä uutissivustojen filttereitä uutisoimalla blogimerkinnöistä/mielipidekirjoituksista erikseen. Minusta tällainen toimintamalli on suorastaan törkeä, enkä minä koe missään muodossa mahdolliseksi moisen mallin tukemista. Yhden erehdyksen ymmärtäisin, mutta kuten sivustoa vähänkin seuranneet tietävät, kyseessä on toistuva ja selkeästi tarkoitusperäinen toimintamalli. Kyseinen toimintamalli on verrattavissa paperijulkaisuun, jonka etusivulla on ote sisäsivun mielipidekirjoituksesta/kolumnista/pääkirjoituksesta. Aika harvoin tällaiseen “uutisointiin” olen vakavasti itsensä ja lukijansa ottavan median sivuilla törmännyt.

Painetuissa lehdissähän pääkirjoitukset ja muut toimitukselliset mielipidekirjoitukset ovat yleensä lehden ensimmäisillä sivuilla, siis suorastaan paraatipaikoilla.

Mistään erehdyksestä ei bloginostoissammekaan ole kyse, vaan uskomme kommenttien ja uutiskommenttien kiinnostavan lukijoita. Ja mehän avoimesti kerromme, mistä on kyse.

Missä määrin näin toimitaan, siitä päättää tietenkin toimituksen johto. Palautteissa tämä asia ei ole noussut esille kritiikin aiheena.

Aivan. Kyseessä ei ole erehdys, vaan selkeä ja harkittu toimintamalli. Olen kantani asiaan esittänyt, enkä näe tarvetta perustella itseäni tämän paremmin. Koska sivustonne valitsema toimintamalli koettelee minun vapauttani valita, poistan sen yksinkertaisesti kokonaan vakavasti otettavien sivustojen listalta (ja siksi uutistoimittajan virasta). Kerran vuodessa yritän palautta uskoani suomalaiseen journalismiin ja puhdistan filtterin. Siihen asti näkemiin.

Olen ohjelmoinut yli 20 vuotta eri kielillä ja koneilla. Olen palkannut toistakymmentä ohjelmoijaa.

Tietokoneohjelmien ongelmat ovat valitettavia. Ongelmat johtuvat monista syistä – yhtä ainutta syytä ei ole.

Historia painaa. Menneisyyden arkkitehtuurivirheet, kirjastojen alttius virheille, kirjastojen raskaus, liian raskaat projektimallit, liian raskaat toteutustavat, huonot aika-arviot, liian optimistiset myyjät/toteuttajat/asiakkaat, liian vähän rahaa, asiakkaiden tietämättömyys ja sen hyväksikäyttö, kireät aikataulut, laiskat ohjelmoijat, pätemisen halu, liian innokkaat ohjelmoijat/käyttäjät,käsittämättömäksi kirjoitettu lähdekoodi, epäpätevät ohjelmoijat (valtaosa koulutetuista), hyvien ohjelmoijien kiinnostuksen loppuminen, vaikutusmahdollisuuksien vähyys ja ennen kaikkea selkeän ajattelun puute.

Hyvä kirjoitus. Tulee mieleen tallentavien digisovittimien tuleminen. Huonoa toimivuutta seliteltiin alussa sillä, että ne ovat vähän kuin tietokoneita. Olisi siis ihan normaalia että ne eivät aina toimi oikein, kaatuilevat ja tekevät mitä sattuu… :)

Kyllä ne isoimmat ( pian esiin tulevat ) bugit on saatu hieman mutkikkaammistakin ohjelmista liiskattua, muutenhan tuolta koneita tippuisi taivaalta jne.

Se nyt vaan on johtajien palkoista pois jos pitää vähän enemmän testata ei siinä sen kummempaa.

Käytännössä kohtuullinen vaatimus olisi mielestäni se että softalle 1kk täysin bugivapaa takuu, kunhan ostos tehtiin esm 2v sisällä yleisestä saatavuudesta, eli jos ei tuona aikana ongelmaa löydy niin se bugi on sitten joku sellainen johka ei hevin törmää ts. liian kallista testata sen varalle. Tuo 2v rajoitus olisi semmoinen ettei bugikorjaus velvollisuus jatku loputtomiin (esm jos joku kauppa vielä myy tuotetta 1kk bugivapaa takuulla 10v päästä julkaisusta)..

Toki “täysin bugivapaa” kuulostaa kohtuuttomalta mutta siksipä “discovery” vaihe olisi ajallisesesti rajoitettu. Jos aletaan vetämään rajaa että mikä on merkittävä virhe/bugi niin se on minusta ainakin huonompi malli koska sitten ei ole mitään selvää ja joka bugista pitää vääntää erikseen kättä että korjataanko.

Ollaanpas sitä täysin pihalla ohjelmistokehityksen realiteeteista. Lukekaa vaikka lyhyt blogipostaus aiheesta bugit ja niiden korjaus: http://www.codinghorror.com/blog/archives/000498.html

Ja jos yhden virheen korjaaminen maksaa keskimäärin noin 1000 euroa/dollaria, niin monenko virheen korjaamiseen olisitte valmiita panostamaan ostamissanne ohjelmissa? Vähenevän tuoton lain käsite voisi olla hyödyllistä ymmärtää: http://en.wikipedia.org/wiki/Diminishing_returns

Lisää voi lukea mistä tahansa perustason ohjelmointiopuksesta. Missä myöskin saatetaan mainita, että ohjelmien vertaaminen mihin tahansa fyysisen maailman kappaleeseen (missä virheillä on toleranssit) on täysin typerää, sillä ohjelmat nyt sattuvat olemaan abstrakteja matemaattisia koneita (missä virhe on tai ei ole), joilla on yksi tai useampia esitysmuotoja.

Itse pidän melkeenpä bugeja jopa pahempana ongelmana huonoa käytettävyyttä. Monesti jos jokin tietty asia ei toimi, sen kanssa pystyy hyvinkin usein elämään yksinkertaisesti välttämällä kyseistä toimintoa. Sen sijaan vaikka ohjelmaan olisi pakattu vaikka kuinka paljon toistaan hyödyllisempää ominaisuutta, näistä ei välttämättä ole yhtään hyötyä jos käyttö on niin monimutkaista että apuvälineen käyttö aiheuttaakin päin vastoin enemmän työtä. Usein nämä yksittäiset bugit ovat myös huomattavasti yksinkertaisempia korjata kuin muuten älyttömästi toteutettu ohjelmalogiikka. KISS-periaate kunniaan.

Nimim. miljoonaluokan projekteja sivusta seurannut, jossa lopputulos on se että koulutuksista ja johdon vaatimuksista huolimatta ohjelman käyttöaste jää verrattain matalaksi.

Kysymys on siitä kuinka paljon resursseja halutaan laittaa ohjelmiston testausvaiheeseen perus PC ohjelmiston virheiden esiintymistason testauskulut ovat vain murto-osa mitä vaikkapa Ydinvoimalaitoksen tai lentokoneen ohjelmistojen testaukselta vaaditaan.

Ohjelmisto itsessään on matemaattislooginen rakennelma, jolle annetaan joku syöte johon ohjelmisto palauttaa jonkun tuloksen (toivottavasti halutun sellaisen). Monimutkaisemmissa ohjelmistoissa on täysin mahdotonta kokeilla läpi kaikki mahdolliset tilat joissa ohjelmisto voi olla.

Ohjelmistoa voisi kuvata vaikkapa shakkilaudaksi ja bugeja shakki – matti tilanteiksi. Ohjelmistotestaajan on sitten yritettävä löytää kaikki mahdolliset siirto yhdistelmät, joissa shakkinappulat menevät shakki-mattiin. Jos yksikin shakki-matti siirto yhdistelmä jää löytymättä tarkoittaa se, että yksi bugi jää löytymättä. Ohjelmistotestaajan onkin käytävä läpi miljardeja erilaisia mahdollisuuksia ja kuviteltava läpi kaikki mahdolliset tavat joilla ohjelmiston käyttäjä tai esimerkin shakin pelaaja saattaa siirrellä nappuloita pelin aikana.

Jussi Judin: “Lisää voi lukea mistä tahansa perustason ohjelmointiopuksesta. Missä myöskin saatetaan mainita, että ohjelmien vertaaminen mihin tahansa fyysisen maailman kappaleeseen (missä virheillä on toleranssit) on täysin typerää, sillä ohjelmat nyt sattuvat olemaan abstrakteja matemaattisia koneita (missä virhe on tai ei ole), joilla on yksi tai useampia esitysmuotoja.”

Tuliko mieleen että ohjelmointikirjat ym on kirjoitettu sillä mentaliteetilla joka on johtanut nykyiseen ongelmalliseen tilanteeseen? ;-)

Ja vaikka ohjelmistolla ei ole fyysistä muotoa, niin ei se silti oikeuta sen virheellisyyttä. Eikös tänäkin päivänä digitaalisuus ja tietotekniikka ylipäätänsä ole yhtä tärkeässä asemassa kuin fyysiset asiat? Esimerkiksi henkilöautossa ohjelmisto on melkein yhtä tärkeässä asemassa kuin auton moottori. Kaupungissa liikennevaloja ohjaavat ohjelmistot ovat tärkeämmässä asemassa kuin liikennevalot.
Matkapuhelimessa ohjelmisto on merkittävämpi kuin itse näppäimistö.

Yhä enemmän olemme siirtyneet tilanteeseen missä fyysisen laitteen toimintaa ohjaa ohjelmisto. Oli kyse mikroaaltouunista, jääkaapista, televisiosta, autosta, matkapuhelimesta, sydän-keuhkokoneesta jne. Niin ohjelmisto yhä enemmissä määrin määrää jo laadusta.

Esim sydän-keuhkokoneen ohjelmisto vastaa ihmishengestä. Hyvin monimutkainen laite ja sellaisen koodissa ei saa olla yhtä ainuttakaan virhettä. Testaaminen on äärettömän vaikeaa kun jokaista arvoa pitää testata muiden vaihtuvien arvojen kanssa että laite ei vedä itseään sekaisin kun arvot muuttuvatkin yllättäen tietyllä poikkeavalla tavalla.

Koko länsimainen eläminen jo toimii ohjelmistoilla. Sähkövoimaloista aina työkoneisiin ja kommunikointivälineistä aina liikennevälineisiin.

Vaikka facebook appletin merkitys on paljon pienempi ja yksinkertaisempi kuin kuin sydänkeuhkokoneen. Niin miksi sellaistakaan ei onnistuta tekemään kunnolla aina?

Tekniikassa ei sinällään kyllä ole vikaa vaan niissä tekijöissä. Ohjelmoijia jotka eivät osaa työtään, jotka eivät osaa oikeasti ajatella. Mutta ohjelmointi on matematiikkaa jossa pätee juuri yksinkertaisesti tietyt tarkat säännöt. Vaikka ohjelmointi on myös taidetta, niin siitä huolimatta jollakin tavalla ohjelmiston laadulla ei ole aina merkitystä.

Sitä voi pohtia esim että kumpi saa parempaa ohjelmakoodia valmiiksi. Sellainen joka haluaa kirjoittaa mahdollisimman toimivan ohjelmakoodin ennalta määräämättömällä aikataululla. Vai sellainen joka katsoo kalenteria ja kelloa ja pähkäilee miten saa sen ohjelmakoodin määräaikaan tehtyä?

Että juuri kuten mainittu, ohjelmointivirheet johtuvat monesta muustakin asiasta. Ja tämähän on sellainen johon pitäisi alkaa puuttumaan jo suoraan heti. Ohjelmoijat ovat ne jotka sitä ohjelmakoodia kirjoittaa, jotka pystyvät paremmin omaa aikatauluaan ymmärtämään. Toinen ohjelmoija näkee toisen ohjelmakoodista virheitä ja pystyy korjaamaan ne, tekisi ehkä eri tavalla paremmin. Kolmas taas näkee edelliseltä virheitä ja korjaa niitä. Ja mihinkään tarkistamiseen ja paranteluun ei ole tarpeeksi aikaa kun kauppakorkeakoulusta valmistuvat tyypit piirtävät ruksin kalenteriin että tuona päivänä se ohjelmisto on valmis.

Ongelmana taitaa olla koko yhteiskunnan mentaliteetti että kaikki-nyt-heti-mulle. Ollaan mukamas niin mahtavia ihmisiä kun on koko ajan kiire ja hirveällä vauhdilla hakataan tulosta ja tehdään asioita. Kiireessä tehdään ja jälki on sen mukaista.

Liian moni kuvittelee että ohjelmointi on kuin legopaloilla rakentelua. Lyödään vain valmiita palasia yhteen ja saadaan jotain kivaa. (puhumattakaan että joillekkin legotkin on jo todella vaikeat).

Mitä tärkeämässä asemassa ohjelmisto on, sitä vähemmän siinä saisi olla virheitä.

On jo naurettavaa se että Microsoft joka on maailman suurin ohjelmistoyritys, rikkain yritys vieläpä. Jolla taitaa olla enemmän ohjelmoijia kuin kenelläkään muulla ohjelmistoyrityksellä. Ei saa laatua ulos. Onko ongelmana että yrityksellä on eniten maailmassa asianajajia ja enemmän talousalan asiantuntijoita ja työntekijöitä kuin ohjelmoijia? Enemmän projektipääliköitä jokaista osastoa kohden kuin olisi tarpeen? Pääjohtaja on henkilö joka ei ymmärrä edes mitä suustaan päästää?

Kuten sanotaan, “Anna minulle mikä tahansa 6 rivinen koodipätkä ja löydän siitä virheen”. Kertoo jo jotain siitä ongelmien ja tapojen määrästä miten asiat voisi tehdä aina paremmin.

Vertasit sitä että ohjelmistoa ei voi verrata fyysisen maailman asioihin.

Miksi ei saisi odottaa ohjelmistolta joka on vastuussa aina sähkövoimaloista, liikenneohjaukseen ja hätätiedotteiden välittämiseen, samanlaista laatua. Kuin odotetaan niiltä kyseisiltä laitteilta joihin se ohjelmisto asennetaan?

Miksi jokin valuvirhe tai suunnitteluvirhe laitteessa on pahempi kuin sen ohjelmistossa? Siksikö että ohjelmiston pystyy mahdollisesti päivittämään (ei edes aina) mutta valuvirhe tai suunnitteluvirhe tarkoittaa että fyysinen esine täytyy vaihtaa?

Onko sillä ohjelmiston “olemattomuudella” merkitystä että siltä ei voi odottaa yhtä suurta laatua, kun laitteen joutuu lähettämään kuitenkin tehtaalle. Onko silloin eroa onko se vika ohjelmistossa vai ihan fyysisesti?

No, jokaiselta ihmiseltä ei voi odottaa täydellisyyttä että saavat työnsä tehtyä täydellisesti. Muuten ketään ei palkattaisi työskentelemään mihinkään. Ongelmana on myös että ohjelmoijina toimii ihmiset joilla ei ole siihen kutsumusta. Aivan kuten lääkäreiksi ja hoitajiksi valmistuu ihmisiä joilla ei ole kutsumusta hoitaa ihmisiä. Poliitikoiksi pääsee ihmisiä joilla ei ole kutsumusta hoitaa maan asioita parhaimmalla tavalla. Johtajiksi ihmisiä jotka eivät välitä työntekijöistään jne jne.

Yksinkertaisesti asioiden laita pitäisi olla niin, että kun jotakin ostetaan, niin se mitä ostetaan toimii kuten ollaan sovittu. Jos laite ei toimi tai siinä on virheitä jotka johtaa sen toimintahäiriöihin, niin ei ole väliä onko se fyysinen tai onko se jossain ohjelmistossa. Se on korjattava sillä hinnalla mikä mikä alunperin maksettiin. Ohjelmistoyritys ottaa sen takkinsa ja varmistaa seuraavalla kerralla että ei tee vastaavanlaista virhettä.

Jarkko: “Monimutkaisemmissa ohjelmistoissa on täysin mahdotonta kokeilla läpi kaikki mahdolliset tilat joissa ohjelmisto voi olla.”

Olihan tuossa vähän aikaa sitten jo juttua kuinka matemaattisesti todistettiin 7300 koodirivin mikrokerneli toimivaksi ja turvalliseksi. Eikä mennyt kuin vuosia useammalta henkilöltä siihenkin tehtävään.

Kyseessä oli vielä pelkästään mikrokerneli ja vielä suhteellisen suuri. (Esim Minix 3.0:n mikrokerneli on alle 4000 riviä). Käyttöjärjestelmä voi olla muutamia satoja tuhansia rivejä tai jopa miljoonia. Linux-käyttöjärjestelmässä on yli 10 miljoonaa riviä koodia.

Valtaosa laiteajureiden koodia jossa useimmiten piilee se bugi joka kaataa käyttöjärjestelmän ja samalla koko ohjelmistojärjestelmä kaatuu. Vahinkoja voi yrittää välttää pilkkomalla käyttöjärjestelmä osiin joista jokainen on suojattu toisiltaan. Mutta sama määrä virheitä sitä kuitenkin on. Ja verrattuna ohjelmistojärjestelmään jossa on jo satoja miljoonia, miljardeja rivejä ohjelmakoodia ja eri projektien tuotoksia joita ei todellakaan ole kunnolla testattu.

Jo pelkästään Linux-käyttöjärjestelmän todistamiseen matemaattisesti, jos sen aloittaisi puhtaalta pöydältä, menisi satoja vuosia. Nyt jo yleinen keskiverto ohjelmistojärjestelmä taas on niin valtava että voi suoraan sanoa että hommaan menisi äärettömästi aikaa. Onneksi työkaluja voidaan kehittää ja niitä alkaa hyödyntämään mutta juuri kun jokainen ohjelmisto ja erilaiset ohjelmistot toimivat eri tavalla ja eri tarkoituksissa niin jo algoritmien kehittämiseen menisi ehkä enemmän aikaa kuin lukea se koodi useamman kerran läpi.

Ohjelmoinnissakin pätee samalla tavalla “Yksinkertainen on kaunista” ja “Yksinkertainen toimii parhaiten”.

Ehkä ohjelmoijat vain yrittävät liikaa. Ehkä onnistuisimmekin ohjelmistojen kehittämisessä vasta kun tietokoneet alkavat tekemään sitä ohjelmistokoodia… keksikäämme siis ensin AI ;-)

AppleScience:”Kunnollista softaa ei vain osata riittävän painokkaasti vaatia. Tästähän loppujen lopuksi kenkä puristaa. Siihen on mielestäni vain yksi selitys: Ihmiset ovat totutettu siihen, että ”good enough” (eli purkkavirityksillä kasassa pysyvä) on ainut tarjolla oleva vaihtoehto.”

Mutta hyvästä ei haluta maksaa kun sen jotenkin toimivan saa halvalla. Pätee muuten melkein mihin tahansa tuotteeseen.

“Miksi ostaisin umpipuisen kaapin jonka voin antaa lapselleni perinnöksi kun saan Ikeasta puolella hinnalla kaapin joka tosin ei kestä edes muuttoa?”

Kyse on arvoista! Ja ne on aika poskellaan nykyään.

Edellisille kirjoittajille (esim. Jussi Judin) voi mainita, että miksi ohjelmistoa ei voi muka verrata fyysisen maailman kappaleeseen? Jos uusi autoni jättää tielle tai digiboksissa ei kanavat näy, niin toki myyjä ja valmistaja ovat vastuullisia joko korjaamaan vian tai palauttamaan rahat, oli se vika sitten ohjelmisto- tai laitteistopohjainen. Pitäisikö jokaisen softan mukana tulla laitteistodongle, jotta softa muuttuukin laitteeksi ja täten oikeuttaa normaaliin takuuseen ja virhevastuisiin?

Ihan turha myös spekuloida jollain shakkilaudoilla ja kuinka vaikeaa on löytää “kaikki” ohjelmistovirheet. Eihän siihen mitään tarvettakaan ole, kunhan valmistajalla olisi edes joku vastuu virheidensä korjaamisesta ja asiakkailla mahdollisuus palauttaa tuotteet jotka eivät toimi ja saada sitten rahansa takaisin.

Ongelman ydin on lähinnä siinä, että softapuolella eletään sellaisessa maailmassa, että oikeastaan toimittajalla ei ole oikein mitään vastuuta mistään. Ja nyt puhutaan ohjelmistotuotteista eikä mistään projekteista joissa hommat toimii vaatimusmäärittelyjen pohjalta, ja näin ostajalla on sentään jotain sanaa sanottavana.

Sovelluksien kehityksessä kannattaa panostaa alkupään vaiheeseen. Bugi on halvempaa korjata jo määrittely- tai suunnitteluvaiheessa kuin sitten kun järjestelmä on jo käyttöönotettu. Tietenkin projekteissa voidaan kehittää sovellusta protoillen eli vähitellen. Mutta protojenkin tapauksessa tarvitaan määritykset ja tehdä hyvät rakenteet alkuprotojen jälkeen jatkokehityksen ja ylläpidon helpottamiseksi.

Laatu tosiaan maksaa, mutta se voi maksaa myös itseään takaisin. Mikäli sovelluksen sisäinen rakenne päästetään lössähtämään sekavaksi spagetiksi, niin ei ole paljon toivoa.

Toinen kysymys on se, että onko halvempaa estää sovelluksen rakenteiden lössähtäminen projektin edetessä vai kirjoittaa sovellus kokonaan uusiksi aina silloin tällöin. Mutta jos haluaa halpaa kertakäyttökoodia, niin on todennäköisempää, että siinä on muutakin vikaa kuin kertakäyttöisyys. Toisaalta pelkkä kallis hinta ei ole laadun eikä hyvän rakenteen tae.

Hyvään laatuun voi päästä kehittämällä laatutietoisuutta kaikilla osapuolilla ja tietämystä miten laatua saadaan aikaiseksi ohjelmistoprojekteissa. Mitä tulee ohjelmien ei-fyysiseen luonteeseen, niin kyllä ohjelmissakin on silti komponentteja, jopa uudelleenkäytettäviä sellaisia. Ohjelmistokomponenttien kehittämiseen ja testaamiseen tulee keskittyä, mikä ei ole ilmaista, mutta auttaa jatkossa parantuneena laatuna. Taas kuitenkaan se, että jokin on “komponentti”, ei vielä riitä, mutta suunta on oikea.

Kirjoittaja “Suomalaiselle”. Miksi haluttaisiin tehdä laatua? Asiakkaalle voidaan myydä “R2″ release parin vuoden päästä, korjaten muutaman niistä bugeista ja samalla voidaan vaihtaa softan taustaväriä vähän tuoreemman näköiseksi. Markkinapaine kun ei usein riitä ohjaamaan laaduntavoitteluun.

Asiakkaalle voidaan myydä parannuksia seuraavassa versiossa. Tietenkään täydellistä sovellusta ei koskaan saada. Mutta kun pyritään hyvään laatuun, niin edes sovelluksen perusrakenteet pysyvät paremmassa mallissa.

Toimintojen jatkokehittäminen onnistuu paremmin hyvän rakenteen päälle, jolloin asiakkaalle päästään myymään ja tekemään uusia toimintoja selkeämmältä pohjalta. On helpompi arvioida ja toteuttaa uutta, kun perusrakenne on kasassa, eli toimittajallakin luulisi olevan intressejä panostaa laatuun. Toimittajan kannattaa kehittyä laatuasioissa, niin asiakas on tyytyväisempi.

Lisäksi vaikka softassa ei päästä täydelliseen bugittomuuteen, niin kyllä yhteiskunnassa täytyy panostaa laatuunkin, kyse on vain siitä, että miten paljon ja millä tavalla. Yksi haaste on toki teknologioiden kehittyminen, mutta silloinkin ominaisuudet on helpompi siirtää uuteen teknologiaan, jos vanha järjestelmä on hanskassa.

“Minkä takia näin? Miksi ei olisi mahdotonta kirjoittaa virheetöntä kooodia? Toki vaatisi enemmän aikaa mutta eikö tämä samalla tarkoita laatua?”

Niitä virheitä löytyy edelleen vuosikymmeniä vanhoistakin ohjelmista joiden koodia on monet tuhannet ihmiset korjanneet, testanneet, käyttäneet ja parantaneet vuosikymmeniä.

Koodiin vaan tulee niitä virheitä ja kyseessä on niin paljon kompleksisuutta, että virheettömäksi todistaminen ei ole mitenkään triviaalia. Oikea tapa on tehdä koodi kuntoon, N kuukautta aikaa jolloin ilmenneet virheet korjataan ilman lisävelotusta ja asiakas itse huolehtii varmistamisesta ja sen sellaisesta että jos ohjelma sekoaa niin vika korjataan mutta ei ohjelman tekemiä vahinkoja. Asiakkaan pitää myös itse testata, että sopii hänen käyttöönsä ja ei sekoile.

“Olisitko ohjelmoijana valmis laittamaan virheellistä (tarkastamatonta/”hutiloiden tehtyä”) koodia paperikoneen automaatiojärjestelmään ja olla valmis korvaamaan asiakkaan tuotannon seisaus, jonka syynä on virheellinen koodin pätkä?”

Itse koodaisin, tarkistaisin ja testaisin ja sopisin jonkinlaisesta takuusta, että virheet korjataan N kuukautta mikäli niitä ilmenee mutta en maksaisi mitään tuotannon seisautuksista. Hankkikoot toisen ohjelmoijan sitten tai tehkööt itse jos ei kelpaa. Jos aletaan vaatia mahdottomia niin sitten loppuu ohjelmointi.

“Haittaohjelmia voi tulla myös turvallisiksi todetuilta sivuilta, kuten tietokone.fi….”

Nekään ei toimi mikäli haavoittuvuus paikataan.

raips “Olihan tuossa vähän aikaa sitten jo juttua kuinka matemaattisesti todistettiin 7300 koodirivin mikrokerneli toimivaksi ja turvalliseksi. Eikä mennyt kuin vuosia useammalta henkilöltä siihenkin tehtävään.”

Ja jos joku muuttaa yhdenkin rivin koodia tai haluaa tehdä pieniä muutoksia kerneliin, sillä todistuksella ei enää tee mitään vaan todistaminen on aloitettava uudelleen alusta, koska yksikin looginen virhe voi kaataa koko kernelin ja varma virheettömyydestä ei voi olla ennenkuin kaikki loogiset tilat on käyty läpi.

Joskus taas asiakas ei itsekään tiedä mitä haluaa ja alkaa vaatia projektinloppumetreillä sellaisia muutoksia koodiin, jotka romuttavat koko aikaisemman testaamisen, eikä aikataulua ja budjettia enää riitä muutoksien testaamiseen, silti muutokset on toteutettava asiakkaan vaatimiksi. Helpointahan olisi tietysti ollut, että asiakkaalla olisi ollut selkeä visio jo speksaus vaiheessa, mutta aina ei ole näin. Asiakas ei aina ymmärrä, että loogiset muutokset testattuun koodiin altistavat uusille loogisille virheille. Asiakas ei aina ymmärrä, että koodi on matemaattinen järjestelmä, jossa yksikin bitti väärässä tilassa voi muuttaa koko järjestelmän toiminan täysin päinvastaiseksi kuin on tarkoitus.

Eli suomennettuna jos yksi ohjelman osa alkaa puhua muutostenjälkeen toisella tavalla kuin aikaisemmin ohjelman toinen osa ei välttämättä enää ymmärrä uutta tilannetta halutulla tavalla.

Miksi sotkette nyt jotain automaatiojärjestelmätoimituksia ja paperikoneita tähän? Ilmeisesti ala on kirjoittajille tuiki tuntematonta. Näissähän toimittaja yhdessä asiakkaan kanssa sorvaa kirjalliset vaatimusmäärittelyt jotka normaalisti takaavat asiakkaalle eri prioriteettiluokan päivityksiä virheen laadun mukaan. Toimitukseen sisältyvä päivityssopimus on usein esim. 1 vuosi, tästä eteenpäin asiakas voi ostaa huoltosoppareita sun muuta. Kriittisiä virheitä useat toimittajat korjaavat jopa ilman soppareita, sillä näiden esilletulo usein vaikuttaa myös myyntipuoleen.

Nythän keskustellaan lähinnä ohjelmistotuotteista, ja kuinka niillä ei ole mitään varsinaista takuuta tai laatuvaatimuksia.

“Eli suomennettuna jos yksi ohjelman osa alkaa puhua muutostenjälkeen toisella tavalla kuin aikaisemmin ohjelman toinen osa ei välttämättä enää ymmärrä uutta tilannetta halutulla tavalla.”

Ja tämän lisäksi ohjelma on yleensä riippuvainen jostain muusta softasta/raudasta ja nekin muuttuvat välillä ja ohjelmat hajoilee taas.. Tästä syystä loppukäyttäjän käyttöjärjestelmissä ei muutoksia tehdä ellei ole oikeasti pakottavaa tarvetta ja tietoturva-aukkojen paikkauksissa muutokset koitetaan pitää mahdollisimman pieninä.

Raipsin ajatusmaailmassa tosin ohjelmat pidettäisiin aina uusimmissa julkaisuisas jotta tuettaisiin mahdollisimman hyvin kaikkia standardeja ja on uusimmat ominaisuudet mutta oikeassa maailmassa ohjelmia halutaan pitää mahdollisimman pitkään vakioituna ellei tule tuottavuushyötyä päivittämisestä, koska ei haluta hajottaa hommia ja ihmetellä ongelmia tarpeettoman päivityksen takia.

Samassa utopiassa kaikki tehdään standardin mukaan ja kaikkien pitäisi päivittää sitten hommat toimimaan standardin mukaisesti mutta oikeassa maailmassa standardilla vaan yhtenäistetään asioita ja vähennetään yhteensopivuusongelmia ja mitään ei päivitetä jonkun standardin takia vaan siksi, että päivittämisestä saadaan jotain hyötyä.

Minullakin ohjelmien julkaisut tässä vuodelta 2007.. Enkä päivitä vielä vuoteen koska hommat toimii.

Merkittävin syy bugiseen käyttöjärjestelmään tai muuhun softaan on tuotevastuulainsäädännön puute. Jos softayritys tuomittaisiin kunnon korvauksiin – esimerkiksi 10% liikevaihdosta – alkaisi kummasti softan laatukin parantua ja bugit kaikota. Ennen kuin lainsäädäntö on kunnossa, voi hämmästellä ja voivotella miten paljon tahansa, eikä ongelma korjaannu. Markkinataloudessa kun _raha_ on ainoa ohjaava voima. Softafirmoja ei kiinnosta hevon hierakkaa mikään muu kuin saada jotain myytävää aikaiseksi – olipa toimivaa tai ei. Poissa (lopullisesti) ovat ne ajat, jolloin laatu oli itsestäänselvyys.

Edellä mainitusta johtuen, softia ei testata, vaan kun ne saadaan auttavasti pysymään kasassa, ne pitää saada heti markkinoille ja onnettomat koodarit vääntämään lisää kehnoa koodia. Sitten korjataan, jos joku valittaa niistä riittävän häiritsevästi.

Jos väitetään, ettei virheetöntä koodia pysty tuottamaan, se osoittaa vain kuinka vähän on perehtynyt todelliseen ohjelmointiin. Kuten joku mainitsi aiemmin, nykyiset ohjelmointityökalut aiheuttavat puutteillaan virheettömän koodin tuottamisen mahdottomaksi. Aivan, siinäpä on merkittävä huomio. Työkalutkin ovat jo kelvottomia. Suurin osa nykyisin tuotettavasti koodista tehtäneen juuri koodigeneraattoreilla, mikä tietenkin on kaupallisesti edullista, mutta laadullisesti katsoen kehnoa. Mikäli haluttaisiin tehdä laadukasta koodia, olisi parasta heittää koodigeneraattoreilla merimetsoja ja kirjoittaa koodi alusta pitäen niin alhaisen tason kielellä kuin mahdollista. Tiedän, että se on moninkertaisesti hitaampaa ja että siihen tarvitaan todellisia asiantuntijoita, mutta lopputulos olisi myös toimiva ja virheetön. Myös loputon korjaaminen jäisi tarpeettomaksi.

Arvaan, että on monia, jotka ovat edelleen sitä mieltä, että luotettavasti toimivia käyttöjärjestelmiä ei olekaan. Mutta miten sitten on selitettävissä, että on onnistuttu tuottamaan erittäin luotettava käyttöjärjestelmä – vieläpä lahjoitusvaroin? Tarkoitan tässä siis OpenBSD:tä. Toki lähdekoodi on Berkeleyn yliopiston alun pitäen tekemä, mutta sen viimeistelyn on tehnyt pieni asiantuntijajoukko.

On kaupallisiakin käyttöjärjestelmiä, jotka ovat luotettavia ja vakaita sekä tietoturvallisia, mutta ne maksavatkin sitten enemmän kuin graafiset levynvispausjärjestelmät. En ryhdy mainostamaan kaupallista tuotetta, mutta tiedän parin vuosikymmenen kokemuksella, että sellainenkin “maailman seitsemäs ihme” on olemassa.

Tuotevastuulainsäädäntöä odotellessa…

Jarkko: “Ja jos joku muuttaa yhdenkin rivin koodia tai haluaa tehdä pieniä muutoksia kerneliin, sillä todistuksella ei enää tee mitään vaan todistaminen on aloitettava uudelleen alusta, koska yksikin looginen virhe voi kaataa koko kernelin ja varma virheettömyydestä ei voi olla ennenkuin kaikki loogiset tilat on käyty läpi.”

Tätä varten juuri nykyisin suurin osa käyttöjärjestelmistä on rakenteeltaan server-client eli mikrokernelillä varustettuja. Tällöin kerneliin ei tarvitse koskea yhtään jos haluaa käyttöjärjestelmää päivittää tai muutella. Mutta voidaan helposti ohjelmoida uusia ominaisuuksiakin. Monoliittisen kohdalla taas ongelma olisikin ihan eri kun saisi koko käyttöjärjestelmän todentaa uudelleen, miljoonia rivejä koodia sen vuoksi että pari riviä muutettiin.

Kari: “Mutta miten sitten on selitettävissä, että on onnistuttu tuottamaan erittäin luotettava käyttöjärjestelmä – vieläpä lahjoitusvaroin? Tarkoitan tässä siis OpenBSD:tä. Toki lähdekoodi on Berkeleyn yliopiston alun pitäen tekemä, mutta sen viimeistelyn on tehnyt pieni asiantuntijajoukko.”

Tuota ei moni halua uskoa. Linux, FreeBSD, NetBSD, OpenBSD ovat kaikki loistavia käyttöjärjestelmiä ja BSD-variantit ovat kyllä ehkä enemmän yhteisöhengellä tehty kuin mitä esim Linuxia tänä päivänä kun suuri osa koodista tulee yrityksiltä, mutta yhteistyötähän sekin on ja mikään yritys ei vastaa siitä mitä koodia käyttöjärjestelmään tulee vaan pelkästään muutamat vapaaehtoiset, Linus Torvalds ja hänen “kenraalinsa”.

Matti Karnaattu: “Raipsin ajatusmaailmassa tosin ohjelmat pidettäisiin aina uusimmissa julkaisuisas jotta tuettaisiin mahdollisimman hyvin kaikkia standardeja ja on uusimmat ominaisuudet mutta oikeassa maailmassa ohjelmia halutaan pitää mahdollisimman pitkään vakioituna ellei tule tuottavuushyötyä päivittämisestä, koska ei haluta hajottaa hommia ja ihmetellä ongelmia tarpeettoman päivityksen takia.”

Selitä mikä on tarpeeton päivitys? Paikallinen haavoittuvuus on sellainen että sitä ei tarvi korjata? Bugi jossain ominaisuudessa mitä tarvitaan yrityksen toimissa vain pari kertaa viikossa? Bugi jonka pystyy kiertämään vähän vippaskonsteja tekemällä? Bugi joka ilmenee vain kun muut ohjelmistot jotka noudattaa standardia tuovat sen esille?
Lokalisointibugi? Ominaisuus joka vähentäisi työaikaa 10%?

Eikös olekkin niin että nyt on parasta pysyä ODF 1.0 versiossa seuraavat 10 vuotta kuten olet sanonut ennen kuin otetaan seuraava ODF versio käyttöön? Tämähän ei hidasta yhtään yrityksen toimintaa koska kaikkihan pysyvät aina vuosikausia tai vuosikymmeniä niissä vanhoissa vakaissa versioissa?

Onko mukamas niin että yrityksellä ei tule yhtään mitään ongelmia ohjelmistojen kanssa jos pitäytyvät 5-10 vuotta yhdessä formaattiversiossa, ohjelmistoversiossa eivätkä ikinä niitä päivitä?

Onko mukamas niin että koskaan ei kyetä ohjelmoimaan ohjelmistoja taaksepäinyhteensopivaksi ja standardia kehittämään samalla tavalla taaksepäinyhteensopivaksi?

Onko mukamas niin että päivität helpommin koko yrityksen tietojärjestelmän 5-10 vuoden välein kertaheitolla kuin että jatkuvasti vähitellen seuraavaan versioon?

Onko sinusta helpompaa testata ohjelmiston 2.21 version päivitys versioon 5.56 versioon jossa voi olla kaikki jo muuttunut, kuin että pari kertaa vuodessa testaat ne muutamat uudet ominaisuudet ja erot?

Kerro miksi yrityksen työntekijän täytyisi käyttää vain työkalua joka on kyllä ehkä tuttu jo, mutta kielletään uudemman version käyttäminen joka todellakin parantaisi työntekijän tulosta ja helpottaisi kaikin tavoin myös koko yritystä? Sen takia että IT-ylläpito saa istua päivät pitkät peukaloita pyörittäen ja käydä asentamassa nettikameroita, valvoa että ihmiset eivät tuo omia muistitikkuja ym?

Matti Karnaattu: “Samassa utopiassa kaikki tehdään standardin mukaan ja kaikkien pitäisi päivittää sitten hommat toimimaan standardin mukaisesti mutta oikeassa maailmassa standardilla vaan yhtenäistetään asioita ja vähennetään yhteensopivuusongelmia ja mitään ei päivitetä jonkun standardin takia vaan siksi, että päivittämisestä saadaan jotain hyötyä.”

Niin… mitäköhän varten ne standardit on olemassa? Mitä jos vaihteeksi rupeaisit ymmärtämäään lukemaasi?

Uusiin ohjelmistojen versioihin ym päivittäminen kannattaa kun saadaan hyötyä.
Tämäkin riippuu täysin vielä ohjelmiston omasta päivitystavasta. Jos ohjelmistokehittäjät julkaisevat joka päivä päivityksen jotka pääasiassa sisältää kielitukea kielille joita ei yrityksessä tarvita. Mutta jos taas tulee kerran kuukaudessa ominaisuuksia ja yhteensopivuuden parantamista muiden ohjelmistojen kanssa niin miksi pitäisi istua viisi vuotta peukalo ****** ja selittää miten päivittäminen ei hyödynnä eikä standardeista ole mitään apua ym kuten sinä teet?

Luin muuten äsken aivan loistavan uuden termin keltaista marinadia pahemmille ohjelmistoille: banaanisto – toimitetaan vihreänä ja kypsyy asiakkaalla. Englanniksi “bananaware”.

Vai onko suurin ongelma sittenkin bugien ja huonon käytettävyyden sijasta epäonnistunut vaatimusmäärittely? Virheettömyydestähän ei ole mitään hyötyä, jos ohjelma ei sovellu käyttötarkoitukseensa. Itse olen havainnut, että asiakas ei aina ota tosissaan vaatimusmäärittelyä, vaan hän saattaa hyväksyä suunnitelmat sen tarkemmin päätään vaivaamatta. Kun softa on koodattu, alkaakin asiakkaalta pulpahdella uusia ideoita, jotka olisi pitänyt mainita jo määrittelyvaiheessa. Lopputulos on se, että aloitetaan homma osittain alusta. (On tietysti tilanteita, joissa ennalta määrittely ei ole täysin mahdollista, mihin yksi ratkaisu on ns. ketterä ohjelmistokehitys.)

On lapsellista ajatella, että ostaja saisi ilmaisen lounaan virheettömän ohjelmiston muodossa, jos virhevastuulainsäädäntö olisi tiukempi. Tottakai toimittaja lisää tuotteidensa hintoihin lisääntyneiden velvoitteidensa kustannukset. Lopullinen maksaja on siis aina asiakas. En ota tässä kantaa lainsäädännön oikeellisuuteen, vaan muistutan vain että tälläkin asialla on kaksi puolta, minkä osa keskustelijoista taisi unohtaa.

Minusta “virheitä tulee aina”-asenne on juuri sitä vastuunpakoilua, minkä vuoksi softat ovat mitä ovat. Näitä virheitä tulee, koska
- täysin virheellisten tuotteiden myynti on “tapa”, jota pidetään jotenkin normaalina (vrt. esim. N97 ensimmäisellä softaversiolla)
- käytettävät työkalut ja menetelmät ovat huonoja – suurin osa työstä tehdään edelleen käsityönä, eikä ohjelmointiympäristö välttämättä varoita edes tavallisista virheistä
- ihmiset ovat ammattitaidottomia. Koska suurin osa työstä on edelleen käsityötä, pitäisi alalla olla kunnon ammattilainen (vrt. taiteilija). It-kuplan aikoihin riitti, että ohjelmoija osasi avata (avustetusti) tietokoneen.
- vastuuta ei oteta. Windows-maailmassa on koko historian ajan valitettu huonoista ajureista. Silti jopa Microsoft Updatesta haetut “hyväksytyt” ajurit voivat aiheuttaa pahaa jälkeä toimimattomuudellaan. Mitään ei kuitenkaan tapahdu.
- kunnon toteutuksia ei ole olemassa. Valmistaja MS tarjoaa rajapinnan, mutta sössii toteutuksen. Valmistaja PC käyttää rajapintaa ja yrittää kiertää sössityn toteutuksen omalla virityksellä. Valmistaja MS korjaa tai “korjaa” toteutuksensa, jolloin valmistaja PC:n tuote menee rikki.
- standardeja puuttuu. Jokaisella on omat kierteensä ruuveissa ja muttereissa, mutta ei ole toivoakaan, että valmistajan A ruuvi sopisi valmistajan B mutteriin.

Ei ohjelmistoala vaikeaa ole, se vain on täysin vastuuton ja kehittymätön ala. Laadulla ei kilpailla, koska vaihtoehtoja ei pahemmin ole tarjolla. Jokainen kaupallinen taho nyhtää voittonsa kampittamalla muita, tekemällä roskaa ja myymällä hyväuskoisille hölmöille samaa tuotetta yhä uudestaan ja uudestaan. Eikä laatu välttämättä ole tuhottoman kallista, sillä eihän laadullisesti täysin kilpailukykyinen Linux maksa yhtään mitään.

Mutta odottakaa vain. Kun Duke Nukem Forever ilmestyy niin se ei tarvitse yhtä ainuttakaan päivitystä tai lisäosaa. Pelattavuutta löytyy ja koodi on virheetöntä. Sen takaa useiden vuosien kehitystyö ja useamman kerran uudelleenkirjoitus…

;-)

Kun niin moni vertaa autoiluun tässä niin mitä luulisitte auton valmistajan sanovan jos vaikkapa kolme vuotta auton ostamisen jälkeen kävisitte kauppaan ja aloittaisitte valittamaan.

Kertoisitte että olette vaihtaneet oikeastaan kaikki osat hiljakseen, siinä on nyt fordin moottori, saabin kori, ladan ikkunat, peugeotista otettu renkaat jne. Sitten valitetaan että ei toimi miten ohjekirjan mukaan pitäisi ja virheitä sattuu. Eli miksi en nyt saa Nissanista rahoja takaisin tai sitä ei korjata täysin samaan kuntoon kuin missä se oli ostohetkellä nyt kun se bugaa, pitää hassua ääntä ja kuluttaa eritavalla bensaakin kuin lapussa lukee?

Kylmä totuus on että yleensä se ohjelma kyllä toimii. Se toimii juuri sillä kokoonpanolla mihin se on tehty. Monellako on vielä Windows XP? Kuinkas moni käyttää sitä vielä täsmälleen samalla tietokoneella ilman että on lisännyt yhtään mitään, edes päivittänyt ajureita, kuin silloin vuonna 2000-2001 kun sen Windows XP:n hankki?

Ongelmaksi nousee se että tietokoneeseen löytyy oikeasti miltein lukematon määrä erilaisia vaihtoehtoja mistä se koota. Näytönohjaimista, prosessoreista, emolevyistä, monitoreista, äänikorteista jne jne. Onko se jotenkin ihme jos jokin näistä miltein määrättömistä komponenteista ei satukaan olemaan 100% yhteensopiva kaiken muun kanssa?

Jos esim. uuden tehonäytönohjaimen ostajalla sattuukin olemaan alimitoitettu virtalähde ja kone buuttailee rasituksessa niin hyvin moni ensin suureen ääneen huutaa ja valittaa bugisesta käyttöjärjestelmästä. Sitten kun huomataan se oikea vika ollaan ihan hiljaista poikaa.

Lisäksi täytyy ottaa huomioon että kun ohjelma suunnitellaan ja tehdään siinä pyritään varmistamaan sen toimivuus. Ei sitä että voiko jonkun kolmannen ohjelman avulla mahdollisesti saada jotain tietoja siitä ulos. Lisäksi ohjelman tekijät, ne ohjelmoivat, eivät osaa olettaa että käyttäjä ihan ehdointahdoin ja tahallaan painelee jokaista mahdollista linkkiä “ooh, ilmaista pornoa joo, tarvii vaan ladata ja asentaa tämä!”.

On kyllä mahdollista luoda virheettömiä ohjelmia, sitä en väitä. Siinä tehdään tietty kokoonpano mille kehitetään tietty ohjelmisto ja asiakas tekee sopimuksen että ko. ohjelmistoon ei oteta mitään kolmannen osapuolen ohjelmia eikä laitteisto muutu. Siten on mahdollista saada esim. jyrsimeen hyvinkin toimiva ohjelmisto missä ei virheitä ole. Nähnytkin moisia, toimivat kummasti lerpulta vielä tänäkin päivänä. Tosin summat ovat huomattavasti eroavia normaalista kotikoneesta sekä sen sisältämistä softista.

Minä en keskity itseeni ja tuo esille miten hyvä olen. Minä syön kaikkea mikä maistuu enkä boikotoi keltaista marinadia siinä missä en mitään muutakaan marinadia, marinoimatonta tai muutakaan ruokaa. Tämä nyt on elämässä aika pieni asia, ihmisellä täytyy olla parempaakin tekemistä kuin jotain tällaista. Vai onko länsimainen yltäkylläinen hyvinvointi taas kerran osoittanut mennensä liian pitkälle?

Olen tyytyväinen että meillä on vielä ruokaa. Ette ehkä kaikki ymmärrä, miten pienestä on kiinni että ruokavirrat ja kaikki muukin “hyvinvointi” maailmalta Suomeen tyrehtyy. Ja sitten voi miettiä että “mitäs tänään syötäisiin”,kun vihreiden uuden pj:n mielestä maatalous pitäisi lopettaa Suomesta kokonaan. Niin ja syyttää vaikkapa taas kerran viranomaisia ja tietenkin poliisia.

“Tarkoitan tässä siis OpenBSD:tä. Toki lähdekoodi on Berkeleyn yliopiston alun pitäen tekemä, mutta sen viimeistelyn on tehnyt pieni asiantuntijajoukko.”

Ja sillä ei tee paljon mitään. Hemmetin hidas ja riisuttu. Ennemmin julkaisee softan bugeineen ja korjaa niitä sitten jos niitä löytyy. Sanktioita voisi jaella sitten jos eivät korjaa järkevässä ajassa.

“Selitä mikä on tarpeeton päivitys?”

-Ei korjaa haavoittuvuutta
-Ei paranna tuottavuutta
-Päivityksen korjaama muu vika voidaan kiertää hyvin helposti ja säästyy päivitysvaiva ja riskit tämän aiheuttamille ongelmille.

“Onko mukamas niin että yrityksellä ei tule yhtään mitään ongelmia ohjelmistojen kanssa jos pitäytyvät 5-10 vuotta yhdessä formaattiversiossa, ohjelmistoversiossa eivätkä ikinä niitä päivitä?”

Ihan normaalia tuo on ja yleensä vaivattominta.

“Onko mukamas niin että koskaan ei kyetä ohjelmoimaan ohjelmistoja taaksepäinyhteensopivaksi ja standardia kehittämään samalla tavalla taaksepäinyhteensopivaksi?”

Riippuu tilanteesta. Välillä onnistuu, välilla ei onnistu. Ja välillä onnistuu mutta ei sitten käytännössä toimi koska ohjelmassa onkin vikaa.

“Onko mukamas niin että päivität helpommin koko yrityksen tietojärjestelmän 5-10 vuoden välein kertaheitolla kuin että jatkuvasti vähitellen seuraavaan versioon?”

10v on liikaa. Tämä on yleensä tapauskohtaista. Lähtökohta on se, että päivityksestä pitää olla hyötyä eikä pelkästään vaivannäköä. Ja hyötyä pitää olla enemmän kuin vaivannäkö + riskit. Välillä voi olla kannattavaa päivittää vaiheittain, välillä ei.

“Onko sinusta helpompaa testata ohjelmiston 2.21 version päivitys versioon 5.56 versioon jossa voi olla kaikki jo muuttunut, kuin että pari kertaa vuodessa testaat ne muutamat uudet ominaisuudet ja erot?”

Helpompaa pitää samaa versiota niin pitkään kunnes uuteen tulee jotain oleellista uutta.

“Kerro miksi yrityksen työntekijän täytyisi käyttää vain työkalua joka on kyllä ehkä tuttu jo, mutta kielletään uudemman version käyttäminen joka todellakin parantaisi työntekijän tulosta ja helpottaisi kaikin tavoin myös koko yritystä? Sen takia että IT-ylläpito saa istua päivät pitkät peukaloita pyörittäen ja käydä asentamassa nettikameroita, valvoa että ihmiset eivät tuo omia muistitikkuja ym?”

Vaikka siksi, että työntekijä ei tuhlaa aikaa uuden version opetteluun vaan tekisi töitä ja voisi ylläpito voisi keskittyä pitämään koneet kunnossa jotka hajoilee/sekoilee tai pitää käydä antamassa tukea, ja voidaan keskittyä selvittämään ja rakentamaan paremmat tietojärjestelmät.

“Vaikka facebook appletin merkitys on paljon pienempi ja yksinkertaisempi kuin kuin sydänkeuhkokoneen. Niin miksi sellaistakaan ei onnistuta tekemään kunnolla aina?”

Koska siitä ei haluta maksaa.

Ja samaan syssyyn voi todeta, että massajakeluohjelmien laatu on myös siksi heikko, koska “täydelliseksi” tekeminen maksaa ja sitten jos joku WinZip maksaa 1000€ niin sitä ei yllättäen haluta maksaa vaan se waretetaan.

Sellainenkin viisaus löytyisi ohjelmien virhevastuudelle, että sitten niiden pitäisi olla myös kuten jonkun leivänpaahtimen. Ei puhettakaan, että ohjelmia saisi päivittää tai osia vaihtaa takuun rikkoontumatta.

Kyllähän ne ROM-vehkeet aikoinaan oli ihan luotettavia mutta ihmiset haluaa PC:n eikä eikä mitään Super Nintendoa niin ei niille ohjelmille voi samalla tavalla mitään takuuta antaa.

Olen paha, en jaksa lukea puolinovelleja ja osallistua tuohon keskusteluun.

Mutta huomauttaisi, että marinadin tarkoitus alunpitäen on tehdä epäkelvosta lihasta syötävää. Marinadi onkin merillä keksitty, ja sen avulla saatiin liha kestämään pidempään.

Softan reikäisyyteen ei ole mitään hyvää perustetta.

En ole vielä koskaan syönyt sellaista marinoitua lihaa/broileria, josta maistuisi, että liha on pilaantunutta (paitsi kun on itse mokannut ja kama on kaapissa mennyt “vanhaksi” – silloin kiitos marinadin lihan voi edelleen syödä ei heittää trendikkäästi päivän vanhentuneena, äkäisesti pois ja smalla manaten kauppiasta, maanviljelijöitä niin ja tietenkin viranomaisia :) ). Sen nimittäin kyllä maistaa jos liha on yhtään pilalla, vaikka ei mitään haittaisikaan. Kyllä maku kertoo, voiko lihan syödä vai ei. Vai onko ihmiset niin vieraantuneita todellisuudesta että eivät enää edes tätä osaa?

Lehdistössä nostettu kohu “marinointihuijauksesta” on taas kerran tätä samaa kärpäsestä härkänen -juttua. Uutinen kiinnostaa vain jos siinä on jokin epäkohta tai ikävä asia, kuolema tms. Ketään ei kiinnosta lukea että asiat ovat hyvin. Mikä tätä mediaa oikein vaivaa?

Sama lehdistö sen sijaan taitaa olla (ainakin omasta mielestään) vastuussa neljästä hengenvaarallisesti loukkaantuneesta sientensyöjästä. Pikkuisen vakavampi asia, marinoitua lihaa syöneistä ei tietääkseni ole koskaan raportoitu vastaavaa, ja sitä syödään varsinkin kesällä p-a-l-j-o-n. Miten voi olla niin ammattitaidotonta toimittajajoukkoa maan ns. päälehdessä, että eivät ymmärrä mikä sieni kuvassa on.

Olmio: “Mutta huomauttaisi, että marinadin tarkoitus alunpitäen on tehdä epäkelvosta lihasta syötävää. Marinadi onkin merillä keksitty, ja sen avulla saatiin liha kestämään pidempään.”

Marinadi oli alunperin tehty säilömään liha paremmin. Ei tekemään jo pilaantuneesta lihasta syötävää. Pilalle mennyttä lihaa saa syötäväksi enää millään. Liha pitäisi jo tuoreena marinoida jotta se kestäisi kauemmin. Mutta kaikki eivät marinadissa säilöttyä lihaa halua useiden eri syiden takia. Ja miksi pitäisi vielä maksaa ylimääräistä siitä marinadista kilohinnassa?

Ihminen: “Miten voi olla niin ammattitaidotonta toimittajajoukkoa maan ns. päälehdessä, että eivät ymmärrä mikä sieni kuvassa on.”

Ai että toimittajilla? On ikävä kyllä jo huolestuttavalla tasolla. Eikä vain nuorilla vaan jo ihan luokan- ja ympäristöalan opettajien parissa.

Tähän on syytä myös että enää ei peruskoulussa kerätä kasveja kesäisin ym. Aikoinaan jokaisen piti kerätä kasvikirjaan kokoelma useammasta sadasta kasvista. Tunnistaa kaikki kasvit, osata nimi suomeksi että latinaksi.

Mutta eikai sillä ole väliä kun ei enää nykyajan nuori selviä metsässä yksinään. Luonto on vaihtunut yöklubeihin ja tietokonepeleihin.
Eikä nykyisin nuoria kiinnosta syy-seuraus logiikka, tekniikka ym perusteet miten asiat koostuvat ja kehittyvät. Kaikki täytyy olla heti nyt WWW-selaimella ladattavissa eikä mitään haluta muistaa ulkoa. Internet on tuonut oman ongelmansa että kärsivällisyyttä ei ole. On aivan turha odotaa suurien kokonaisuuksien ymmärtämistä jos eivät pienet yksityiskohdat ole hallinnassa. Se on kuin matematiikkaa. jos alusta alkaen uskoo että 5+5=7 niin sitä ei voi olla mikään loistava teoreettisen fysiikan opettaja. Joo, tulosta saa aikaiseksi mutta kokonaisuus on heti pielessä.

Nykyajan nuoret on niin altiitta markkinoinnille ja kaikelle muulle krääsälle joka vaatimuksesta heille tarjottuna lyhyesti ja ytimekkäästi joka on sisällöltään köyhä informaatiosta. Mielipiteet ja markkinointi ylittää tekniikan ja tieteen. Kun televisiossa tai mainostekstissä on jokin asia niin sehän on sitten fakta. Vaikka olisi kirjoja jotka todistavat kaiken sen vääräksi perusteellisesti.

Radiossa tuli eilen kysymyksenä että mikä on ollut pahin työpaikka. Eräs kuulija soitti että hän oli eräässä kansallispuistossa eräoppaana. Hänellä ei ollut minkäänlaista tietämystä kasveista, eläimistä, biologiasta eikä seudusta. Ja hänen piti sitten ulkomaalaisia ym johdattaa paikasta toiseen. Onneksi oli parina sitten palkittu eräopaskin joka sitten tiesi asiat. Omien sanojensa mukaan hyvä että hän tunnistaa linnun kalasta.

2000 luvun alussa puhjennut nettikuplan aikaan ohjelmoijaksi pääsi vaikka ei osannut kuin basicilla kirjoittaa jotain pientä. Sama asia on menossa edelleenkin. Työntekijäksi pääsee vaikka ei ole kutsumusta alalle. Sukupolvien vaihdon hetkellä nyt, on tapahtumassa tilanne että tilalle tulee lisää kokemattomia ihmisiä joita ei kiinnosta historia tai joilla ei ole laajakatseista tietoa alasta. Pelkkää teoriaa ja koulussa opittua tietoa jolla ei vielä tee yksinään yhtään mitään.

Tero Lehto, saako kysyä kuka teidän sivustonne päivityksen oikein hoitaa kun on niin paljon bugeja ollut ja päivitys epäonnistunut että jouduitte jo palauttamaan vanhan sivuston?

Onko ihan talon sisäinen vai onko Tieto ollut asialla?

softaa tosiaan kylvetään marinadissa :(

on suorastaan naurettavaa että ohjelmistovalmistajat vetäytyvät vastuusta omilla ehdoillaan.. ymmärrän tämän ilmaisohjelmissa ja vaikka netistä haetuilla versioilla sillä väliin on voinut tulla ties mitä pöpöjä ja koodi voi olla viimeisen version myötä vielä jokseenkin epävakaata.

mutta kun lyödään rahaa tiskiin, saadaan paketoitu paketti mukaan jossa on levy, jos levy on rikki ei sitä yleensä vaihdetta kun paketti on avattu (daa) ja sitten vielä jos laitat sen järjestelmään hyväksyt naurettavat ehdot.. yleensä näet nämä ehdot myös vasta jälkikäteen oston jälkeen, ne kun ilmestyvät sinulle CD:llä olevalla asennusohjelmalla ruutuun.

On totta että nämä ehdot eivät velvoita mihinkään tässä maassa (toistaiseksi) mutta usein on käynyt niin että kauppiaat eivät ole tästä kiinnostuneita eivätkä välttämättä ota kallista tuotetta palautuksena. 14pv palautusoikeus kuluttajalla on, sekin toimii jos paketti on myyntikunnossa, eli avaamaton.

Monet eivät ymmärrä omia oikeuksiaan ja vielä jos kauppias ilmoittaa että palautus/vaihtooikeus on mahdotonta paketin avauksen jälkeen, yleensä ihmiset jäävät tähän tilanteeseen ja lopputuloksena on turha pahvilaatikko josta on maksettu maltaita.

Tämä esimerkkinä siitä että esm kaupassa elintarvikkeissa on usein sellainen oikeus että voit sen palauttaa kun olet paketin avannut ja huomannut sisällön olevan esimerkiksi mätä tai muuten huono, jos kauppias ei hyväksy antamaan hyvitystä, tapahtuu se sitten usein vastuullisten valmistajien kautta (paketissa on yleensä ohjeet palautukselle ja hyvitys jopa luvataan samassa tekstissä).

Miksei tähän siis tietokoneohjelimstoissa voida lähteä?
Jos on myynyt/valmistanut kuraa, olisi velvollinen korvaamaan sen loppukäyttäjlle, ilman lisäkysymyksiä.

Janne Granström, kuten jo totesit että onneksi on vielä tuo tuotteen palautusoikeus jos tuotteen sisällä on lisenssi ja tuotepaketti pitää avata saadakseen nähdä tuotepaketin.

Täytyy vain jaksaa aina tapella siitä asiasta jälleenmyyjän kanssa keneltä tuote on hankittu. Se että tuotepaketti on avattu ei kyllä onneksi Suomen lain mukaan muuta sitä lisenssin hyväksymistä.

“Monet eivät ymmärrä omia oikeuksiaan ja vielä jos kauppias ilmoittaa että palautus/vaihtooikeus on mahdotonta paketin avauksen jälkeen, yleensä ihmiset jäävät tähän tilanteeseen ja lopputuloksena on turha pahvilaatikko josta on maksettu maltaita.”

No, hyvä keino on laittaa ladattavaksi ohjelmasta koekäyttöversio, joka on toiminnallinen vaikka sen 30 vuorokautta. Tuossa ajassa asiakkaan on jo mahdollista tarkastella ohjelman toimivuutta ja soveltuvuutta omaan käyttöön. Itseasiassa on jo melkoista idiotismia kävellä kauppaan ja ottaa hyllystä laatikko randomina (daa). Itse en koske pitkällä tikullakaan ohjelmaan, josta pitäisi maksaa, ja jota ei ole mahdollista koekäyttää ennen ostamista.

“Miksei tähän siis tietokoneohjelimstoissa voida lähteä?
Jos on myynyt/valmistanut kuraa, olisi velvollinen korvaamaan sen loppukäyttäjlle, ilman lisäkysymyksiä.”

Mitäs luulet….jos tämä asia ei toimi esimerkiksi ostamasi kosteusvaurioituneen asunnon kohdalla (jonka hinta on eri kertaluokkaa ohjelmistoihin verrattuna) ilman oikeudenkäyntiä, niin mitkä ovat mahdollisuutesi ohjelmistojen suhteen?

Täällä on laadusta puhuttaessa mainittu paperikoneet ja automaatio. No ne koneet toimivat sen 24/7, mitä nyt välillä viiraa pitää pestä tai uusia… tahi pituusleikkurin teriä vaihtaa. Mutta kun vaikkapa Siemens on tehnyt ohjausyksiköt ja osa toiminnoista on toteutettu ohjelmoitavalla logiikalla ja tilaaja on ollut valmis maksamaan maltaita valmistajan käyttämästä raudasta vaivasta, saadaan tietysti teollisuusvaatimukset kestävää tavaraa.

PC-puolella jo pelkkä hardware/ajurimönjä on liimattu purkalla kasaan, joten vaikka se yritys ACME:n tekstinkäsittelyohjelma olisi ihan matemaattisesti täysin virheetön, ei olisi takeita siitä että se toimisi virheettömästi. Lisäksi ongelmana on se, etteivät peruskäyttäjät haluaisi maksaa nykyään, mistään, mitään. Että etsääviitsisitsä tehdä mulle puoli-ilmasiks CAD-ohjelman joka toimii kuin unelma ja ajatus……

Aiheesta on vaikeaa mitään loppukaneettia vetää…yksi vaihtoehto on siis vaatia ohjelmaa koekäytettäväksi. Kyllä se jo jollakin tavalla motivoi ohjelmiston toimittajaa laaduntarkkailuun jos loppukäyttäjät äänestävät jaloillaan.

Moni kyseli, onko meidän sivustouudistuksemme esimerkki epäonnistuneesta softaprojektista. Saahan sitä kysyä, mutta minun asiani ei ole kommentoida sivustouudistuksen kommelluksia.

Sen nyt varmaan useimmat näkivät viime viikolla, ettei uusi sivusto toiminut, ja jouduimme palaamaan vanhaan. Näin ei tehdä aivan vähäisistä syistä.

Senkin voin todeta, että toimituksessa olemme tässä suunnilleen yhtä paljon sivustakatsojia kuin lukijatkin.

Tuntuupa että moni on erehtynyt siitä, että muut “tuotteet” kuin ohjelmistot toimisivat täydellisesti ja virheittä ja ilman puutteita.
Nimittäin, onhan esim. autoissakin puutteita ja bugeja vaikka kuinka paljon! Eiväthän ne tuotteina selviä paljon mistään ilman käyttäjän eli ajajan toimia ja jatkuvaa kunnossapitoa – tuohan tästä keskustelusta on täysin jäänyt älyämättä. Minusta jo yli sata vuotta markkinoilla olleen tuotteen, auton, pitäisi kyllä toimia paljon paremmin, kuin ne vasta nykyäänkin toimivat. Tietokoneohjelmat sentään nykyään osaavat huomioida ja hankskaavat vaikka mitä toimia käyttäjän puolesta ja reagoivat hänekin toimiinsa – verratkaapa sitä siihen, miten autot toimivat, tai siis eivät toimi vieläkään.
Auton ydintoiminta-ajatushan on tiettävästi viedä matkustajia ja tavaroita paikasta toiseen. Ja mihin ne sen osalta vasta kykenevät – eivät paljon mihinkään. Kuljettajan ja matkustajien on tehtävä vaikka mitä kummankin asian eteen, pidettävä auto kunnossa, tankattava, ajettava ja huomioitava toisia autoja, nosteltavat itse tavarat autoon ja sieltä pois … hirveän keskeneräinen “tuote” siis. Ja miten kauan sitä on tehty … oikea iäisyysprojekti ja buginen ja täysin kesken edelleenkin. Eivätkä autot selviä juuri mistään tilanteista sellaisinaan, kaikki on kiinni käyttäjän, kuljettajan toimista.
Samahan pätee moneen muuhunkin tuotteeseen. Eihän ole oikeata verrata niissä vasta olevaa toimintaa siihen mitä ohjelmistossa haluttaisiin vielä olevan – tuollainen vertaaminenhan on aivan epäreilua.

Mikä oikeus millään on levittää jotain bugista ja keskeneräistä ilmaiseksikaan – eikös sellainen pitäisi kieltää? Ilmaisen kuran levittämisestä on valtavasti haittaa, keskeneräistä, käyttäjien testattavaksi ja säädettäväksi ja tuota teetetään käyttäjillä ilmaiseksi – odottaisin monen muun lailla tuollaisesta hyväksikäytöstä tottavie maksettavan jotain korvausta. Ilmaisia keskeneräisiä Linux – ja open source -härpäkkeitä tungetaan käyttäjille ja mainostetaan ja luvataan niiden esim. vastaavan jotain kunnolla tehtyä kaupallista tuotetta. Eikö jonkun pitäisi kieltää tuollaiset katteettomat ja vääristelevät mainospuheet?
Ja eihän jotain pitäisi saada mainostaa turvalliseksi, jossei se sitä ole? Linuxia ja open source -ohjelmistoja kaupitellaan jollain täysin valheellisilla lauseilla ettei tietoturvauhista niiden kanssa tarvitse suojautua torjuntaohjelmilla (joiden keskeinen tehtävä on jo ilmoittaa käyttäjälle uhista), vaikka Linux-ympäristökään ei ole ollut ilman tietoturvahaitakkeita ja Linux-ympäristössä on koko ajan havaittuja ja korjattavia tietoturvabugeja ja myös Linux-ympäristöihin murtaudutaan koko ajan. Applen käyttöjärjestelmän uusimpaan versioon, myöskin Linuxin lailla unix-pohjaiseen, tuli juuri Lumileopardissa mukaan tietoturvasovellus torjumaan ja havahduttamaan käyttäjiä sen monista nykyisistä tietoturvauhista. Tietoturvauhat, luvattomasti koneiden tiedostoihin pääsyt ja käyttäjien istuntoihin pääsyt koskevat aivan yhtä lailla myös Linuxeja – vaikka toista niistä yritetään jatkuvasti virheellisenä tietona väittää. Linuxeille on siksi olemassa useita tietoturvaohjelmistoja, joiden tärkeä tehtävä on niissäkin havahduttaa käyttäjää koneille murtautumisista ja puutteellisista suojauksista, kun Linux-koneissa käytetään esim. jotain palvelinohjelmistoa. Edesvastuutonta ja suorastaan rangaistavaa on levittää väärää tietoa etteikö Linuxinkin kanssa pitäisi huolehtia tietoturvasta ja etteikö siinäkin yhtä lailla olisi muka tietoturvaohjelmistoista suurta hyötyä. Ei ilmaisuus poista vastuuta, eikä etenkään oikeuta katteettomiin, paikkaansa pitämättömiin väitteisiin. Ei ole it-ammattilainen, ei edes hyvä amatööri, jos väittää tai luulee etteikö Linuxillakin ja avoimen lähdekoodin ohjelmilla olisi rutkasti tietoturvaongelmia.
Sellaisilta hölynpölypuheilta voi pistää suun suppuun katsomalla vaikkapa tätä tiedoksi tulleita tietoturvamurtoja raportoivaa sivustoa – murtautumiset Linux-koneillekin ovat hyvin tasaväkisesti edustettuina :

http://zone-h.org/archive/special=1

Mika Mokaa: “Lumileopardissa mukaan tietoturvasovellus torjumaan ja havahduttamaan käyttäjiä sen monista nykyisistä tietoturvauhista.”

Snow Leopardin haittaohjelmien tunnistusominaisuus etsii _vain_ kahta haittaohjelmaa. Toinen on skypepuheluiden vakoiluohjelmisto ja toinen joku vastaavanlainen. Muihin tarpeisiin sitä ei tarvita. Piste.

Kommentoi kirjoitusta

Kirjoitusohjeita

  • Huomioi toisten mielipiteet ja ymmärrä, etteivät kaikki voi olla samaa mieltä kanssasi.
  • Ole kohtelias ja huomaavainen, äläkä tarkoituksella provosoi tai loukkaa muita kirjoittajia.
  • Muista, että kirjoittajana olet rikos- ja vahingonkorvausoikeudellisessa vastuussa viestiesi sisällöstä.

Toimitus varaa oikeuden poistaa sopimattomat viestit keskusteluista. Voit ilmoittaa sopimattomat viestit "ilmoita"-linkeistä.

Katso myös keskustelun ja kommentoinnin säännöt.

Takaisin ylös
RSS

Selaa blogikirjoituksia

Aiheet
Arkistot

Blogin esittely

Tietokoneen toimituksen blogissa ruoditaan ajankohtaisia tietotekniikan ilmiöitä.
TTL ry
Pieni kirjapuoti
Takaisin ylös