Mar 24 2011

IT 21. sajandil

Published by Targo under Innovatsioon, Tehnoloogia

Viimasel ajal on mul poejärjekorras, koosolekut oodates või muus ajutises igavas situatsioonis saanud kombeks telefonist Youtube’i vaadata, märk ühelt poolt püsimatust iseloomust, aga teiselt poolt tänapäeva tehnoloogilistest võimalustest.

15 ja pool aastat tagasi läksin ma ülikooli ning sain endale oma esimese emailikonto. Interneti püsiühendust polnud siis praktiliselt kellelgi, mobiiltelefonid olid üksikutel rahameestel ja koduvideote tegemise võimalused olid sama  haruldased.

Praegu aga on mul taskus vidin, mis võimaldab mul suvalises kohas olles vaadata miljonite inimeste tehtud koduvideoid. Peatugem ja mõelgem hetkeks, kui palju tuhandeid leiutisi on selleks viimase 15 aasta jooksul vaja läinud. Kas pole uskumatult äge, mh-ah?!?

Samas oli küllaltki vähe neid, kes oleks osanud midagi taolist ette ennustada. Võtan praegu siiski selle riski, et mängin hiromanti ja ennustan, mida toovad järgmised mitte ainult 15 aastat, vaid ka 50 ja enam. Erinevalt paljudest teistest nostradamuse-wannabe’dest katsun teha oma väited võimalikult konkreetseks, nii et neid oleks võimalik üheselt kontrollida – kas oli õige või mitte.

Ennustused põhinevad kolmel peamisel veendumusel:

Esiteks ma arvan, et jätkuvad järgmised eksponentsiaalsed trendid:

  • Arvutustehnika võimsuse kasv
  • Andmeside kiiruse kasv
  • Inimeste poolt uute leiutiste omaksvõtmise kiirus

Teiseks muudavad edusammud IT-s võimalikuks uued leiutised biotehnoloogias ja geneetikas, mis omandavad mingil hetkel võtmetähtsuse inimkonna kui sellise arengus.

Kolmandaks ma arvan, et ennast keskkonnakaitsjateks maskeerida püüdvatel ludiitidel ning neomalthuslastel pole õigus, kui nad ennustavad peak oil’i jm ressursside lõppemisest tulenevaid tohutuid katastroofe, näljahädasid ja tsivilisatsiooni hukku ning peavad ainsaks väljapääsuks püksirihma radikaalset koomale tõmbamist ning tehnoloogia poolt inimeste elu kergendavatest hüvedest loobumist. Edusammud energeetikas aitavad meid ressursinappusest kenasti üle.

Samas pole ma nõus Ray Kurzweili jt ülioptimistidega, kes arvavad, et tehnoloogia võimsuse eksponentsiaalne areng tagab ka probleemide lahendamise aja eksponentsiaalse lühenemise. Paljud uued probleemid, mida meil tuleb lahendada, on samuti eksponentsiaalselt keerukamad, mistõttu nende lahendamise aeg jääb siiski lineaarseks või paraboolseks. Seetõttu on ka utoopilised arvamused, mille kohaselt geeni- ja nanotehnoloogia muudaks meie elu kardinaalselt juba järgmise 10-20 aasta jooksul. Kõik see tuleb, aga aega läheb pisut kauem.

Et mitte tühja juttu ajada, olen nõus nende paikapidavuse peale ka kihla vedama (luban ajalist täpsust kuni 30%).

2012 – Maailmas elab 7 miljardit inimest.

 2013 – Eestis on 500 000 (praegu 369 000) Facebooki kontot, maailmas rohkem kui miljard (praegu 600M).

Kasvab kontode arv, mis ei kuulu konkreetsetele isikutele, vaid mitmesugustele ettevõtetele.

 2014 – Facebooki konto olemasolu on eelduseks enamiku töökohtade saamisel, mis vajavad teiste inimestega laiemat elektroonilist suhtlemist.

 2016 – Eestis on 650 000 Facebooki kontot, maailmas 1,5 miljardit.

Arvutid saavad kättesaadavaks rohkematele inimestele – Facebooki ülesseadmine saab esmakordsele arvutikasutajale üheks esimestest tegevustest.

2017 – Vähem kui 30 euro eest kuus saab Eestis osta kodust 2Gbit internetiühendust (praegu Starman 120Mbit).

Oluline eeldus mitmete järgmiste tehnoloogiate jaoks.

2019 – vähem kui 100 euro eest saab osta rohkem kui 30TB kõvaketast.

Nimetan seda tinglikult kõvakettaks, kuigi tegelikult seal ilmselt „ketast“ kui sellist ei ole – pigem on tegemist mingit laadi SSD-ga.

2020 – Maailma majandus on kasvanud vähemalt 90 protsendil viimase 10 aasta kõigist kvartalitest.

Majanduskasv muutub järjest enam uute tehnoloogiate põhiseks, tehnoloogia kiire areng hakkab sellega siluma tavapäraseid majandustsükleid.

 2021 – Kommertsiaalselt on saadaval seadmed, mis võimaldavad meie elu täielikku audiovisuaalset salvestamist. Salvestustest on võimalik kõnetuvastuse, visuaalsete kujundite kirjeldamise või seal esinevate inimeste nimetamise abil otsida erinevaid sündmusi.

Salvestaja võiks olla sarnane bluetooth headsetile. Siin kuluvad hästi ära ka 100TB kõvakettad, mis selleks ajaks normiks on saanud.

Enam pole vaja midagi unustada või naisega vaielda, kuidas asjad tegelikult olid.

2022 – Geeniteraapiat on edukalt kasutatud enamiku (mõõdetuna surmajuhtumite põhjustajatest aastal 2010) pärilike haiguste raviks (sh soodumused vähi tekkeks).

See toob kaasa samasuguse revolutsiooni nagu omal ajal hügieen, antibiootikumid ja vaktsiinid, millest igaüks pikendas inimeste keskmist eluiga dekaadi võrra.

Suurimaks probleemiks pole siin mitte tehnoloogia areng, vaid regulatiivsed piirangud, mis takistavad selle kiiremat omaks võtmist. Miljonid inimesed surevad enneaegselt, kuna uutele raviviisidele ei anta piisavalt kiiret heakskiitu.

2023 – Eesti top 20 ettevõttest enamiku peamised infosüsteemid jooksevad riistvaral, mis ei asu Eestis.

Kohalik võrguadministreerimine ning baastarkvara paigaldus/hooldus on kaduvad elukutsed.

 2024 – Virtuaalne reaalsus jõuab lõpuks mainstreami (10+ % arenenud riikide kodudest), pakkudes esialgu küll vaid visuaalset ja audiaalset kogemust.

Selle asemel, et nt videomängu ekraanil jälgida, tunnetad sa end tõepoolest ise mängus sees olevana.

2025 – Tüüpilises kodutarbijale müüdavas arvutis pole liikuvaid osi.

Vähem müra, suurem töökindlus. Kõvakettad on asendatud SSD-ga, optiliste ketaste asemel downloaditakse kõike internetist ning energiasäästlikumad protsessorid võimaldavad ventilaatorite ärajätmist.

