Ohjelmistokehitys ottaa päähän

Onko vika minussa?

Ensinnäkin hieman taustaa. Olen tottunut liian huonoon softakehitykseen joka johtaa huonoihin softiin. Huonot softat saadaan toimimaan vuosien korjaamisen ja korjaamisen ja korjaamisen jälkeen. ;( Jotain pieniä bugeja on kojattu monta vuotta, ennen kuin ne on saatu kiinni.

Ongelma on lähinnä talon koossa. Ei ole resursseja siihen että sovellukset määritellään, suunnitellaan, tehdä modulaarisiksi, komponenttitestataan ja kokonaisuustestata kattavasti. Sekä esim määrittely vaiheessa ja suunnittelussa ei ole aikaa pitkiin filosofisiin keskusteluihin siitä miten joku asia pitäisi ratkaista. Vaan yleensä asiat ratkaistaan, miten niiden uskotaan jotenkuten toimivan ja ne saadaan tehtyä nopeasti ja halvalla.

Tietysti pahimpia bugeja on ne jotka aiheuttaa suoranaisia rahallisia menetyksiä useiden satojen tuhansien edestä.

Siksi olen tottunut siihen, että jos ohjelma näyttää bugiselta se todennäköisesti on myös sitä. Tietysti joissain tapauksissa voi olla sellainen tilanne että esim käyttöliittymästä vastaa täysin eri porukka kuin coresta. Silloin luonnollisesti voi olla niin että näyttää toimivalta, mutta ei toimi tai toisin päin. ;)

Samalla on opittu se että vaikka joku väittää ohjelman olevan toimiva, se ei sitä ole. Siihen tarvitaan esimerkiksi 1000 eri asennusympäristöä ja tietynlainen moniprosessori ympäristö, sopivasti toisia sovelluksia, riittävän vähän muistia ja sen jälkeen tulee esille joku timing error joka ilmenee esim kerran vuodessa.

Softa on silloin rikki ja buginen, vaikka ongelman toistaminen olisikin äärimmäisen hankalaa. Joskus tietysti tulee niitä tilanteita että ongelman osoittaminen on todella vaikeaa, eikä välttämättä ole edes selvyyttä kenen ongelma se on. Tämä on juuri normaalia, eli onko vika softassa, oheislaitteen ajurissa, sen firmwaressa vai raudassa. Siinä on sitten pohtimista kerrakseen. Toisaalta järjestlemän kokonaistoimittajana, olen myös tottunut siihen että ongelman ratkaisu on yleensä helpointa tehdä omassa softassa koska noihin muihin asioihin vaikuttaminen on kovin vaikeaa ja hidasta.

Otetaan esimerkkinä tuo Evolutionin bugi. Se on myös raportoitu, tarkistin sen jo. Eli ohjelma lisää osoitekirjaan automaattisesti osoitteet joihin vastaan, vaikka sitä optiota ei ole valittu käyttöliittymässä. Tuo on selkeä bugi ja kertoo sovelluksen rikkinäisyydestä ja puutteellisesta testauksesta.

Aikaisempiin kokemuksiin perustuen tiedän myös sen, että jos softasta löytyy esim. viikon testauksella bugeja, niitä löytyy tuotantokäytössä varmasti vino pino lisää. Eniten huolestuneisuutta aiheuttaa juuri ilmiselvät bugit, kuten tuo Evolutionin bugi. Joka kertoo siitä että edes yksinkertaisia ja selkeitä bugeja ei saada pois. Mikä lienee sitten asian laita juuri niillä bugeilla joiden toistaminen on miltei mahdotonta?

Sinänsä tiedän että ensivuonna on hauska savotta edessä. Yksi ohjelmisto on kirjoitettu kokonaan uudestaan. Aikaa siihen on mennyt yli 2 vuotta 8 kooderin tiimiltä. Sovellukselle on suoritettu kevyt modulaarinen testaus. Kunnollista kokonaisuutena testaamista ei ole suoritettu lainkaan. Mukavaa nähdä kauanko menee että homma toimii. Väitän että ensimmäisen vuoden ajan softa on yksi iso reikäjuusto. Ja sen jälkeen vielä 2 vuotta korjataan aivan perustavanlaatuisia bugeja jotka eivät vaan hyppää heti silmille vaan vaativat tietyn parametrien yhdistelmän.

Compiz sijoittaa jostain syystä ikkunt siten että noin 10 pikseliä menee oikealta puolelta seuraavalle desktopille. Selvä bugi jossain.

Delugen ratio näyttö sekoilee kun sovelluksen sulkee ja käynnistää uudelleen. Download näkyy oikein, mutta upload ei.

Jos vielä jatketaan listaa. Pitää testauksessa kokeilla kaikkien mahdollsiten asetusten kaikki mahdolliset arvot ja niiden ristiin sotkeminen. Silloin kun asetukset ovat selkeästi ristiriitaisia pitäisi sovelluksen kertoa selkeästi miksi ne ovat ristiriidassa ja mikä asetuksista dominoi. Virheilmoitusten tulee olla selkeitä ja opastavia.

Jos käytettävyyttä voidaan parantaa sallimalla erilaiset käyttötavat, eikä siitä ole teknistä haittaa niin niin kannattaa tehdä. Esimerkkinä esim. tiedostojen pakkaaminen pakettiin. Pitääkö ensin luoda paketti ja sitten lisätä tiedostot, entäs jos valitsen ensin tiedostot ja pistää ne pakettiin jota ei vielä ole. Nuo ovat käytettävyyden hienosäätöjä, jotka nekin kannattaa laittaa kuntoon.

Toisaalta jos taas on olemassa käyttötapoja jotka aiheuttavat olenniasen riskin virheelliseen käyttöön, ne tulee oletusarvoisesti estää ja asettaa esimerkiksi option taakse.

Kaikki tämä perustuu puhtaasti 10 vuoden kokemukseen sovelluskehityksestä, suunnittelusta, testauksesta ja sovellusten toiminnan tutkimisesta loppukäyttäjien kanssa.

Tämän perusteella voisin suositella Linuxia erinomaisesti käyttäjälle, joka ei osaa mitään. Se ei ole liian vaativa sovellusten ja asioiden osalta. Toinen hyvä vaihtoehto on sitten säätäjä joka säätää kaiken kuntoon joka ei muuten toimi.

