Monday, June 17, 2019

Näköalapaikkani tietotekniikan kehitykseen - työ- ja teknologiahistoriani



Näköalapaikkani - 50 v tietotekniikan kehitystä

Olen elänyt käytännössä koko Suomen tietokniikan historian


1971
Kirjoitin ylioppilaaksi ja kesällä minut hyväksyttiin opiskelemaan Turun Yliopiston matemaattiisluonontieteelliseen tiedekuntaan matematiikka pääaineena.
1972
Syksyllä aloitin tietojenkäsittelyn sivuaineopinnot approbatur kurssilla. Opinnot aloitettiin Fortran ohjelmointikielestä. Mielestäni tämä oli sekä helppoa että jännittävää. Ohjelmat kirjoitettiin reikäkorteille. Ensimmäisen vuoden opiskelija eivät päässeet työskentelemään tietokoneella, joka oli silloin lähes pyhä kapistus omassa yksinäisyydessään ja vain laitoksen henkilökunnalla oli pääsy konehuoneeseen.
IBM 1130 konsoli
Meille oli kerran näytetty kone, joka oli IBM 1130. Laitteessa oli kortinlukija/reijittäjä reikänauha lukija/kirjoitin  ja kovalevy-yksikkö. Opiskelijoiden käytössä siis oli reikäkortin
kirjoittimia. Tällaisella laitteella minäkin olen kirjoittanut sekä 1. vuoden Fortran työt että toisen vuoden ohjelmonin harjoitustyöt, jotka tehtiin Cobolilla.
IBM 1130 oli yksinkertainen eräajo kone. Opiskelijat voivat tehdä kaksi käännöstä päivässä ja jos käännös oli virheetön niin samalla yhden testiajon. Tämän päivän ohjelmoinnin opiskelija tai ammattilainen eivät voi edes kuvitella työskentelevänsä tähän tahtiin. Niin hidasta ja työlästä se oli.

1975
Saimme yliopistoon ensimmäisen “todellisen” tietokoneen Digital DEC 10. Tässä laiteessa oli osituskäyttöjärjestelmä TOPS-10 System (Timesharing / Total OPerating System) Tämä oli Digital Equipment Corporation (DEC) yhtiön käyttöjärjetelmä sekä PDP-10 ja  DEC-10 keskuskoneenr joka oli julkaistu 1967.

DEC 10 järjestelmä

Tässä yhteydessä siirryimme aimo askeleen kohti nykyaikaa, sillä käyttämämme reikäkorttikoneet korvattiin samalla aidoilla päätelaitteilla: Teletype.
Tällä laitteella siis käyttäjä avasi istunnon keskuskoneelle ja sai käyttöönsä virtuaalisen tietokoneen. Päätteessä oli näppäimistö yläpuolella paperirulla, jolla kirjoitettu teksti tulostui. Jos kirjoitti virheellisiä merkkejä oli näppäimistössä backspace näppäin, jolla kirjoitettua teksti voi peruuttaa. Jos siis kirjoitti: kirotusvirhe ja tässä vaiheessa havaitsi asian niin korjausen jälkeen teksti näytti tältä: kirotusvirhe\ehrivsuto\/joitusvirhe. Olemassa olevan tekstitiedoston voi tulostaa pääteen paperille.Pääteen sivussa oli reikänauhan lukija/kirjotin, jolla tulostus tai syöttö voitiin tehdä reikänauhalla.
Tässä vaiheessa ohjelmointikieli oli vaihtunut Pascaliin, joka oli ensimmäinen ohjelmoitirakenteita tukeva kieli. Joskus 1975 - 1976 Teletype päätteet vaihtuivat näyttöpäätteisiin, joiden avulla työ helpottui huomattavasti.

1976 - 77
Sain ensimmäisen tietotekniikan osa-aikaisen työpaikan Cobol-ohjelmoijana LSO:lla (Lounais Suomen Osuusteurastamo). Toimitilat olivat vajaan puolen kilometrin päässä yliopistolta, joten työn ja opiskelun sovittaminen yhteen sujui joustavasti. Itse ohjelmistohanke oli painajaismainen katastrofi. Syynä tähän oli lähinnä kaikkien työntekijöiden osaamattomuus.