2026 – inimeste keskmise kuusissetuleku eest saab osta rohkem elektrienergiat, leiba, vasktraati ja kinnisvara kui aastal 2011. Keskmine energiatarbimine inimese kohta on kasvanud. Kehtib nii Eesti kui maailma kohta.

Vasktraat pole mõistagi väärtus omaette, vaid illustreerib põhiliste ressursside odavnemist võrreldes meie võimalustega.

 2027 – 1000 euro eest saab osta 100 TFLOPSi arvutusvõimsust.

Praegu saavutatakse superarvutites umbes 20 korda nii palju. Moore’i seadus on aeglustunud, kuid rühib edasi.

2028 – Tuumaenergia moodustab maailma elektritootmisest >16% (praegu 14%).

Kuu aega tagasi oleksin ma selleks tähtajaks pakkunud 5 aastat varasemat aega, kuid hiljutised õnnetused Jaapanis tekitavad mõneks ajaks ilmselt paanikat, mis arengut aeglustab.

Samas on tuumaenergia ainus energialiik, mis pakub piisavalt suurt energiatihedust, mis on vajalik tulevikus üleskerkivate inseneriprobleemide lahendamiseks, mis on omakorda vajalikud inimkonna mitmesugustele suurtele küsimustele vastamiseks, alates mageveepuudusest kuni suurte ehitusprojektideni.

2029 – ITER alustab reaalset elektrienergia tootmist.

Loodetakse küll kiiremat, aga ma olen natuke pessimistlikum.

 2030 – Inimestel on võimalik kogeda „perfektset“ virtuaalset seksi nii inim- kui virtuaalse partneriga.

Kogemuse kvaliteet võrreldes klassikalise seksiga on nagu HD videokõnel tavapärase jutuajamisega, haarates samas kõiki meeleorganeid.

2031 – Maailmas elab 8 miljardit inimest.

Kaheksas miljard tuleb juba mõnevõrra aeglasemalt kui seitsmes.

 2032 – Microsoft on endiselt alles ja tema käive on vähemalt 80% 2010 aasta käibest (62 mld USD).

Hämmastavalt sageli kohtan väiteid, mille kohaselt peaks MS kohe pankrotistuma vms.

 2033 – Inimesed tegelevad rohkem virtuaalse kui tegeliku seksiga.

Kui ma sellest räägin, siis paljud arvavad, et küll see on kurb. Kui paarkümmend aastat tagasi oleks öeldud, et inimesed hakkavad saatma rohkem e-kirju kui tavalisi kirju, või et MSNis kulutatakse rohkem aega kui inimestega näost näkku suheldes, oleks ka seda väga hirmsaks peetud.

Samas annab see ilmselt viimase matsu juba mõnda aega lagunevatele perekondlikele struktuuridele.

 2035 – Aju skaneerimise tehnoloogia võimaldab jälgida üksikute neuronite tegevust.

Eeldustehnoloogia järgnevatele põrutavatele sammudele. Eeldab omakorda edusamme IT-s ja nanotehnoloogias.

 2036 – Keskmine eeldatav eluiga (sünnil) maailma pikima elueaga riigis on 90 aastat (Jaapanis praegu 82).

20. sajandil tõusis eluiga eelkõige tänu laste suremuse vähenemisele. Vahepealsed edusammud tulevad raskemalt (st inimeste keskmine eluiga kasvab aeglasemalt), kuni biotehnoloogiline revolutsioon jõuab küpseda.

2037 – vähem kui 100 euro eest saab osta rohkem kui 10PB kõvaketast.

Üks eeldus tulevikus võimalikuks saavale teadvuse üleslaadimisele.

2038 – Sündimus maailmas ei ületa 12/1000 elaniku kohta (praegu 19). Omavahel ametlikult abielluvad vähem kui pooled inimesed.

2039 – Arvutid usaldatakse kiirteel iseseisvalt autosid juhtima.

Tehnoloogia, mida on kaua ennustatud, aga ma arvan, et see varem ei saabu.

2040 – Maailma majandus on kasvanud vähemalt 95 protsendil viimase 20 aasta kõigist kvartalitest.

2041 – inimeste keskmise kuusissetuleku eest saab osta rohkem elektrienergiat, leiba, vasktraati ja kinnisvara kui aastal 2026. Keskmine energiatarbimine inimese kohta on kasvanud. Kehtib nii Eesti kui maailma kohta.

2042 – Maailma elanikkond jõuab 8,5 miljardini, edasi jätkub aeglane kasv, mis läheneb asümptootiliselt 9 miljardile.

 2043 – Leiutatakse biotehnoloogiline meetod, mis võimaldab süüa ükskõik kui palju, ilma seejuures paksuks minemata.

See toob kaasa samasuguse murrangu inimeste käitumises nagu omal ajal rasedusvastaste vahendite leiutamine.

 2044 – Edusammud aju skaneerimisel võimaldavad „mõtete lugemist“ – verbaalse info kandmist ajust otse arvutisse.

Ajju siirdatakse selleks vastav kiip, mis on juhtmeta ühenduses arvutivõrguga.

 2046 – Majapidamisrobotid jõuavad lõpuks tasemele, kus nad suudavad 90% ajast autonoomselt kodu korras hoida.

Veel üks asi, mida on kaua ennustatud, aga mis on palju raskem probleem, kui enamasti  arvatakse.

2048 – 1000 euro eest saab osta 10 PFLOPSi arvutusvõimsust.

Seda ei suuda praegu ka ükski superarvuti. Areng on aeglasem kui viimase 20 aasta jooksul, kuid siiski kiire, võimaldades peagi inimaju simuleerimist.

2050 – Esimene kommertslik termotuumaelektrijaam.

2051 – Geeniteraapiat kasutatakse rohkem kui 20 protsendil maailma elanikkonnast, mis võimaldab nende eluea aktiivset pikendamist.

Loodan elada selle ajani.

 2052 – Keskmine eeldatav eluiga (sünnil) maailma pikima elueaga riigis on 100 aastat.

Biotehnoloogia mõjutab inimeste eluiga järjest otsesemalt. Areng muudab eeldatava eluea arvutamise sünnil küll järjest kahtlasemaks.

 2053 – Inimese ajju on võimalik paigaldada „kaasprotsessor“, mis võimaldab formaalloogiliste arvutuste ning arutluste läbiviimist.

See on ilmselt kõige tähtsam ennustus. Inimaju otsene integratsioon elektroonikaga annab inimvõimete arengule sama tugeva tõuke kui kunagi kõne leiutamine. Kaasprotsessor võimaldab nt Excelis võimalike arvutuste peast sooritamist – hiiglaslik efekt paljude peaga töötavate inimeste jaoks, mis võimaldab järgmiste leiutiste tegemist juba veel kiiremini ja efektiivsemalt.

Evolutsiooniliselt on inimesel kujunenud välja:

-          Tugev ohutaju – mitmesugustele kujuteldavatele ja tegelikele ohumärkidele reageeritakse üliaktiivselt, sest muidu poleks ürgajal saanud ellu jääda. Tänapäeval põhjustab see muuhulgas mitmesuguseid foobiaid, olgu siis ämblike või tuumaenergia ees, ning muudab samuti võimalikuks inimeste kerge manipuleerimise hirmutamise teel.