Lopuksi pitää todeta, että Linux kernelin ja Windowssin ydinpalikoiden kirjoittajille melkoinen hatunnosto. Lienee yhtä hlvttiä kirjoittaa noita softia. Koska juuri erilaiset ympäristöt ja hyvin harvoin toistuvat bugit noissa osioissa eivät ole kuitenkaan hyväksyttäviä. Olosuhteisiin verrattuna nuo komponentit toimivat aivan älyttömän hyvin.

Vista on kieltämättä toiminut yllättävän hyvin, samoin kuin itse Linux. Kirjoitin siis käyttäjän näkökulmasta sen osalta, että paljonko on käyttäjälle näkyviä ongelmia ollut. Tietoturvariskeihin tai muihin näkymättömiin ongelmiin en ottanut kantaa.

Näytön kanssa oli Vistassa ongelmia joka loppujenlopuksi korjautui vaihtamalla itse näyttö. Tämä siis kielii ongelmien paikantamisen vaikeudesta. Toinen ongelma joka ei ole poistunut on resurssienhallinnan kaatuilu. Mutta se johtuu todennäköisesti siitä että käyttössä on EFS koko levylle. Jos poistan salauksen, myös kaatuilu poistuu. Mutta se ei tarkoita sitä etteikö se sovellus olisi rikki.

Nautiluksesta muuten sen verran Ubuntun kanssa, että se kaatuilee myös todistetusti ja usein. Otat esimerkiksi hakemiston jossa on 200000 tiedostoa ja siirrät sen volumilta toiselle. Jossain vaiheessa siirto vaan potkaisee tyhjää. Siirto oli pakko tehdä pienemmissä osissa jotta systeemi ei olisi kaatunut.

VLC:stä löytyi myös toinen ominaisuus, always on top optio ei tunnu toimivan ainakaan kesken toiston vaihdettuna. Tuo oli ikävä ylläri. Sekin on pienen pieni ongelma, mutta vaikuttaa käytettävyyteen.

Ehkä vika on minussa. Mulla kun tuntuu olevan ilmiömäinen kyky bongata projekteista, suunnitelmista ja sovelluksista epäloogisuuksia. Jotka eivät ehkä häiritse muita käyttäjiä. Kaikki on kieltämättä paremmin jos kukaan ei koskaan mainitse että joku on rikki. Niin voimme olla kaikki tyytyväisiä kun kaikki toimii täydellisesti.

Anti tulla kommentteja!

- Kiitos

27