1979
Olin saanut 1978 lopulla ensimmäisen täysipäiväisen työpaikan ohjelmoijana Helsingistä Yleisradiosta. Kun olimme vihdoin löytäneet asunnon pääkaupunkiseudulta muutimme vaimoni kanssa Keravalle ja aloitin työt Ylen Kesäkadun toimistossa 1. helmikuuta 1979. Tehtäväni oli sekä ylläpitää että saattaa loppuun käytössä oleva keskeneräinen palkanlaskentajärjestelmä. Samalla otin teknologiassa taka-askeleen. sillä Ylen palkanlaskentaa ajettiin PTK:n (Pääkaupungin TietoKeskus) koneella, joka oli IBM 360 keskukone. Tämä oli taas sitä eräajoon rakennettua IBM:n koneperhettä.

    IBM 360 konsoli
Laite oli isokokoinen ja tietoja talletetiin ka käsiteltiin isoilla mg-nauhoilla. Riittävän kokoisia kovalevyjä ei vielä ollut tietokannoista puhumattakaan. Kymmenellä ohjelmoijalla oli käytössään reikäkorttikoneita ja kaksi pääteettä.
          

IBM 3270 pääte päätteen näyttö

1980-luvun alku APL-aika
1980 suoritin tutkintoni loppuun ja valmistuin maisteriksi pääaineena tietojenkäsittely. Samoihin aikoihin opettelin APL-kielen, jota Ylessä käytettiin vaalitulos palvelun toteutukseen. 1982 presidentinvaalien tulospalveluun ohjelmoin APL:llä ensimmäisen vaalien tulos grafiikan. APL on merkillinen matriisialgebraan perustuva ohjelmointikieli, joka käyttää kielelle suunniteltua merkistöä.    















APL-ohjelmaa studioiden varausjärjestelmästä
Kielessä ei ole perinteistä silmukkarakennetta vaan tämä on korvattu matriisi operaatioilla. Tästä syys kieli oli vaikea oppi suurimmalle osalle ohjelmointitaitoisia.
Tämän tiimoilta osallistuin ensimmäiseen IT-konferenssi, joka oli APL-konferenssi San Franciscossa 1981.

1982 siirryin Yletä PTK:hon APL-asiantuntijaksi.

1984 Järjestelmäasiantuntijaksi HP:lle
Sain tarpeekseni IBM:n keskuskoneiden vanhanaikaisesta sotkuisesta ja kankeasta käyttöympäristöstä. Tiesin jo yliopisto DEC-ajoilta, että aito osituskäyttöjärjestelmä on paljon vakaampi ja tehokkaan yksinkertainen. Niinpä tein täyskäännöksen ja siirryin IBM-ympäristöistä Hewlett-Packardin HP3000 yleistietokoneiden järjestelmäasiantuntijaksi. Ilmapiiri HP:llä oli uudenaikainen ja hurmaava. Vaikka tiesin käyttöjärjestelmiin eron, olin silti todella yllättynyt HP3000:n helppokäyttöisyydestä. Opin paljon uusia asioita ja oli teknisen kehityksen kärkijoukossa. Tärkein ja kauaskantoinen oppi oli aito osituskäyttöjärjestelä. HP:n oli  kirjoitettu Unixin kaltainen MPE ja käyttöjärjestelmä oli suoraviivainen yksinkertainen ja tehokas. Tässä ympäristössä törmäsin ensimmäistä kertaa ilmiön, jossa oikeat ja yksinkertaiset rakenteet saavat aikaan 100 kertaa tehokkamman ja tuottavamman ympäristön. Havaitsin saman ilmiön toisaalla n. 10 myöhemmin, mutta siitä jatkossa

   
         HP3000 keskusyksikkö       Nauha-asema HP-150
Aluksi toimin sekä asiaksavastuullisen järejstelmäasiantuntijan ja HP3000 järjestelmien on-line puhelintuessa. Jälkimmäinen oli akuuttien HP3000 järjestelmien puhelimella tapahtuvaa ongelmanratkaisua. Aluksi käytössämme olivat pääteet, mutta pian ne korvattiin HP-150 PC:llä, jotka siis toimivat myös päätteinä.