-          Ahnus ja isekus. Kellel oli suurem nui ja rohkem nahkasid koopas, sai paremini sugu teha ja oma geene edasi anda. Inimene tajub intuitiivselt omakasu võimalusi.

-          Mustrite tajumise (pattern matching) võime, kujunenud välja eelkõige teiste inimeste näoilmete ja kehakeele tajumiseks – kas võib usaldada või ei?

-          „Sotsiaalne loogika“ – võime ära õppida suurel hulgal reegleid selle kohta, mida „tohib“ ja „ei tohi“ teha. Reegleid endid antakse edasi sotsiaalselt, põlvest põlve, neid omandatakse eelkõige jäljendamise teel. Reeglid ei pruugi muutunud ühiskonnas enam üldse asjakohased alla, aga neid omandatakse inertsist edasi.

Nendes mainitud valdkondades on aju ülivõimas, praegu veel pikalt ees parimast tehisintellektist. Samas formaalsele loogikale ja algoritmilisele mõtlemisele pole ajus kohta jätkunud, kuna seda ei läinud ürgajal eriti vaja. Kui ma tahan näiteks peast võrrandit lahendada või arve korrutada, suudan meeles hoida vaid ühekohalise arvu muutujaid, ülejäänu tuleb paberile kirjutada, arvuti jaoks naeruväärne piirang.

Piirangust üle saamine muudab aju tohutult võimsamaks ja järgmiste leiutiste loomise lihtsamaks.

2054 – Maailma keskmine sündimus ja suremus on alla 10/1000 elaniku kohta.

Eestis praegu mõlemad umbes 11,8.

2055 – Telomeeride lollikindel taaspikendamine ning tehisensüümidel põhinevad teraapiad võimaldavad peatada kudede vananemise.

Loodan elada ka selle ajani :)

2056 – inimeste keskmise kuusissetuleku eest saab osta rohkem elektrienergiat, leiba, vasktraati ja kinnisvara kui aastal 2041. Keskmine energiatarbimine inimese kohta on kasvanud. Kehtib nii Eesti kui maailma kohta.

Pärast seda on inimeste majanduslik ja sotsiaalne käitumine nii palju muutunud, et konkreetsemaid ennustusi on raske teha.

2060 – Termotuumaenergia moodustab >1% maailma elektritootmisest.

Kehtivad samad argumendid nagu tavapärase tuumaenergia puhul, aga ilma tuumaenergia suurte probleemideta (eelkõige jäätmete ladustamine).

2065 – Maailma majandus on kasvanud vähemalt 98 protsendil viimase 25 aasta kõigist kvartalitest.

 2067 – Enam kui 5% maailma elanikkonnast on „täiustatud“ ajuga, kandes seal mõtlemist abistavat kiipi.

See tähendab ilmselt senitundmatute sotsiaalsete vahede tekkimist. Inimene arenes loomadest edukamaks tänu oma suuremale mõtlemisvõimele, samamoodi areneb homo electronicus edukamaks kui homo sapiens.

2070 – Inimestele on võimalik siirdada nanotehnoloogial põhinevaid kunstlikke vereliblesid, mis on suurema hapnikutarnimise võimega kui looduslikud verelibled.

Teraapia järel suudab iga inimene Everesti otsa ronida või 2 tunniga maratoni joosta.

 2073 – Nanotehnoloogia võimaldab kudede uuendamist. Saavutatakse inimkeha praktiline surematus.

Kuidagi pean ju oma kihlveovõidud sisse kasseerima :)

2076 – Termotuumaenergia moodustab >10% maailma elektritootmisest.

Energiat kasutatakse muuhulgas merevee magestamiseks laias ulatuses ning hüdropoonilise põllumajanduse edendamiseks, mis tagab rikkaliku toidu kõigile maailma elanikele.

Samuti on tagatud odav energia muude tehniliste projektide läbiviimiseks ning mistahes kaupade tootmiseks vajalikus koguses.

 2077 – On võimalik inimteadvuse ülekandmine puhtalt elektroonilisse keskkonda (mind uploading).

See vastab minu meelest ka küsimusele, millal suudab masin läbida Turingi testi. Puhtalt elektrooniline mõistus ei sünni mitte iseenesest, vaid integratsiooni tulemusel inimmõistusega.

 2085 – Tehisintellekt / virtualiseeritud inimmõistus tegeleb pideva enesetäiustusega, lüües pidevalt seniseid arvutusvõimsuse rekordeid.

Sellisel tasemel mõistus ületab minu praeguse mõistuse samavõrra kui minu mõistus ületab ahvi oma.

Seetõttu muutub ka edasine ennustamine kasutuks.

PS Lahe kontseptsioon tulevikuseadmest: http://petitinvention.wordpress.com/2008/07/12/future-of-mobile-search-power-of-visualization/

14 responses so far

Mar 15 2011

Kuidas liigutada Fuji mäge

Published by Targo under Hea kood, Jõudlus

Viimase paari nädala üks kõige poleemilisemaid IT-teemasid Eestis on kahtlemata valimistulemuste (mitte)näitamine, mida, kuidas ja kui palju on võimalik ning praktiline testida jt seonduvad küsimused. PostgreSQL leidis leidis endale ootamatult koha mainstream meedia sõnavaras ja igaühel on oma arvamus või ka mitu.

Vaidlejad kipuvad jagunema kahte leeri:

Ühel pool on need, kes väidavad, et sellise probleemi tekkimine oli üldse absurdne, oleks pidanud palju rohkem ja põhjalikumalt testima, stsenaariume läbi mängima jne. Nende iseloomulik tsitaat on: “kui mina midagi sellist teeksin, siis ma teeks küll palju paremini”.

Teisel pool on inimesed, kes on ilmselt ka ise sarnaselt põletada saanud ning võtavad tagasihoidlikuma positsiooni. Nendelt kuuleb väiteid stiilis: “teatud klientidega ongi väga raske”, “kõik konfiguratsioonid polegi saavutatavad” või “muidugi tahaks me ka paremini teha, aga elu seab omad piirangud” jne (tegemist pole muuseas üldse valimiste või Helmesega seotud rahvaga).

Minu meelest ei taba kumbki pool probleemi tegelikku iva. See, et tarkvaras esineb probleeme, on teatud määral paratamatu. Iga projekt on mingis mõttes uus, igal tarkvaratükil on müriaad sõltuvusi, igas konfiguratsioonis on nendest sõltuvustest erinev kombinatsioon jne. Me võime asju testida kuitahes palju, alati on garanteeritud mingid ootamatused, vähemalt ma ise pole osalenud veel üheski projektis, kus pärast asja valmimist poleks olnud põhjust käega otsaette lüüa ning mõne detaili tähelepanuta jätmise pärast oma taipamatust kiruda.

Lahendus ei peitu mitte selles, et kivist vett välja pigistada ja testmaatrikseid tuhandekordistada, vaid selles, kuidas tekkivatest probleemidest võimalikult valutult üle saada. Miks valimistulemused nähtavale ei tulnud, seda mina ei tea. Võibolla oli tõesti tegemist kriminaalse lohakuse ja puuduliku testimisega, aga võibolla siiski mingi konfiguratsiooni iseärasusega, mida polnud varem võimalik isoleerida.