3110

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Ohjelmoinnissa raakile

      Mitä käteen jäi tuosta, eli kantsis testata kunnolla ja kannattas maksaa siitä ennenkuin päästää virheellinen tuote markkinoille. Se voi tulla tai tulee paljon kalliimmaks.

      • Todellakin, näin se on

        Kyllä, olen samaa mieltä että virheellinentuote markkinoilla on pahasta. Sekä se tulee oikeasti pitkässä juoksussa paljon kalliimmaksi kuin se kunnollinen tekeminen alusta asti. Mutta silloin kulut ja työ kohdistuu projektin alkuvaiheeseen ja projekti näyttää liian kalliilta. Paljon halvemmalta sen saa näyttämään sillä että kulut tulevat piilokuluina vasta tuotteen ollessa markkinoilla.


      • Hieno asia on!
        Todellakin, näin se on kirjoitti:

        Kyllä, olen samaa mieltä että virheellinentuote markkinoilla on pahasta. Sekä se tulee oikeasti pitkässä juoksussa paljon kalliimmaksi kuin se kunnollinen tekeminen alusta asti. Mutta silloin kulut ja työ kohdistuu projektin alkuvaiheeseen ja projekti näyttää liian kalliilta. Paljon halvemmalta sen saa näyttämään sillä että kulut tulevat piilokuluina vasta tuotteen ollessa markkinoilla.

        Monissa tietoturvaa käsittelevissä aiheissa on käsitelty ulkoistamista. Softan tekijät kyhää jotain nopeasti speksin mukaan ja testaa sen nopeasti. Tässä se on. Maksakaa mulle. Silloin laatuun ei kiinnitetä mitään huomiota.

        Miten olikaan kaikkien mahdollisten erikoistilanteiden testaaminen. En ole testiä tehnyt, mutta esim divx dvd-playereilla olisi kiva tehdä testit siten, että niille syötetään kaikilla mahdollisilla eri tavoilla korruptoituneita tiedostoja, joissain tahallisesti annettu vääriä arvoja joiden uskotaan aiheuttavan ongelmia. Laitteen pitäisi tietysti selvitä tästä kaatumatta. ;) Tiedän, ihan salettiin puolet laitteista sekoaisi tai enemmänkin. Mutta jos ne olisivat kunnossa, ne skippaisivat korruptoituneen osan tai keskeyttäsivät toiston. Optimitilanteessa toisoa voisi jatkaa esim timestampin perustella ongeman jälkipuolelta.

        Pienten palasten kanssa ovat taistelleet ainakin Airbus ja Nasa. ;) Molemmilla on asiasta varmasti mielenkiintoisia kokemuksia. Sekä tietysti kaikki muiden valtavien modulaaristen projektien suorittajat. Hiukkaskiihdyttimet, risteilyalukset, pilvenpiirtäjät jne. Ilmeisesti noissa kuitenkin toivottavasti panostetaan hieman enemmän laatuun kuin softissa.

        Harvassa taitaa olla ne kaverit ja koodarit, jotka voivat ylpeänä näyttää softan source ja sanoa että se on tässä. Takaan että se on hyvin tehty ja toimii ainakin melkein täydellisesti. Voisin arvata että ohjelmoijien armeijasta tuohon ryhmään kuuluu korkeintaan muutama prosentti ja ne eivät kauaa saa vääntää koodia itse ennen kuin ne ylennetään.

        Ulkoistetun koodauksen kanssa ne ongelmat vasta alkaakin. A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen. B) Sitten tulee kysymyksiä pirusti. C) Kun softa vihdoin tulee se on aivan perustavanlaatuisesti rikki. D) Sitä korjataan ja korjataan testauksen pohjalta joka tehdään nopeasti. E) Kun softa siirtyy tuotantoon tulee taas kauhea kasa korjaamista. F) Kaikki vihdoin toimii. Mutta rinnakkaisena prosessina pyörii monta muuta vastaavaa prosessia jotka voivat liittyä vielä samaan tuotteeseen.

        Herää kysymys, onko ulkoistamisessa mitään järkeä, vaikka itse koodaus tehdäänkin naurettavaan hintaan?


      • kirjanpidossa ...
        Hieno asia on! kirjoitti:

        Monissa tietoturvaa käsittelevissä aiheissa on käsitelty ulkoistamista. Softan tekijät kyhää jotain nopeasti speksin mukaan ja testaa sen nopeasti. Tässä se on. Maksakaa mulle. Silloin laatuun ei kiinnitetä mitään huomiota.

        Miten olikaan kaikkien mahdollisten erikoistilanteiden testaaminen. En ole testiä tehnyt, mutta esim divx dvd-playereilla olisi kiva tehdä testit siten, että niille syötetään kaikilla mahdollisilla eri tavoilla korruptoituneita tiedostoja, joissain tahallisesti annettu vääriä arvoja joiden uskotaan aiheuttavan ongelmia. Laitteen pitäisi tietysti selvitä tästä kaatumatta. ;) Tiedän, ihan salettiin puolet laitteista sekoaisi tai enemmänkin. Mutta jos ne olisivat kunnossa, ne skippaisivat korruptoituneen osan tai keskeyttäsivät toiston. Optimitilanteessa toisoa voisi jatkaa esim timestampin perustella ongeman jälkipuolelta.

        Pienten palasten kanssa ovat taistelleet ainakin Airbus ja Nasa. ;) Molemmilla on asiasta varmasti mielenkiintoisia kokemuksia. Sekä tietysti kaikki muiden valtavien modulaaristen projektien suorittajat. Hiukkaskiihdyttimet, risteilyalukset, pilvenpiirtäjät jne. Ilmeisesti noissa kuitenkin toivottavasti panostetaan hieman enemmän laatuun kuin softissa.

        Harvassa taitaa olla ne kaverit ja koodarit, jotka voivat ylpeänä näyttää softan source ja sanoa että se on tässä. Takaan että se on hyvin tehty ja toimii ainakin melkein täydellisesti. Voisin arvata että ohjelmoijien armeijasta tuohon ryhmään kuuluu korkeintaan muutama prosentti ja ne eivät kauaa saa vääntää koodia itse ennen kuin ne ylennetään.

        Ulkoistetun koodauksen kanssa ne ongelmat vasta alkaakin. A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen. B) Sitten tulee kysymyksiä pirusti. C) Kun softa vihdoin tulee se on aivan perustavanlaatuisesti rikki. D) Sitä korjataan ja korjataan testauksen pohjalta joka tehdään nopeasti. E) Kun softa siirtyy tuotantoon tulee taas kauhea kasa korjaamista. F) Kaikki vihdoin toimii. Mutta rinnakkaisena prosessina pyörii monta muuta vastaavaa prosessia jotka voivat liittyä vielä samaan tuotteeseen.

        Herää kysymys, onko ulkoistamisessa mitään järkeä, vaikka itse koodaus tehdäänkin naurettavaan hintaan?

        "Herää kysymys, onko ulkoistamisessa mitään järkeä, vaikka itse koodaus tehdäänkin naurettavaan hintaan? "

        Usein näihin ulkoistussoppareihin sisältyy maksuviive eli kun omalle hölöstölle pitää maksaa kuukausittain niin alihankkijalle maksetaan viiveellä. Päämiehen tulos näyttää parin kvartaalin verran hyvältä.


      • rmac
        Hieno asia on! kirjoitti:

        Monissa tietoturvaa käsittelevissä aiheissa on käsitelty ulkoistamista. Softan tekijät kyhää jotain nopeasti speksin mukaan ja testaa sen nopeasti. Tässä se on. Maksakaa mulle. Silloin laatuun ei kiinnitetä mitään huomiota.

        Miten olikaan kaikkien mahdollisten erikoistilanteiden testaaminen. En ole testiä tehnyt, mutta esim divx dvd-playereilla olisi kiva tehdä testit siten, että niille syötetään kaikilla mahdollisilla eri tavoilla korruptoituneita tiedostoja, joissain tahallisesti annettu vääriä arvoja joiden uskotaan aiheuttavan ongelmia. Laitteen pitäisi tietysti selvitä tästä kaatumatta. ;) Tiedän, ihan salettiin puolet laitteista sekoaisi tai enemmänkin. Mutta jos ne olisivat kunnossa, ne skippaisivat korruptoituneen osan tai keskeyttäsivät toiston. Optimitilanteessa toisoa voisi jatkaa esim timestampin perustella ongeman jälkipuolelta.

        Pienten palasten kanssa ovat taistelleet ainakin Airbus ja Nasa. ;) Molemmilla on asiasta varmasti mielenkiintoisia kokemuksia. Sekä tietysti kaikki muiden valtavien modulaaristen projektien suorittajat. Hiukkaskiihdyttimet, risteilyalukset, pilvenpiirtäjät jne. Ilmeisesti noissa kuitenkin toivottavasti panostetaan hieman enemmän laatuun kuin softissa.

        Harvassa taitaa olla ne kaverit ja koodarit, jotka voivat ylpeänä näyttää softan source ja sanoa että se on tässä. Takaan että se on hyvin tehty ja toimii ainakin melkein täydellisesti. Voisin arvata että ohjelmoijien armeijasta tuohon ryhmään kuuluu korkeintaan muutama prosentti ja ne eivät kauaa saa vääntää koodia itse ennen kuin ne ylennetään.

        Ulkoistetun koodauksen kanssa ne ongelmat vasta alkaakin. A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen. B) Sitten tulee kysymyksiä pirusti. C) Kun softa vihdoin tulee se on aivan perustavanlaatuisesti rikki. D) Sitä korjataan ja korjataan testauksen pohjalta joka tehdään nopeasti. E) Kun softa siirtyy tuotantoon tulee taas kauhea kasa korjaamista. F) Kaikki vihdoin toimii. Mutta rinnakkaisena prosessina pyörii monta muuta vastaavaa prosessia jotka voivat liittyä vielä samaan tuotteeseen.

        Herää kysymys, onko ulkoistamisessa mitään järkeä, vaikka itse koodaus tehdäänkin naurettavaan hintaan?

        "A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen."

        Niinhän sen pitääkin kestää. Tulee huomattavasti halvemmaksi kierrättää hyvin tehtyä speksiä eri sidosryhmillä ja pyytää kommentteja kuin iteroida erilaisia protoja tai pahimmassa tapauksessa betoja ja sen jälkeen vääntää koko softa mutkalle kun huomataan perustavaa laatua olevia puutteita.

        Myös toimialaosaaminen pitäisi osata kirjata ylös. Silloin myös sen uuden, kolme kuukautta alalla olleen koodarin olisi helpompi päästä hommaan kiinni kun olisi speksi jossa oikeasti kerrottaisiin mitä ollaan tekemässä.

        Kun speksaamisesta puhutaan, ei ole olemassa itsestäänselvyyksiä. Toki koodariltakin voisi odottaa esimerkiksi sentyyppisiä asioita, että Windows -softassa saman toiminnon pitää löytyä sekä menusta että itse ikkunasta. Tai että softa pitäisi tarvittaessa saada kirjoittamaan myös logia ilman että pitää erikseen tehdä debug -versiota. Näin kyetään aikanaan korjaamaan myös sellaiset ongelmat, jotka esiintyvät ainoastaan yhdessä ympäristössä Timbuktussa.


      • Koodailija
        Hieno asia on! kirjoitti:

        Monissa tietoturvaa käsittelevissä aiheissa on käsitelty ulkoistamista. Softan tekijät kyhää jotain nopeasti speksin mukaan ja testaa sen nopeasti. Tässä se on. Maksakaa mulle. Silloin laatuun ei kiinnitetä mitään huomiota.

        Miten olikaan kaikkien mahdollisten erikoistilanteiden testaaminen. En ole testiä tehnyt, mutta esim divx dvd-playereilla olisi kiva tehdä testit siten, että niille syötetään kaikilla mahdollisilla eri tavoilla korruptoituneita tiedostoja, joissain tahallisesti annettu vääriä arvoja joiden uskotaan aiheuttavan ongelmia. Laitteen pitäisi tietysti selvitä tästä kaatumatta. ;) Tiedän, ihan salettiin puolet laitteista sekoaisi tai enemmänkin. Mutta jos ne olisivat kunnossa, ne skippaisivat korruptoituneen osan tai keskeyttäsivät toiston. Optimitilanteessa toisoa voisi jatkaa esim timestampin perustella ongeman jälkipuolelta.

        Pienten palasten kanssa ovat taistelleet ainakin Airbus ja Nasa. ;) Molemmilla on asiasta varmasti mielenkiintoisia kokemuksia. Sekä tietysti kaikki muiden valtavien modulaaristen projektien suorittajat. Hiukkaskiihdyttimet, risteilyalukset, pilvenpiirtäjät jne. Ilmeisesti noissa kuitenkin toivottavasti panostetaan hieman enemmän laatuun kuin softissa.

        Harvassa taitaa olla ne kaverit ja koodarit, jotka voivat ylpeänä näyttää softan source ja sanoa että se on tässä. Takaan että se on hyvin tehty ja toimii ainakin melkein täydellisesti. Voisin arvata että ohjelmoijien armeijasta tuohon ryhmään kuuluu korkeintaan muutama prosentti ja ne eivät kauaa saa vääntää koodia itse ennen kuin ne ylennetään.

        Ulkoistetun koodauksen kanssa ne ongelmat vasta alkaakin. A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen. B) Sitten tulee kysymyksiä pirusti. C) Kun softa vihdoin tulee se on aivan perustavanlaatuisesti rikki. D) Sitä korjataan ja korjataan testauksen pohjalta joka tehdään nopeasti. E) Kun softa siirtyy tuotantoon tulee taas kauhea kasa korjaamista. F) Kaikki vihdoin toimii. Mutta rinnakkaisena prosessina pyörii monta muuta vastaavaa prosessia jotka voivat liittyä vielä samaan tuotteeseen.

        Herää kysymys, onko ulkoistamisessa mitään järkeä, vaikka itse koodaus tehdäänkin naurettavaan hintaan?

        Hyvissä projekteissa itse koodaus vie todella vähän aikaa koska määrittely ja suunnittelu on tehty hyvin.

        Koodaus ei ole sellaista salatiedettä että on oikeutettua käyttää esim. 6kk määrittely suunnittelu ja sitten 6kk koodaukseen. Tällöin jossain päin on menty metsään. Poislukien joku täysin uusi teknologia, kokemattomat koodaajat jne.

        Hyvässä projektissa koodaus on sitä että näppistä naputellaan ilman että tarvitsee miettiä jatkuvasti "miten mä ratkaisen tämän ongelman". Ongelmat pitäisi ratkaista suunnitteluvaiheessa eikä toteutusvaiheessa. Toteutusvaiheessa ratkaistaan lähinnä hyvin helppoja ongelmia liittyen syntaksiin yms. Vaikeammat jutut pitää selvittää jo suunnitteluvaiheessa. Näin ei kuitenkaan tehdä koska suunnitteluvaihe hutaistaan läpi.

        Hyvän esimerkin saa kun on esim. käyttötapaus "Uuden asiakkaan luominen". Tuota varten serveripäässä on esim. AddNewCustomer-rajapinta. Nyt piirretään sequence diagram siitä mitä tuossa tapahtuu ja jokaisessa vaiheessa katsotaan mitä virheitä voi tulla eteen, mitä palautetaan edelliselle tasolle, mitä tietoja menee tietokantaan jne. jne. Jahka speksi on hyvä niin ei muuta kuin naputtelemaan.


      • Kommentteja
        rmac kirjoitti:

        "A) Vaaditaan aivan älyttömän tarkat speksit kun ei ole yhtään toimialaosaamista. Tarkoittaa sitä että speksaaminen kestää melkein yhtä kauan kuin itse koodin kirjoittaminen."

        Niinhän sen pitääkin kestää. Tulee huomattavasti halvemmaksi kierrättää hyvin tehtyä speksiä eri sidosryhmillä ja pyytää kommentteja kuin iteroida erilaisia protoja tai pahimmassa tapauksessa betoja ja sen jälkeen vääntää koko softa mutkalle kun huomataan perustavaa laatua olevia puutteita.

        Myös toimialaosaaminen pitäisi osata kirjata ylös. Silloin myös sen uuden, kolme kuukautta alalla olleen koodarin olisi helpompi päästä hommaan kiinni kun olisi speksi jossa oikeasti kerrottaisiin mitä ollaan tekemässä.

        Kun speksaamisesta puhutaan, ei ole olemassa itsestäänselvyyksiä. Toki koodariltakin voisi odottaa esimerkiksi sentyyppisiä asioita, että Windows -softassa saman toiminnon pitää löytyä sekä menusta että itse ikkunasta. Tai että softa pitäisi tarvittaessa saada kirjoittamaan myös logia ilman että pitää erikseen tehdä debug -versiota. Näin kyetään aikanaan korjaamaan myös sellaiset ongelmat, jotka esiintyvät ainoastaan yhdessä ympäristössä Timbuktussa.

        Se nyt on ihan turhaa pyytää kommentteja mihinkään speksiin.

        A) Ketään ei kiinnosta

        B) Kukaan ei kerkiä

        Korkeintaan sitten kun homma on tehty, joku vaivautuu itkemään että tää on tehty ihan päin prsettä.


      • Tuotekehityksen paino
        Koodailija kirjoitti:

        Hyvissä projekteissa itse koodaus vie todella vähän aikaa koska määrittely ja suunnittelu on tehty hyvin.

        Koodaus ei ole sellaista salatiedettä että on oikeutettua käyttää esim. 6kk määrittely suunnittelu ja sitten 6kk koodaukseen. Tällöin jossain päin on menty metsään. Poislukien joku täysin uusi teknologia, kokemattomat koodaajat jne.

        Hyvässä projektissa koodaus on sitä että näppistä naputellaan ilman että tarvitsee miettiä jatkuvasti "miten mä ratkaisen tämän ongelman". Ongelmat pitäisi ratkaista suunnitteluvaiheessa eikä toteutusvaiheessa. Toteutusvaiheessa ratkaistaan lähinnä hyvin helppoja ongelmia liittyen syntaksiin yms. Vaikeammat jutut pitää selvittää jo suunnitteluvaiheessa. Näin ei kuitenkaan tehdä koska suunnitteluvaihe hutaistaan läpi.

        Hyvän esimerkin saa kun on esim. käyttötapaus "Uuden asiakkaan luominen". Tuota varten serveripäässä on esim. AddNewCustomer-rajapinta. Nyt piirretään sequence diagram siitä mitä tuossa tapahtuu ja jokaisessa vaiheessa katsotaan mitä virheitä voi tulla eteen, mitä palautetaan edelliselle tasolle, mitä tietoja menee tietokantaan jne. jne. Jahka speksi on hyvä niin ei muuta kuin naputtelemaan.

        Noin se ideaalitilanteessa meneekin.

        Olen pitkään puhunut organisaatiossa sen puolesta, että kehitys siirrettäisiin (oikeaan painoon) eli etupainoon.

        Nykyjään speksit kustaan parissa tunnissa. Sitten softa tai moduli koodataan parissa viikossa ja sen jälkeen helvetillisiä ongelmia korjataan vuosia.

        Mikä meni pieleen?! ;)

        Erään softamodulin joka on core component kevyistä määrittelyistä sanoin jo vuosia sitten että toi on suunniteltu lähtökohtaisesti ihan väärin. No, kuuneltiinko ... Eipä tietenkään... Korjataanko vieläkin päivittäin esim korruptoituneita tietokantoja jotka johtuu väärästä suunnittelusta... Kyllä korjataan.

        Paljonkohan tuohon korruptoituneiden asiakkaiden tietokantojen korjaamiseen menee sitten aikaa. Jota ei tietenkään voitu panostaa suunnitteluun ja kehitykseen.


      • nulkunpissija
        Tuotekehityksen paino kirjoitti:

        Noin se ideaalitilanteessa meneekin.

        Olen pitkään puhunut organisaatiossa sen puolesta, että kehitys siirrettäisiin (oikeaan painoon) eli etupainoon.

        Nykyjään speksit kustaan parissa tunnissa. Sitten softa tai moduli koodataan parissa viikossa ja sen jälkeen helvetillisiä ongelmia korjataan vuosia.

        Mikä meni pieleen?! ;)

        Erään softamodulin joka on core component kevyistä määrittelyistä sanoin jo vuosia sitten että toi on suunniteltu lähtökohtaisesti ihan väärin. No, kuuneltiinko ... Eipä tietenkään... Korjataanko vieläkin päivittäin esim korruptoituneita tietokantoja jotka johtuu väärästä suunnittelusta... Kyllä korjataan.

        Paljonkohan tuohon korruptoituneiden asiakkaiden tietokantojen korjaamiseen menee sitten aikaa. Jota ei tietenkään voitu panostaa suunnitteluun ja kehitykseen.

        "korruptoituneiden asiakkaiden tietokantojen "

        Tarkoitit varmaankin asiakkaiden korruptoituneiden tietokantojen ?


      • Kiitos oikaisusta
        nulkunpissija kirjoitti:

        "korruptoituneiden asiakkaiden tietokantojen "

        Tarkoitit varmaankin asiakkaiden korruptoituneiden tietokantojen ?

        No tietenkin tarkoitin. Kiitos oikaisusta. Mun kirjoitukset kännipäissään alkaa olemaan samaa tasoa kuin julkaisut taloussanomissa tai digitodayssa.

        Heh heh...


    • Hermot männöö!

      Jopa sellaisissa laitteissa on bugeja, joissa niitä ei oikein soisi olevan. Kuten reitittimet ja palomuurit, niihinkin on tarjolla välillä sellasta kuraa ettei mitään rajaa. Tuossakin kategoriassa olen löytänyt ja raportoinut useita kymmeniä bugeja ainakin neljän eri valmistajan tuotteissa.

      Lähinnä ehkä juuri työnpuolesta vaan on alkanut käymään hermoille se, että miksi kaiken softan pitää olla kuraa. Miksei ole toimivia softia?

      Sitten valmistajat lähettää beta softia, jotka nekään eivät toimi. Eikö ne osaa oikeasti testata yhtään itse? Tulee viime viikolta tilanne mieleen, jossa tuli päivän aikana viisi versiota softasta kun asenne oli: "Että ehkä se nyt toimii."... No, ei toimi, korjatkaa korjatkaa!. No nyt se toimii, mutta rikoitte tämän siinä samalla. Korjatkaa korjatkaa.

      Jotkut ovat tulkinneet ilmeisesti kirjoitukseni väärin, kyseessä ei ole hyökkäys linuxia vastaan vaan yleistä ohjelmistojen laaduttomuutta kohtaan.

      Tiivistettynä, yllätyin vain siitä kuinka paljon Ubuntun 7.10 64 bit perus distribuution mukana tulevissa peruskomponenteissa on selkeitä bugeja.

      Ja kuten varmaan pidemmästä viestistä selvisi. Tiedän varsin hyvin, ettei sovellukset toimi muillakaan alustoilla moitteitta. Esimerkiksi Dot net 1.1 oli ihan hajalla, ennen tietoturva ja SP pakettien julkaisemista. Oli kiva kun kehitysympäristö on rikki, eikä vika olekkaan softassa. Noita on todella kivaa korjailla. Sama tietysti pätee myös Javaan jota rupesin naputtelemaan jo 10 vuotta sitten. Tulostaminen oli kivaa kun printteri API:t oli ihan puhki poikki.

      Kun nyt päästiin haukkumiseen, niin sanotaan myös että Pentax Optio A30:n softa on kuraa ja samoin Samsungin puhelimen softa on kuraa. Molemmat bugaa. Philipsin tauluteeveen softa on muuten sekin rikki. Medion navigaattori on rikki ja silvercrestin dvd soitin on rikki. Joskus pistää oikein mitityttämään, onko mitään ehjää tarjolla? Panasonicin sterkat ei ole muuten seonneet mun mielestä kertaakaan. Softan puolesta. Niissä on vaan fyysisesti huonot säätimet, jotka välittää välillä väärää tietoa softalle. Eli äänenvoimakkuus voi toimia väärään suuntaan tai huonosti. Viimeinen pisara oli toimiston digitalinen langaton sääasema. Se alkoi näyttämään ihan omiaan ulkolämpötilasta. Nauroin että jos tää korjautuu bootilla niin... ¤##¤&%! Ja korjautuihan se. Huhhuh...

      Toisaalta, ihmettelen mistä niitä ihmisiä tulee jotka sanoo että kaikki toimii ihan hyvin. Ilmeisesti he eivät ole tehneet kattavaa testausta ennen kuin väittävät että laite toimii ihan hyvin.

      • alueella ...

        Huomaa, että lääketeollisuudessa toimitaan ihan yhtä löperösti. Tosiasiassa tuhannet lääkkeet, monet niistä sairaalakäytössä, ovat täysin tehottomia. Muutamat kymmenet lääkkeet ovat niin myrkyllisiä, että potilaiden kuolemat huomaa ihan satunnaisessa kenttäkäytössäkin ja niiden myyntiluvat perutaan.


      • teollisuus ...

        Kun valmisruokaa tehdään suuria määriä mahdollisimman halvalla mahdollisimman halvoista raaka-aineista, niin elintarvikevalvontavirastonkin suositus eineksistä on, että niitä ei pitäisi syödä paljoa, ja mieluusti vain lisukkeena.

        "Toisaalta, ihmettelen mistä niitä ihmisiä tulee jotka sanoo että kaikki toimii ihan hyvin. Ilmeisesti he eivät ole tehneet kattavaa testausta ennen kuin väittävät että laite toimii ihan hyvin."

        Ihminen on semmoinen kävelevä valehteleva vaaleanpunainen robotti, joka miettii koko ajan, miten esittää mahdollisimman fiksua vähimmällä vaivalla. Nuo kuulemasi ihmisten puheet maksimoivat ihmisten omaa laiskuutta ja vastaavat muiden odotuksiin siitä, mitä heidän odotetaan sanovan. Abstrakti positiivinen hömppä, josta ei saa konkreettista otetta, on juuri tuossa muiden odotusten ja oman leväperäisyyden hekumallisessa maksimointipisteessä.


      • hyvin huonokuntoinen
        alueella ... kirjoitti:

        Huomaa, että lääketeollisuudessa toimitaan ihan yhtä löperösti. Tosiasiassa tuhannet lääkkeet, monet niistä sairaalakäytössä, ovat täysin tehottomia. Muutamat kymmenet lääkkeet ovat niin myrkyllisiä, että potilaiden kuolemat huomaa ihan satunnaisessa kenttäkäytössäkin ja niiden myyntiluvat perutaan.

        potilas jättää lääkkeensä tai osan niistä pois ja virkistyy huomattavasti. (Tietysti jonkun lääkärin ohjeistuksella, joka huomaa lääkkeiden yhteensopivuuden tai päällekkäisyyksiä).


      • kirjoittajalle
        teollisuus ... kirjoitti:

        Kun valmisruokaa tehdään suuria määriä mahdollisimman halvalla mahdollisimman halvoista raaka-aineista, niin elintarvikevalvontavirastonkin suositus eineksistä on, että niitä ei pitäisi syödä paljoa, ja mieluusti vain lisukkeena.

        "Toisaalta, ihmettelen mistä niitä ihmisiä tulee jotka sanoo että kaikki toimii ihan hyvin. Ilmeisesti he eivät ole tehneet kattavaa testausta ennen kuin väittävät että laite toimii ihan hyvin."

        Ihminen on semmoinen kävelevä valehteleva vaaleanpunainen robotti, joka miettii koko ajan, miten esittää mahdollisimman fiksua vähimmällä vaivalla. Nuo kuulemasi ihmisten puheet maksimoivat ihmisten omaa laiskuutta ja vastaavat muiden odotuksiin siitä, mitä heidän odotetaan sanovan. Abstrakti positiivinen hömppä, josta ei saa konkreettista otetta, on juuri tuossa muiden odotusten ja oman leväperäisyyden hekumallisessa maksimointipisteessä.

        "Kun valmisruokaa tehdään suuria määriä mahdollisimman halvalla mahdollisimman halvoista raaka-aineista, niin elintarvikevalvontavirastonkin suositus eineksistä on, että niitä ei pitäisi syödä paljoa, ja mieluusti vain lisukkeena. "

        Tämähän pätee myös noihin moniin uusiin juomiin, eli energia- ym. juomiin. Ne on melko tutkimattomia, ja saattavat jopa olla vaaraksi terveydelle. Joku kaveri oli juonut niitä aika runsaasti eikä sitten enää onnistunutkaan öisin enää nukkumaan! No, mitäpä valmistaja siitä välittää, kun kauppa käy ja tilipussi kasvaa!


    • Ammattilainen

      Mistäs noii koodit tulee tai ketkä niitä tekee ? Mietippä sitä. Itse kanssa 10-vuotta alalla olleena olen joutunut näkeen kaikenlaista.

      Nykyisessä paikassa muutaman kuukauden koodaus kokemuksen omaavat äääliöt ovat omasta mielestään ohjelmisto guruja ja jälki on sen mukaista. . . ;-) Ihme tumputtelijoita.

      Esimerkkinä vois kirjoitella jonkin yksinkertaisen koodi käänös macron tekeminen, joka nykyisessä toimi paikassa aiheutti kauheeta vastusta ja "kahvee pöytä polemiikkii". (Mistä noita äääliöitä oikein tulee ?)

      Toisaalta samapa toi, kun sama macro kelpas tutulle, joka isolla-E:llä työskentelee. Siitä palkkiona on ens kesänä matka Ruotsiin ! Cool !

      • ..................

        Nii-in. Mistähän se mahtaisi johtua? Mietipäs nyt oikein kovasti...


        ...ehkäpä siitä, että näiltä muutaman kuukauden töissä olleilta ODOTETAAN TULOSTA SIINÄ MISSÄ KOKENEEMMILTAKIN. Olen tämän itse useammassa firmassa nähnyt. Tietenkään kollegat eivät tätä odota, vaan talon johto. Vastavalmistuneet ovat helisemässä kun tajuavat, mitä kaikkea heiltä odotetaan ja miten nopeasti heidän tulisi eri asiat mukamas sisäistää. Sympatiat heille ja kaltaistesi on aivan turha puhella tuohon sävyyn. Asiat olivat hiukan eri junassa 10-vuotta sitten IT-alalla ja etenkin softapuolella.

        T: melkein 20-vuotta alalla ollut


      • On täyttä

        Amatööriyttä silloin, kun sitä kovasti toitotetaan.


      • kateellinen ..
        On täyttä kirjoitti:

        Amatööriyttä silloin, kun sitä kovasti toitotetaan.

        Ja yksi kateellinen pakkopuhujakin heräsi.


      • Ääntä pitäviä
        kateellinen .. kirjoitti:

        Ja yksi kateellinen pakkopuhujakin heräsi.

        Kun on vuosia ollut samassa työpaikassa oppii tuntemaan työtoverinsa ja heidän tapansa.

        Aina löytyy joukosta suureen äänen vaahtoavia, jotka tekevät itsensä kovin tarpeellisiksi puheissaan. Mielipiteitä löytyy ja pätemistä sitäkin enemmän. Ominaisuudet tuntuvat vielä korostuvat pomojen seurassa.

        Hämäävät helposti jonkin aikaa juuri taloon tulleet ja jotka harvoin tekemisissä heidän kanssaan.

        Joillekkin työelämä on suurta peliä :D


      • Kokemusta löytyy
        Ääntä pitäviä kirjoitti:

        Kun on vuosia ollut samassa työpaikassa oppii tuntemaan työtoverinsa ja heidän tapansa.

        Aina löytyy joukosta suureen äänen vaahtoavia, jotka tekevät itsensä kovin tarpeellisiksi puheissaan. Mielipiteitä löytyy ja pätemistä sitäkin enemmän. Ominaisuudet tuntuvat vielä korostuvat pomojen seurassa.

        Hämäävät helposti jonkin aikaa juuri taloon tulleet ja jotka harvoin tekemisissä heidän kanssaan.

        Joillekkin työelämä on suurta peliä :D

        Yksi iso kasa sontaa. Tää homma ottaa niin päähän ettei mitään rajaa.

        Samaa shittiä jauhetaan vuodesta toiseen, mutta ydinongelmia ei kuitenkaan saada pois. Ei organisaation toiminnasta, eikä softistakaan.


      • ...........................
        Kokemusta löytyy kirjoitti:

        Yksi iso kasa sontaa. Tää homma ottaa niin päähän ettei mitään rajaa.

        Samaa shittiä jauhetaan vuodesta toiseen, mutta ydinongelmia ei kuitenkaan saada pois. Ei organisaation toiminnasta, eikä softistakaan.

        then u die


      • älämölöö
        Ääntä pitäviä kirjoitti:

        Kun on vuosia ollut samassa työpaikassa oppii tuntemaan työtoverinsa ja heidän tapansa.

        Aina löytyy joukosta suureen äänen vaahtoavia, jotka tekevät itsensä kovin tarpeellisiksi puheissaan. Mielipiteitä löytyy ja pätemistä sitäkin enemmän. Ominaisuudet tuntuvat vielä korostuvat pomojen seurassa.

        Hämäävät helposti jonkin aikaa juuri taloon tulleet ja jotka harvoin tekemisissä heidän kanssaan.

        Joillekkin työelämä on suurta peliä :D

        Kun joku sanoo jotain, josta käy ilmi, että se tietää jotain, niin tämän ikävän asiantilan voi kätevästi peittää koventamalla omaa ääntään.

        Hitaampien huomio kiinnittyy möykkääjään ennen kuin ne ehtivät tajuamaan, mitä edellinen puhuja sanoikaan.

        Möykkääminen tai provosointi on muuten hyvä keino peittää se, ettei ole mitään sanomista.


    • Koodailija

      Alalla on totuttu siihen että softa ei toimi. Jos myynti koittaa myydä projektin hintaan 100 000e niin asiakas ei sitä osta kun firma B tarjoaa saman 50 000 eurolla. Asiakas kun mielusti maksaa toisen 50 000e tarvittavina muutospyyntöinä ja käyttää sen lisäksi 100 000e softan kanssa tappeluun, bugikorjauksiin, tukipalveluihin jne.

      Samaten työantajat eivät pidä mitään kirjaa siitä kuka niitä bugeja tekee ja miksi niitä tulee. Jos koodaat featurea 3 päivää niin olet huonompi kuin kaveri joka tekee saman päivässä. Mitä sen väliä että tuon jampan tekosia korjataan sitten pitkin poikin softaa monta päivää. Ei niitä asioita kukaan enää muista eikä niistä edes saa puhua.

      Jos ehdotat sitä että pidetään tarkkaa kirjaa siitä mitä kukin tekee ja kuinka paljon tulee bugeja jne. niin saat huonon maineen. Sinua pidetään ties minä kerrostalokyttääjänä jne. vaikka tarkoituksesi olisi parantaa laatua.

      Iso osa ongelmista johtuu myös siitä ettei asiakas tiedä mitä hän haluaa. Herrat tietävät että "jotain laatikoita siellä linjalla menee" ja kukaan ei kysy mitä suorittavan portaan kaveri tarvii. Tuloksena softa joka toimii mutta ei ole hyödyllinen tai jopa hidastaa työtä. Pääasia että johtoporras saa hienoja raportteja printteristä. Mitä sen väliä että raportit eivät oikeasti kerro mitään niistä asioista joissa olisi parantamisen varaa.

      Hyvänä esimerkkinä case jossa paikkaan X hankittiin kosketusnäyttö koska se kuulemma nopeuttaa hommia. Tuloksena se että työmiesten rasvaiset käsineet sotkivat koko näytön ja systeemi ei toiminut. Softan muutos, testaus jne. kuluja tuli kymmeniätuhansia euroja. Tuolla muutoksella haluttiin säästää kulut jotka johtuvat siitä että näppis piti vaihtaa kerran kuussa (meni tukkoon kaikesta liasta ja roskasta). Mitä sen väliä että näppikset kävi yksi kaveri ostamassa vapaa-ajallaan ja teki siitä laskun firmalle!

      • IT hemmo

        meidän asiakkaat ei taida tietää mitä he ostavat, eikä meidän myyjilläkään taida olla harmainta aavistustakaan mitä myyvät.

        Juuri näin jes...tänään on yksi niistä päivistä jolloin haluaisin irtisanoutua. Ymmärrän kyllä, että myynti on kotiinpäin, muttei nyt sentään kaikkea sontaa kannata mennä myymään.


    • Buginator
    • kenen leipää syöt

      Tulin ”koodausalalle” vuonna 1994 ja 2000 luvun alkupuolella olin kaksi vuotta aivan muissa töissä, mutta hakeuduin sitten takaisin monitorin eteen. Tämä muu työ oli hyvä homma, mutta siinä oli sen verran kausivaihtelua, joka ei minulle maistunut, että päätin hakeutua takaisin koodariksi, nyt kaduttaa. Kait tässä täyttyy kohta vaihtaa alaa….

      Itse asiaan, niin oli vain tarkoitus sanoa, että ex duunikavereistani (niintä on vuosien kuluessa kertynyt paljon) kaikista pätevimmät tyypit ovat jättäneen koodarin duunit, tekevät nyt mm. projektin vetoa, myyntityötä tai taloushallinnon pyörittämistä. Mistäköhän tämä johtuu, ei taida teräviä kavereita nämä hommat kiinnostaa alkuviehätyksen jälkeen.

    Ketjusta on poistettu 5 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Lindtman I vasemmistohallitus aloittaa viimein Suomen kuntoon laittamisen

      Tässä nyt on 3 vuotta seurattu irvokasta kärsimysnäytelmää nimeltään "valtion budjetin tasapainotus by äärioikeisto", ja
      Maailman menoa
      156
      2548
    2. Missä viipyy persujen lupaama euron bensa?

      En edes muista milloin bensapumpussa olisi ollut ykkösellä alkava litrahinta. Missä siis viipyy persujen lupaama euron b
      Maailman menoa
      148
      2377
    3. Kirje, PellePelottomalle.

      Tärkeää olisi luoda ystävyys, että se, jota rakastaa, on samalla paras ystävä ja luotettavin, jolle voi ja uskaltaa luot
      Ikävä
      102
      1072
    4. Meni kyllä aika solmuun

      Meidän tutustuminen 😐
      Ikävä
      64
      901
    5. Sinua oli kiihottavaa

      Sinua nainen oli kiihottavaa katsella.
      Ikävä
      65
      839
    6. Persut jakavat tekoälyllä tehtyjä kuvia maahanmuuttajista somessa

      Eivät mainitse, että ovat tekoälyllä tehtyjä. Eivät näe asiassa mitään ongelmaa. Valehtelijapuolue taas vauhdissa. Unka
      Maailman menoa
      274
      717
    7. Mistä löytyy naisseuraa sinkkumiehelle?

      Kertokaapas kokeneemmat mistä löytyis naisseuraa sinkulle. Ihan ois eukko nyt tosissaan hakusessa. Tanssipaikat kun on a
      Kuhmo
      18
      717
    8. Voi teitä naisia

      Suudeltiin ja nukuttiin toisissamme kiinni mutta pillua ei tullu, ei edes aamulla. t.38vmies
      Sinkut
      85
      710
    9. Martinan hevoset.

      Tämä todella kaunis ja ketterä harmaa hevonen jolla monet kilpailut voitetaan ei ole Martinan.Tytär ratsastaa sillä tait
      Kotimaiset julkkisjuorut
      203
      680
    10. Hyvä meininki

      TTP:ssa väkeä tosi runsaasti paikalla. Hyvää ruokaa jälleen ja munkit ja sima erinomaista. Kiitos yrittäjälle! Hieno Vap
      Haapavesi
      22
      658
    Aihe