Viimeisen HP vuoden tein pelkästään asiakas koulutusta. Koulutin HP3000 asiakkaiden henkilökuntaa lähes kaikessa järjestelmään liittyvässä: ohjelmoinnissa, tietokantojen suunnittelussa ja toteutuksessa, järjestelmä hallinnassa ja operoinnissa.
Koin kuitenkin olevani enemmä ohjelmisto kuin laitteistoihminen ja minulla paloi halu päästä takaisin ohjelmistokehitykseen.

1988 Finnair
Siirryin HP.ltä Finnairille. Finnairilla oli Tuotanosaan Videotex-järjestelmä palvelemassa pieniä matkatoimistoja. Järjestelmä pyöri HP1000 laitteella ja se oltiin korvaamassa uudel risc-arkkitehtuuriin perustuvalla HP9000 järjestelmällä, jossa käyttöjärjestelmänä on HP-UX. Pian tehtäväni vaihtui työmenetelmiä ja työvälinetä tukevaan kehitysryhmään. Finnair käytti sekä IBM keskuslaitteita että Univac keskuslaitteita. Ohjelmistokehitys ja toimistooautomaatio toteutettiin IBM PC:illä.
Niipä minunkin työvälineeksi muodostui IBM AT ja Windows 3.11 käyttöjärjestelmä, joka oli ensimmäinen kohtuulisen stabiili Windows ja joka siivitti lopulta Windowsit huimaan nousuun.

    

Vieläkö muistatte nämä? Windows 3.11 IBM AT ja PC:n työpöytänäyttö.

1989 Elämäni suuri käänne. Olioiden aika alkaa.
Osallistuin asiasta täysin tietämättömänä Tukholmassa lokakuussa 1989 Peter Coad:n Olio-analyysin kaksipäiväiseen koulutukseen. Tämä tapahtuma muutti koko lopun työurani. Ymmärsin välittömästi, että tässä oli löydetty jotakin erittäin merkittävää, joka muuttaisi tietojärjestelmien suunnittelua ja toteutusta

Olin hyvin perehtynyt relaatiokantoihin ja relaatiopohjaiseen tietojen mallinnukseen.Tämä yhteisö oli jo pidempään pohtinut asiaan liittyvää ikävää rakenteellista ongelmaan. Tietojen rakenne ja riippuvuudet oli hyvin mallinnettavissa relaatioteorian avulla, mutta tähän liittyvä toiminta - siis ohjelmisto - ei ollut mitenkään rakenteellisesti sidoksissa relaatiomalliin. Kaikki esitty ratkaisut tuntuivat sekä jäykiltä että monimutkaisilta.

Kaliforniassa kopiokone valmistaja Xeroxilla oli ollut jo pitkään suuri innovaatiohanke, jonka nimi tuli laitoksen paikkakunta nimestä: ParcPlace. Täällä Allan Kayn johtama ryhmä kehitti olio-ohjelmoinnin ja  paikallisverkon. Olio-ohjelmointikieli oli Smalltalk ja tätä varten kehitettiin myös hiiri, jota suuri osa meistä käyttää edelleen.

Tämän oliokielen pohjalta  kehitettiin myös olioajatteluun pohjaava olioanalyysi. Tämän ensimmäisiä edustajia oli Peter Coad, jonka yksinkertainen, selkeä  ja suoraviivainen lähestymistapa teki siitä menestyjän.

Minulle oli alusta asti selvää, että kun olion toiminta voidaan helposti hajauttaa yksityisille olioille ja kokonaisuus syntyy näiden vuorovaikutuksesta. Näin kokonaisuuden monimutkaisuus romahtaa.

1994 Finnairin oliokehittäminen käynnistyy  
Kesäkuussa 1992 osallistun Object Expo konferenssiin Lontoossa ja tämän jälkeen hankin Digitalkin Smalltalk V:n PC:lle. Tämä ohjelmisto osoittautui täysin keskeneräiseksi ja toimimattomaksi. Tämä selvästi lannisti intoani.