Aga kui probleem ilmnes, oleks kindlasti olnud võimalik leida parem lahendus, kui järjekindlalt lubadusi anda, et “15 minuti pärast saab korda” ja samas uuesti ning uuesti sama reha otsa kukkuda. Kuna algandmed olid vähemalt laias laastus teada, oleks saanud üles visata kasvõi Exceliga tehtud staatilise pildi, mida iga paari minuti tagant värskendada ning keegi poleks probleemi tähelegi pannud. Suurim ebaõnnestumine oli siin võimetus outside the box mõelda ning eristada probleemi kriitilist osa (telekas ei muutu peamised numbrid) vähemtähtsast (andmebaas ei vasta päringutele piisavalt hästi).

Enamik IT-ettevõtteid annavad inimestele värbamisel suhteliselt otseseid ja igavaid katseülesandeid: progeda selline veebikomponent, disainida taoline andmebaasimudel jne. Selle tulemusel saame inimesed, kes suudavad lahendada tüüp-probleeme, aga ootamatuse ees tõstavad käed püsti. Samas, nagu ülal postuleeritud, on ootamatused ainus asi, mida kindlasti oodata võib.

Selline intervjueerimise viis testib faktide mäletamist, aga mitte mõtlemist.

Samas Microsoft ja ka mitmed teised ettevõtted on tuntud oma värbamiskultuuri poolest, kus rõhutakse eelkõige inimeste taiplikkusele ja probleemide lahendamise oskusele, vt kasvõi raamatut How Would You Move Mount Fuji. Küsimus seisneb siis selles, et kuidas Fuji mägi teise kohta nihutada. Sarnased pealtnäha programmeerimisega mitteseotud küsimused on nt “hinnata, mitu bensiinijaama on USA-s”, vt lähemalt nt Joeli asjakohasest artiklist.

Oluline on rõhutada, et Fuji mäe küsimuse puhul pole tegemist mingi tõmbekaga, vaid täiesti tõsise probleemipüstitusega, mis testib kandidaati oskust asjaoludesse süüvida, täpsustavat infot hankida (Miks on vaja nihutada? Kui palju on vaja nihutada? Millised ressursid meil kasutada on?) ning rasketele probleemidele loomingulisi lahendusi (tehnoloogia, tööjõud, poliitilised probleemid, jne jne) leida.

Kuna ma ise olin juba koolis suur ülesandelahendaja, on see lähenemine mulle  muidugi imponeerinud. Siiski võin kätt südamele pannes öelda, et harjumus katsuda ka kõige keerulisemates või absurdsemates situatsioonides lahendusi leida on mind karjääris aidanud rohkem kui ükski tehniline fakt või oskus.

PS Kirjutasin need näited enne maavärinat, mis terve Jaapani koos Fuji mäega kaks ja pool meetrit paigast nihutas. Oh well.

10 responses so far

Feb 26 2011

Ideede väärtuse(tuse)st

Published by Targo under Innovatsioon, Isiklik, Raha

Ajendatuna ilmselt hiljuti populaarsust kogunud filmist Sotsiaalvõrgustik, küsis üks sõber mult, miks mina Facebooki ei leiutanud. Olin muidugi kõrvust tõstetud sellise kaudse hinnangu üle oma võimekusele, aga pidasin siiski vajalikuks õiglus jalule seada ja talle põhjendada, miks minust kunagi Mark Zuckerbergi vmt internetimiljardäri ei saa.

On väga levinud eksiarvamus, et millegi leiutamine ja rikkaks saamine seisab eelkõige briljantse idee taga. Tuleks vaid õige mõte ja kõik läheb nagu lepase reega. Tegelikult kehtib muidugi Edisoni ütlus, et geenius on 1% inspiratsiooni ja 99% perspiratsiooni. Facebook kasvas välja tavapärasest üliõpilaste isikuandmete andmebaasist, milletaolisi oli maailmas kümneid tuhandeid. Zuckerbergil oli muidugi kõvasti õnne, aga eelkõige oli tal maniakaalset eesmärgipärasust, töövõimet ning soovi olla esimene. Ilma nende omadusteta poleks temast keegi kunagi kuulnud ja need omadused on olemas eranditult kõigil edukatel ideerealiseerijatel Thomas Edisonist Bill Gatesini (või minu poolest Taavi Kotkani). Ärimaailma ideedel põhinev osa on halastamatult võistluslik, aga seda mitte sellepärast, et headest ideedest puudus oleks, vaid sellepärast, et müriaad leidureid püüab oma ideid teiste omadest kõrgemale upitada.

Lõppkokkuvõttes on suhteliselt vähetähtis, kes mingi idee peale algselt tuli. iPhone, mida vahel pea innovatsiooni etaloniks peetakse, sisaldas tehnoloogiliselt vaid inkrementaalseid uuendusi, kõik põhikomponendid olid juba ammu enne seda olemas. Oluline oli aga teistest parem teostus disaini  ja käepärasuse vallas. Samamoodi osutub Winklevosside ja Patersonide hädakisa selle üle, et nende ideid on ebaõiglaselt ära kasutatud, küllaltki narriks – idee kui sellise väärtus on müüt, tähtis on teostus.

Ja kui keegi kurdab (ning neid kurtjaid olen ma kohanud palju-palju), et oh, oleks vaid hea idee, teeniks sellega palju raha, siis pole nende tegelikuks sooviks mitte ägeda idee realiseerimine, vaid igatsus taevast sülle langeva lotovõidu järele. Muidugi eksisteerib ka akrobaaditrikke nagu Million Dollar Homepage või Punane kirjaklamber, aga neid esineb suhteliselt harva ja tõeliselt rikkaks keegi nendega ei saa.

Esialgse küsimuse juurde tagasi tulles: selles, et mul Facebook “leiutamata” jäi, polnud süüdi mitte ideedepuudus. Ideid on mul nagu putru, võin soovijatele jagada kui vaja. Tegelik põhjus on mõistagi selles, et ma olen selle ala suurmeistritega võrreldes kaugelt liiga laisk ja mugav, et end vastaval määral millegi realiseerimisele pühendada. Ja sama probleem on ka neil kurtjatel :)

6 responses so far

Aug 29 2010

Miks me ei taha olla insenerirahvas?

Published by Targo under Haridus, Innovatsioon, Raha

Tavaliselt ma päevakajalistest asjadest ei kirjuta, aga hiljuti käsitles Kotkas Äripäevas teemat, mis mulle endalegi sügavamalt korda läheb. Täpsemalt ütles ta:

Kui me suudaks inseneride hulka kordades suurendada ehk siis populariseerida oluliselt rohkem reaalharidust, oleksime ka oluliselt rikkam riik. Miks me ei taha olla insenerirahvas? No ju siis meile ei meeldi parem elu.

Enamik ühiskondlikust diskussioonist käib tänapäeval selle üle, kuidas mõnel on liiga palju, teisel liiga vähe, kuidas anda, kuidas võtta ja kuidas üleüldse on elu väga karm, kole ja ebaõiglane.