Onnistuimme minä ja Jyrki Niekkamaa vakuutamaan Finnairn tietohallintojohdon hankkimaan ainoa kunnollisen Smaltalkin: ParcPlacen VisualWorksin. Timo Salo antoi meille muutaman päivän koulutuksen, jonka jälkeen edessä oli kivinen taival erehdyksiä ja itseopiskelua.
  
   ParcPlacen Smalltalk     GemStone oliotietokanta

Finnairin ensimmäinen todellinen oliojärjestelmä
Hitaan alun jälkeen saimme tehtäväksi toteuttaa uudietun Finnairin kotimaan myynin järjestelmä tammikuussa 1995. Edellisenä syksynä olin laatinut liiketoiminnan abstraktin oliomallin Finnarin kotimaan myyntitoiminnasta. Aloimme toteuttaa tietojärjestelmää, joka sai nimekseen Finnair SalesPlus. Aluksi sovellus toteutettiin kotimaan uusien asiakasmyyjien tueksi. Sovellus oli paikallinen Smalltalk sovellus ja hankimme tätä tarkoitusta varten 32 uutta Dell-kannettavaa tämän myyntihenkilöstön henkilökohtaiseen käyttöön. Sovellus muodostui menestykseksi. Seuraavassa vaiheessa sovelluksen takana ollut IBM DB2-tietokanta vaihdettiin upouuteen GemStone oliotietokantaan, joka oli hankittu juuri tätä varten. Tämäkin laajennus osoittautui erittäin hyväksi ja toimintavarmaksi.

Tämä ajanjakso vuodesta 1995 vuoteen 1998, jolloin erosin Finnairin palveluksesta, oli koko työurani tuottavin ja innostavin jakso, jolloin saatiin paljon aikaan.

Maailma oli nopeassa muutokesessa ja sovelluskehitykseessä tapahtui yllättävä ja nopea muuttos. Smalltalk kielen korvasi lyhyessä ajassa uusi tuore ohjelmointikieli Java, jonka kehitys oli ainakin viisi vuotta Smalltalkia jäljessä. Koko sovelluskehityksen ansaintalogiissa tapahtui vääjämätön ja surullinen muutos. Tähän asti ohjelmistokehityksen työkalut olivat olleet kalliita, kunnes uusi Sun Microsystem kehitti oman oliokielen Javan ja saadakseen sen leviämään, Java-tulkkia alettiin jaella ilmaisten selainohjelmistojen sisällä ilmaisena.
Tämä ennakoi erittäin suurta ja traagista muutosta sovelluskehitysen työnjaossa ja ansaintalogiikassa. Tämän jälkeen pikku hiljaa kaikkien ohjelmistokehitysen ohjelmistojen jakelu muuttui. Kaikista piti valmistaa ensin ilmaisversio ja sen jälkeen maksullinen pro versio maksaville ammattilaisille. Tämä nosti työvälinekehityksen kynnystä ja hyvistä työvälineistä alkoi olla krooninen pula, mutta huonoja keskeneräisiä riitti vaivaksi saakka. Olen nyt ollut kymmenisen vuotta pois ohjelmistokehityksestä, mutta epäilen tämän vieläkään muuttuneen. Tässä tilanteessa isot vakavaraiset harvat yritykset voivat hallita työkalumarkkinoita, kun kilpailua ei ole. Tämä tukahduttaa pahasti kehitystä.