Selle asemel võiks aga ju keskenduda küsimusele, kuidas meie ühist pirukat suuremaks kasvatada, mitte pisikest jupitada. Suurim ühiskondlik väärtus tekib tänapäeval eelkõige uute asjade väljamõtlemise, elluviimise ning efektiivse tootmise kaudu, selleks aga on vaja:

  1. Insenerkonda, kes vastavate tehniliste lahendustega hakkama saaks.
  2. Ettevõtjaid, kes neile inseneridele hea loomekeskkonna rajavad.

Praegu on Eestis võrreldes nt USA, Jaapani või Soomega mõlemast struktuurne puudus ja kuni see ei muutu, ei kasva ka meie pirukas. Loomulikult ei teki kumbki klass inimesi iseenesest, selleks on omakorda vaja järgmisi muutusi inimeste suhtumises:

  1. Au sisse tõsta ratsionaalne maailmakäsitlus ja kriitiline mõtlemine. Mingil kombel oleme vajunud intellektuaalsesse sohu, kus isegi “kvaliteetajakirjandus” käsitleb tõemeeli homöopaatiat ja UFOsid kõrvuti päris teemadega ning keegi ei vaevu mõttevirkust üles näitama ning kirjutajat liistule tõmbama, kas ta oma väiteid ka kaitsta suudab.
  2. Edendada harjumust probleeme lahendada. Eestis muidu toredate kohalike progejatega koos töötades tuleb mul teinekord nutumaik suhu, kui keegi jälle ütleb, et oi, see on nii keeruline asi, mina küll ei tea, kuidas seda teha või uurida. No mis siis, et keeruline, hakka kusagilt servast harutama ja küll ta välja tuleb. Aga näed, ei oska isegi harutama hakata.
  3. Tõsta ettevõtluse mainet. Paljude eestlaste jaoks on ettevõtja ikka suli ja kaabakas, mis on tohutu kontrast nt USA suhtumisega, kus antakse aru, et ettevõtja on see, kes tekitab teistele töökohti ja aitab neil ühiskondlikku väärtust luua. Ameerikas töötades puutusin kokku nt keskealise naisega, kes töötas UPSi kontoris, kuid unistas oma eradetektiivibüroost, orienteerujaga, kes eksportis puitu Jaapanisse, süsopiga, kes sebis töö kõrvalt väikest plaadistamisettevõtet teha jne jne, kõigil oli ettevõtmispisik sees ja ümbritsevad inimesed respekteerisid seda.

Muidugi ei muutu ka inimeste suhtumine üleöö, selle aluseks on omakorda haridus. Konkreetsete ideedena:

  1. Vähendada laste hirmu reaalainete, eriti matemaatika ees, seostades seda rohkem tegeliku eluga. Näidata lastele, kuidas maailm töötab, sealhulgas tehnoloogia ja majandus, ning kuidas matemaatika on selle aluseks.
  2. Õpetada oluliselt rohkem loogikat. Praegu on algklasside matemaatikatunnid ainult üks suur arvutamise õppimine. Kunagi olid 3 klassi õpikutes sees näited stiilis “see lause on väär” või “kui päike paistab, siis on ilm soe”, praegu ma sellise alusstruktuuri loomist sealt enam ei leidnud. Kui meil on seljaajusse jõudnud peamised süllogismid ning meetod, kuidas ühtedest faktidest teisi tuletatakse, jääb ühiskonnas ka igasugust häma palju vähemaks.
  3. Integreerida matemaatika ja füüsika õpetamine. Praegu on matemaatikaõpetajad tihti kimbatuses, kui neilt küsitakse, miks mul seda ruutvõrrandit (või vektorit või tuletist) vaja on? Kui aga kohe pärast matemaatikatundi teha füüsikatunnis praktilisi ülesandeid sellest, kuidas rakett ümber Kuu lendab, asetuvad ka vektorid oma kohale.
  4. Rohkem esimesest klassist algava reaalainete süvaõppega koole. Praegu on neid Eestis minu teada vaid üks, ennast targaks linnaks pidavas Tartus aga võib su laps olla ükskõik kui suur tehnika ja matemaatika huviline, variante pole.
  5. Matemaatika riigieksam. Selle kohustuslikkuse kaotamine ning matemaatika tundide asendamine ajaloo ja muu humanitaariaga on minu arvates maksnud Eestile tänaseks peaaegu 10% SKP-st. Kui eksamit peetakse liiga raskeks, olgu siis nt A ja B variandid erinevate raskustega, aga mitte olukord, kus terve keskkooli vältel on võimalik reaalaineid täielikult ignoreerida. See ei tähenda muuseas, et kõik peaks ülikoolis mingit seonduvat eriala edasi õppima, aga ka torumees või elektrik, kes on saanud koolis kirjanduse ajaloo asemel ekstra füüsika tunni, on arvatavasti produktiivsem. (Paneme tähele, et teatrikriitiku kohta vastupidine näide ei kehti!)
  6. Füüsika ja tehnikakallakuga koolid (või vähemalt üks kool). Mitte lihtsalt reaalkallakuga, vaid selline, kus on juba põhikoolis füüsika fakultatiivkursused.
  7. Lapsevanemates arusaam, et reaalained tagavad edu. Pärast Eesti vabanemist tekkis ühiskonnas mingil moel mõtlemine, et vaja on õppida eelkõige keeli, kõnekunsti ja avalikkussuhteid. Need kõik on vajalikud, kuid ei muuda fakti, et IT-spetsialist, keemik või aatomiinsener teenib maailmas keskmiselt oluliselt rohkem kui tõlk või PRi tegija.

Ehk siis kokkuvõttes saame järgmise pildi:

Ja kui ära teeme, oleme viie (ja mitte teistest aeglasemalt kasvava Euroopa, vaid maailma) rikkaima riigi seas nagu naksti. 

34 responses so far

Jul 15 2010

Mida parem, seda halvem

Tarkvarafirma Joostes Marss oli Hulkuvate Kasside Riiklikule Inspektsioonile tarninud juba õige mitu versiooni nende andmeregistrist. Kuigi projektides esines teinekord konarusi, harjusid kõik osalised vähehaaval üksteisega ning asjad sujusid. Andmeregistrile kasvatati järjest uusi kombitsaid, kelli ja vilesid ning ametnikud olid rahul.

Siis leidis loomakaupluste kett Krants, Kõuts & Kirjak, et aitab paberi ja pliiatsiga asjaajamisest ning kutsus Eesti erinevate tarkvarategijate esindajaid oma lahendusi pakkuma. Joostes Marsi direktor Tõnis hõõrus käsi: keegi ei tea kassidest rohkem kui meie! Ja projektijuht Joosep saadeti KK&K peakorterisse esitlust tegema.

Joosep näitas hulgaliselt ägedaid vorme, graafikuid ning raporteid ja kiitis süsteemi rikkalikke võimalusi. “Kasutajad saavad ise töövooge disainida näiteks!”, vedas ta uhkelt ekraanil kastikesi. Võit tundus käes olevat.

Ent kui tulemused välja kuulutati, osutus võitjaks hoopis AS Pärlike, keda Joostes Marss polnud enne just kuigi tõsiseks konkurendiks pidanud. Aga… aga töövood! protesteeris Joosep. Nojah, see on tore küll, nõustus KK&K IT-juht Iko. Aga meil on siin lihtsad inimesed, nad ei kasutaks niikuinii kõiki neid võimalusi. Pärlikese lahendus on palju mugavam. Ja pealegi ma kuulen, et teil on Inspektsioonis vahel stabiilsuse probleemid. Stabiilsuse probleemid muidugi olid, seda ei saanud Joosep salata, aga see oli erinevate lisavõimaluste hind ning eelmine klient oli nende eest täiesti valmis olnud väikest ohvrit tooma.

AS Pärlike töötas projekti kallal mõned aastad, elu sujus, tehti jätkuarendusi jne. Ühel päeval aga tuli Iko Pärlikesse ja teatas, et nende IT-kulud on liiga suured ja nad peavad plaani anda oma arendus pigem OÜ Ülo&Aivari kätesse, kuna nonde tunnihind on mitu korda madalam. Pärlikese boss oli endast väljas: Aga… aga meie progejad on ju palju paremad! Ülo ja Aivar on ju täitsa metsast, mida nemad ka teavad? Nojah, võib-olla, arvas Iko. Aga meil pole midagi väga keerulist niikuinii vaja, küll me hakkama saame.

Mis siis tegelikult juhtus? Ilmselt on paljud meist olnud ühes või mitmes ülalkirjeldatud rollidest ja vastavalt oma vaatenurgale kas rõõmustanud võidu üle või kirunud, kuidas klient on ikka taipamatu ega saa meie väärtusest aru.

Tegelikult on majandusteaduses kindlaks tehtud, et enamik konkureerivate ettevõtetega turge käivad läbi neli konkreetset faasi:

  1. Võistlus funktsionaalsuse baasil, kus hinnatakse seda, kelle tootel on rohkem võimalusi.
  2. Võistlus töökindluse baasil, kus kõigil on piisav funktsionaalsus on olemas, aga oluliseks saab, et süsteemile võib kindel olla.
  3. Võistlus kasutajamugavuse baasil, et toode saaks uutele kasutajatele võimalikult kerge vaevaga kättesaadavaks.
  4. Võistlus hinna põhjal. Kui kõige muu osas tundub kliendile, et vahet pole, saab ainsaks määravaks teguriks hind.

Need faasid kehtivad igal pool ekskavaatoritest mikroprotsessoriteni ning nende osas rakenduvad järgmised reeglid:

  • Igas järgmises faasis kahaneb kasumimarginaal.

Kui puhtalt funktsionaalsuse juurdetreimisega tegelevatel firmadel on marginaalid tihti 30-40% kandis, siis ainult hinnapõhises konkurentsis tuleb rahulduda paari protsendiga.

  • Ettevõtetele on ühest kategooriast teise liikumine äärmiselt raske ning see saab neile tihti saatuslikuks.

Minu Microsoftis töötatud aja keskele jäi ka Trustworthy Computingu initsiatiivi väljakuulutamine. Kui varem oli hiigelsuure ettevõtte igal tasemel ja üksuses olnud edu valemiks konkurentide löömine suurema hulga funktsionaalsusega, siis nüüd kerkis (kasvõi Linuxi jt uute tulijate survel) fookusesse turvalisus ja töökindlus ning ümber orienteerumine nõudis väga raskeid pingutusi. Siiski sai Microsoft ülesandega enamvähem mõistlikult hakkama (NB! oluline pole mitte ideaalne õnnestumine, vaid see, et olla klientide jaoks piisavalt hea) ning Linuxi poolt enam otsene häving Microsofti ei ähvarda. Uueks ohuks on saanud hoopis Google ja Apple, turg on liikunud kasutajamugavusele keskendumise faasi. Mis siin lõpuks saab, näitab aeg. Analoogselt on ka mitmed varasemad väga edukad ettevõtted areenilt kadunud.

  • Uutesse faasidesse jõutakse vähemnõudlike klientide kaudu.

Ülaltoodud loos esindas Krants, Kõuts & Kirjak vähemnõudlikku klienti, kellele oli olulisem uue süsteemi kiire omandamine ja hind. Hulkuvate Kasside Riiklik Inspektsioon nõuaks ilmselt veel mõnda aega uusi kelli ja vilesid, kuid millalgi saab ka neil isu täis ja rõhk liigub töökindlusele ning kasutajamugavusele. See on aga kuldne võimalus AS Pärlikesele, kes on harjunud nendele aspektidele rõhuma, et Joostes Marsi käest magus klient ära rabada. Samamoodi õõnestab Ülo&Aivar pidevalt Pärlikese turgu jne.

  • Mida paremat tööd me teeme, seda kiiremini jõuab kätte faasivahetus.

See on ärijuhtidele kõige valusam reegel. Kui teha kõike, mida peetakse eduka äri aluseks: kuulata oma klienti, uurida nende vajadusi, investeerida uutesse tehnoloogiatesse jne, siis tähendab see, et mõnda aega teenitakse head kasumit, kuid seda kiiremini saabub aeg, kus klient küllastub meie poolt pakutavast, tal pole enam rohkem funktsionaalsust (või töökindlust või mugavust) vaja, meie poolt välja töötatud lahenduste loomine muutub odavamaks ning altpoolt tulijal ja järgmisele faasile keskendujal tekib kuldne võimalus hoopis oma väärtust pakkuda.

Ehk siis, mida paremini me töötame, seda kiiremini endale ise auku kaevame.

4 responses so far

Jul 06 2010

Kelleks saada

Published by Targo under Haridus, Programmeerijad, Põhialused

Tööd ei karda me juhhei,
ametid on kõigil meil!

Rääkisin ühe tuttavaga teemal, mida on võimalik IT-s karjääri poolest üldse peale hakata. Enda üllatuseks leidsin, et ükski IT-d õpetav Eesti kool ei loetle just kuigi põhjalikult võimalusi ja ameteid, millega pärast nende stuudiumi lõpetamist on võimalik tegeleda, ja samuti ei kujuta ka paljud tudengid ette, mida nad täpsemalt pärast kooli tegema hakkavad. Hakkasin neid seetõttu ise kirja panema ja mõningase mõtlemise järel jõudsin järgmise tabelini (kliki, et suurendada):

Siin on ära toodud üksteisest ülesannete sisu poolest erinevad ametid, mille täiskohaga pidajaid ma ise näinud olen, ja kus tarkvaraalasest (päris tervet IT-d+arvutiteadust ei oleks jõudnud ühte tabelisse kirja panna) haridusest kasu oleks. Grupeering on mõneti meelevaldne ja mõnes situatsioonis liigitataks ameteid ehk teisiti. Siiski läheb praktiliselt igas tarkvaraprojektis peaaegu kõiki ka vaja, kuigi olenevalt projekti suurusest võib mõnele neist kuluda 0,1% ühemehefirma omaniku ajast kuni tervete meeskondadeni. Nt Microsoftis on tiim, kes päevast päeva lihtsalt jooksutab igapäevaste Office’i buildide suitsuteste. Testid käivad automaatselt, kuid sellegipoolest on vaja, et keegi kontrolliks, et kõik sujub, koordineeriks parandusi, saadaks vastavaid teavitusi jne.