1998  - 2002 Aware ja Entra
Olimme siirtyneet Smalltalkista Javaan ja sovelluskehitys jatkui. Oli kuitenkin ilmeistä, että kolmen hengen tiimimme alkoi rakoilla, kun nuoremman ja osaavat olio-ohjelmoijat halusivat rahastaa uuden osaamisensa. Pian huomasin olevani ainoa olikehitystiimissä. SIlloin katson, että Finnairin erittäin jäykkä organisaatio ja työyhteisöni katoaminen veivät minulta menestymisen eväät ja päätin myös lähteä Finnairilta. Tämä ei kuitenkaan ollut minulla aivan helppoa, kun oliokehittämistä maassa oli kovin vähän. Lopulta 1988 siirryin vastaperustettuun “tulevaisuuden” sovellukehitysyritykseen nimeltä Aware. Firman perustajalla oli kyllä aivan oikea visio, mutta resurssit, joilla tämä piti tehdä olivat liian pienet. Niinpä tämä alku ajautui umpikujaan ja lähdin yrityksestä 2002 ja siirryin Finnair-tiimini jatkoksi ruotasalaisen Entran suomalaiseen tytäryhtiöön, joka teki oliojärjetelmiä. Olin jo Awaressa opettanut olioanalyysi ja tehnytyritysten abstrakteja oliomalleja ja nämä tehtävät jatkuivat Entrassa Java-ohjelmoinin rinnalla. Entran aikana teimme uutamia hienoja oliosovelluksia.

2002 - 2005 Acccenture
Siirryin 2002 Accentureen. Tehtäväni on vähän epämääräinen ja sitä voisi luonnehtia nimikkeellä seniorikehittäjä. Openit oliomallinnusta ja Javaa, jota olion opettanut jo Awaren ajoista lähtien. Yritin muuttaa Accenturen maailmalaajuista kehittämiskultuuria oliosuuntaan siinä kuitenkaan onnistumatta. Acceture oli vielä tiukemmin ameriikalaisopein ohjattu menestysfirma, mutta sen sisällä näin prosesseissa tramaattia puutteita, jotka eivät jääneet seurauksitta.Accenture laajensi toimintaasa Latviaan, jotta työn hintaa voitiin alentaa. Tässä vaiheessa toimin oliosuunnittelun ja Javan opettajana ja samalla rekrytoijana, kun henkilökunta piti hankkia tyhjästä. Työ tuotti hyvää tulosta.

2005 - 2011 Omaa yritystä ja Tieto OYJ
Kun työtilanteeni heikkeni Accenturella, päätin kokeilla oliokonsultointia oman yrityksen nimissä. Aika oli kuitenkin muuttumassa, kun isot tietokanta jätit olivat ryhtyneet vastahyökkäykseen oliokehittämistä vastaa. Syynä oli aiheellinen pelko omien markkinoiden romahtamisesta. Nämä esittelivät “uuden” hieno kehittämismetodin nelmtä SOA (ServiceOriented Architecture) , joka esitti, että mallia ja rakenteita ei tarvita vaan ainoastaan rajapinnat riittävät. Tämä oli täydellinen huiputus ja käytännössä johti menetelmien ja työtapojen taantumaan ja rappioon.
Joskus 1990-luvun lopulla Grady Booch ja minä ajattelimme, että oliokonferensseja ei enää 2000-luvulla järjestetä, sillä tämä tekeminen on siirtynyt valtavirtaan. EI ole järjestetty, mutta tekeminen on taantunut pahasti. Yhtenä suurena syynä, on se, että suuret globaalit ohjelmistotalot eivät ole kiinnostuneet asiakkaidensa järjestelmien laadusta vaan omasta liikevaihdosta, vaikutusvallasta ja henkilöstömäärästään.

On todella surullista kun pääkaupunkiseudulla otetaan vielä 2020-luvun vaihteen tienoilla käyttöön mammuttimaista erittäin vanhaa ja kallista terveydenhuollon tietojärjestelmään, joka tuskin parantaa tilannetta ja palvelee todella huonosti.

Oma konsultointi ja olioparadigma ei todellakaan kiinnostanut, joten hakeuduin vielä Tieto OYJ:n palvelukseen, josta sain potkut 60-vuotislahjaksi syksyllä 2011.

Vuodesta 2013 lähtien olen vapaaehtoistyönä opastanut ikääntyneitä tietotekniikan käyttäjiksi. Tänä aikana olen opastanut noin 100:aa henkilö / vuosi.

Vuodesta 2009 vuoteen 2012 olen kirjoittanut englanninkielistä blogia abstraktista liiketoiminnan olimallintamisesta ja oliokehittämisestä. Blogilla on ollut yli 50 000 lukukertaa ja suurimmat lukijamäärä ovat tulleet Yhdysvalloista, Intiasta ja Kanadasta.


No comments:

Post a Comment