Peale nende on muidugi veel musttuhat spetsiifilisemat varianti, üks huvitavamaid ametinimetusi, mida ma olen kohanud, oli Emulation Ninja Microsofti XBoxi divisjonis, aga need on üldjuhul teisendid tabelis toodud ametitest.

Kuna aga need ametid erinevad mitte ainult tehnoloogia, vaid ka sisu poolest, oleks väga hea, kui ülikoolid mõistaksid nende olemasolu ja annaksid ka spetsiifilisemaid teadmisi, kuidas ühes või teises hakkama saada. Igaüks neist vääriks eraldi loengukursust, kardetavasti utoopia, aga unistada ju võib.

Veel: siit ei järeldu, et ma pooldaksin mingit superkitsast spetsialiseerumist. Minu peamine point on, et nende tegevusalade olemasolu tuleb teadvustada ning ennast nende läbiviimiseks korralikult ette valmistada, kuid õige professionaal võiks vallata päris paljusid selle tabeli lahtritest. Inimene on ikkagi generalist, spetsialiseerumine on putukatele :)

7 responses so far

Jun 22 2010

Teenusearendus vs tootearendus 3

Published by Targo under Hea kood, Raha

Eelnevalt alustatud teema kokkuvõtteks vastuseid mõnedele küsimustele, mida mult vahel Microsofti ja muu tootearenduse kohta on küsitud.

Kui Office’i ajagraafik on sellisel määral fikseeritud (vt teema 2.osa), kuidas jääb vigade parandamisega?

Vigade puhul kehtib sama põhimõte, mis feature’de puhulgi. Vigade parandamiseks on planeeritud teatud aeg ning kui tähtaeg lähemale jõuab, tõuseb järk-järgult latt, millise tõsidusega vigu veel parandatakse ja milliseid mitte. Peamiseks põhjuseks on siin kusjuures ära hoida, et ühe tuntud vea parandamine ei tekitaks uusi tundmatuid vigu. Kui release’ini on jäänud loetud päevad, parandatakse vaid tõsiseid turvavigu ning kui mõni selline leitakse, lükkub release tõesti edasi, et täiendavaks testimiseks aega anda. Iga selline edasilükkamine on aga kulla hinnaga, sest ka kõik seonduvad ja planeeritud tegevused alates CD-de trükkimisest kuni SteveB kõneni mõnel asjakohasel üritusel lükkuvad edasi.

Vead, mida ei jõutud parandada, jäävad (vastavalt tõsidusele) kas service pack‘i või järgmisse versiooni. Kuna tarkvara poodidesse jõudmine võtab aga mõnevõrra aega, saamegi situatsiooni, kus vahel on poest ostmise ajaks juba ka esimene service pack downloaditav.

Milline võiks olla tootearenduse versioonihaldus?

Eristaks siin kõigepealt kaht äärmust:

“Rätsepatöö” tarkvara oluliseks eripäraks on, et kliendile tehakse pidevalt mingeid väikesi kohendusi ja mugandusi. Niipea kui klient midagi tahab ja selle eest on nõus maksma, tehakse ka vastav asi ära.

Teises servas on tarkvara nagu MS Windows, mis elab oma elu, ja kui sa pole just Citigroup või US Department of Defence, on sul üsna vähe võimalust seda kuidagi suunata.

Samas on hulk tarkvarasid, mis on alguse saanud rätsepatööst, aga sealt edasi on neid veel (esialgu) käputäiele klientidele müüdud. Kuna arendusmeeskond on harjunud kliendi erisoovidele orienteeruma, tehakse ka siin mõnda aega samamoodi edasi. Tulemuseks on, et lisaks ilusale ja elegantsele põhifunktsionaalsusele kasvab tootele veel igasuguseid erikujulisi kombitsaid ja konfiguratsioone, mida läheb vaja vaid ühel või teisel meie klientidest. Ja kui me igaühele natuke erineva asja paigaldame, on versioonihalduse seisukohalt tulemuseks tohutu peavalu, sest selles situatsioonis muutub kasvõi regressioonitestimine kiiresti võimatuks.

Minu isiklik arvamus on, et sellist koodibaasi fragmenteerumist tuleks iga hinna eest vältida ja erinevad kliendid peavad saama võimalikult standardseid ja ühetaolisi tükke, nii on pikas perspektiivis ka nende enda elu lihtsam ja vigu vähem. See lähenemine aitab vältida ka “dll hell’i”. Tootearenduse puhul on meil igasuguseid versioone niigi palju (vanad versioonid, viimased versioonid, uued beetad jne), nii et peame oma konfiguratsiooni võimalikult lihtsana hoidma.

Suurte toodete näitena võib siin jälle tuua MS Office’i, mis koosneb praeguseks juba kümnetest erinevatest üksiktoodetest, aga selle asemel, et lasta kasutajail sealt suvalisi kombinatsioone valida, müüb Microsoft ikkagi ainult näputäit standardkonfiguratsioone. Sellegipoolest on Office’i arenduses terve tiim, mis tegeleb täiskohaga ainult versioonide ning build scriptide haldamisega.

Kui palju meil dokumentatsiooni vaja läheb?

Tootearenduse puhul tuletame meelde esimeses osas sissetoodud suurust ϰ, mis muuhulgas mõjutab otseselt ka aega, mis programmeerijatel tuleb kulutada toote hilisemalt toetamisele. Seetõttu on ka dokumentatsioon palju olulisem kui teenusena loodud tarkvara puhul, et toetusprotsess efektiivsem oleks. Konkreetselt Microsofti standardiks on see, et koodile tekib neli erinevat dokumentatsiooni: spetsifikatsioon, arendaja loodud tehniline disain, testija kirjutatud testplaan ja technical writeri tehtud kasutajajuhend.

Selle üle, kas viimase jaoks peaks eraldi inimene olema, võib muidugi vaielda. Me kõik oleme lugenud dokumentatsioone, mis on kirjutatud inimese poolt, kellel pole ilmselgelt olnud piisavalt võimalust asjast aru saada, vt kasvõi LRF-1914 näidet Joeli artiklis.

No responses yet

May 20 2010

Teenusearendus vs tootearendus 2

Published by Targo under Raha, SharePoint

Jätkuks eelmisele samateemalisele sissekandele.

Tootearenduse ajagraafikutest

Tootearenduse puhul on meil tüüpiliselt võimalik oma ajagraafikutes paindlikumad olla ja rohkem ise kuupäevi seada. See aga loob suure kiusatuse võtta endale suhtumine, et asi on valmis siis, kui ta on valmis.

Siin tekib meil kaks probleemi:

Esiteks projektikolmnurga põhimõte, mille kohaselt erinevad uued võimalused võtavad meilt ka ekstra aega ja raha (või kui me katsume aja ja raha fikseerituna hoida, siis kahandavad kvaliteeti).

Teiseks ei kasva aja ja rahakulu võimaluste hulga kasvades mitte lineaarselt, vaid kiiremini, kuna projekti keerukus suureneb ja projekti otseselt mitte edasiviivatele tegevustele kulub rohkem aega.

Konkreetselt Microsofti hiljutisest ajaloost leiame kaks näidet, mis selle sündroomi erinevaid aspekte illustreerivad:

Negatiivne näide: Windows Vista (arendus kestis mai 2001-november 2006). Longhorn/Vista projekt oli algul mõeldud suhteliselt väikese sammuna pärast Windows XP-d. Siis aga hakkas toimuma “projektiosmoos”, igasugused lisaideed ja võimalused “imendusid” järjest projektile juurde. Vt näiteid selle tagajärjel kokku pandud fantasmagooriast Paul Thurrotti väga illustratiivsest ülevaatest. WinFS, Avalon/WinPF, Indigo/WinCF ja Monad/PowerShell on vaid üksikud markantsemad näited, mis oleksid pidanud Vistasse naha ja karvadega integreeritud olema.

Pauli tsiteerides:

In late August 2005, Microsoft was still developing Windows Vista as it did previous Windows versions: New features were being added on the fly, and would continue to be added right up through the release candidate stages.

Uh-oh. Lõppkokkuvõte on meile kõigile teada. Vista sai valmis oluliselt hiljem ja oluliselt väiksemate võimalustega, kui oli alguses planeeritud (ja mitu aastat enne valmimist ka inimestele demotud!), rääkimata ulgumisest ja hammaste kiristamisest, mida mõned muudatused kasutajates indutseerisid.

Positiivne näide: Microsoft Office. Office 2010 RTM versiooninumber on 14.0.4760.1000. Kuigi Office’i versiooninumbritega on mõningast trikitamist sooritatud, pole maailmas just palju tarkvarapakette, mis sellise arvuni oleks jõudnud, ning Office’i väljalasked on juba üle kahe dekaadi küllaltki kellavärgina toiminud.

Office’i puhul fikseeritakse esimese asjana valmissaamise kuupäev. Näiteks Office XP puhul öeldi üle kahe aasta ette ära, et ship date on 3/2/1 (2.märts 2001 USA kuupäevastiili järgi) ja nii ka juhtus (Wikipedia artikkel näitab poodidesse jõudmise ehk launchi kuupäeva). Sarnaselt on fikseeritud ka beetade jt oluliste sündmuste ajad. Alati muidugi päris õigeks ajaks ei saa, aga üldiselt on hilinemised mõõdetavad mõnede kuudega. Kui mõni feature pole vastavaks ajaks piisavalt valmis, jäetakse ta lihtsalt sellest release’ist välja ja järgmine kord proovitakse uuesti.

Kui ma SharePointi Portal Serveri tiimiga ühinesin, oli just alanud kõige esimese SharePointi versiooni loomine (isegi see polnud veel teada, et seda just SharePointiks hakatakse hüüdma). Mitmesugused inimesed (mina sealhulgas) fantaseerisid kokku kõikvõimalikke võimalusi, mis tootes peaks kindlasti olemas olema. Meie õnneks lõikas toote juhtkond enamiku sellest värgist halastamatult plaanist välja, keskendudes vaid võimalustele, mille osas olid olemas kõige kindlamad ja konkreetsemad potentsiaalsete klientide soovid.  Tol hetkel paljud (mina sealhulgas) seda küll ei adunud ning vandusid tulist kurja, et keegi ei hakka sihukest toodet iialgi ostma. Lohutuseks oli vähemalt asjaolu, et tuleb ka teine versioon, kuhu need featured kindlasti sisse saavad.

SPS 2001 sai siiski valmis ning mõned inimesed isegi ostsid seda.

SPS ver 2 puhul sooritati sama harjutus, suur hulk asju jäid plaanist välja, aga inimesed ostsid ka SharePoint Portal Server 2003 litsentse ja isegi oluliselt suuremal hulgal kui 2001 omi. Sama asi kordus ka 2007 ja 2010 puhul.

Huvitav on siin aga asjaolu, et mõned featured, mis juba esimesest versioonist välja jäid, on sealt endiselt väljas! Ja mitte midagi hirmsat pole sellest juhtunud, vastupidi, SharePoint on Microsofti ajaloos kõige kiiremini kasvanud käibega (kuude arv nullist miljardini) toode.

Ehk siis jutu moraal: kui me arvame, et me teame täpselt, mis meie tootes peab olemas olema, siis me suure tõenäosusega eksime – ajagraafikute õhkulaskmisest ja feature creep‘ist oluliselt parem variant on põhiasjad korda saada ning seejärel klientide tagasisidet kuulata, mis neile järgmiseks kõige-kõige olulisem on.

Järgneb…

PS Minu Wordpressi ReCaptcha plugin muutus hiljuti üleagressiivseks ning liigitas kõik viimase paari kuu kommentaarid spämmikasti, mida ma pahaaimamatult tühjendanud olen. Mõned kommentaarid läksid nüüd ilmselt kaduma – vabandan.

No responses yet

May 14 2010

Tarkvaraprojekti meeskonnad

2010 kevade projektijuhtimise kursuse kuues loeng. Originaalslaidid siin. Audiosalvestus.

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

Slide1

2 responses so far

May 12 2010

Teenusearendus vs tootearendus

Published by Targo under Hea kood, Raha

mass_production

Olen praeguseks oma professionaalses elus sattunud osalema mitmesugustes projektides alates super-spetsiifilistest ühele kliendile optimiseeritud süsteemidest kuni super-üldistatud masstoodeteni.

Mis neil tegelikult vahet on?

Tarkvaraprojekti iseloomustavad kõige põhilisemad põhiparameetrid on:

  • Kasutajate arv K
  • Programmeerijate arv P

Toon lihtsuse mõttes sisse tähise ϰ = K/P (kreeka täht KAPA = Kasutajate Arv jagatud Programmeerijate Arvuga)

Finantsiliselt kehtib üldjuhul reegel, et suur ϰ => suur $, vaadake kasvõi Bill Gatesi. Sellepärast ongi peaaegu iga teenusearendaja kinnisideeks teha oma rätsepatööst “toode” ning liikuda tagumiktundide müügilt tiražeerimisele.

Samas tähendab suurem ϰ ka suuremat vigade parandamise kulu, iga täiendus või parandus tuleb viia palju suurema hulga inimesteni, kellel see omakorda mingeid probleeme või destabiliseerimist võib esile kutsuda.

Seega, mida suurem ϰ, seda kõrgem peab olema toote kvaliteet:

  • Läheb vaja paremaid programmeerijaid ja analüütikuid

Nt Microsofti tootearendusdivisjonid võtavad tööle ehk 2% inimestest, kes sinna oma CV-sid saadavad. Sellepärast on neil ka vaja piisavalt häid inimesi nagu tolmuimejaga mujalt maailmast kokku tõmmata. Vt ka staaride teemat.

  • Läheb vaja rohkem testimist

teenusearendus_rollid

ms_tootearendus_rollid

Diagrammid illustreerivad arendustsükli jooksul kulutatavaid inimtunde – kui projekt on “valmis”, lisandub sellele muidugi ka väline testimine.

Teema jätkub edaspidi…

No responses yet

« Prev - Next »