”Ohjelmistosuunnittelun opetus on liikkuva maali ja siksi on tärkeää käydä jatkuvaa vuoropuhelua ohjelmistoja käyttävien yritysten ja heidän henkilöstönsä kanssa. Oppilailta ja oppilaita työllistävistä yrityksistä saamme jatkuvaa palautetta niin sisällöistä kuin opetuksestakin, mutta muu tieto ohjelmistosuunnittelun opetuksen kehittämiseksi saadaan keskusteluissa ohjelmistojen loppukäyttäjien kanssa”, sanoo 20 vuotta ohjelmistosuunnittelua opettanut kauppatieteilijä, KTM Juuso Vuorinen Ideal Learning Oy:stä.
Kirjanpitotoimisto Kalevan toimitusjohtaja KTK, KLT Teemu Suoniemi on sparraillut toimintaamme jo useamman vuoden ajan ja joka vuosi keskusteluissa on saatu uusia näkökulmia ohjelmistokehityksen opetukseen.
”Opetuksen näkökulmasta emme ole niinkään kiinnostuneita tietyn sovelluksen tietyistä ominaisuuksista, vaan niistä yleisemmistä aiheista, joita keskusteluissa ohjelmistojen käyttäjien keskuudessa tulee esiin. Käyttäjät kyllä nostavat keskusteluun omasta mielestään tärkeimmät seikat, jotka voimme sitten ripustaa teoreettisempaan viitekehykseen”, toteaa Vuorinen.
Näistä ”nostoista” hyvänä esimerkkinä on viime aikoina keskustelu eräiden taloushallinto-ohjelmistojen kirjanpidon pääkirjoista, joilla Suoniemen mukaan olisi etenkin tilintarkastajan näkökulmasta hyvä olla myös sellainen pääkirjaraportti, josta näkisi kuukausittaiset alkusaldot sekä loppusaldot kuukausikohtaisesti.
”Tämä on mielenkiintoinen vaatimus ohjelmistolle ja soveltuu erinomaisesti pohdinnan kohteeksi”, toteaa Vuorinen. ”Tyypillisessä kirjanpidon käsitemallissa kirjanpidon viennit liitetään osaksi laajempaa kokonaisuutta, jota usein kutsutaan vaikkapa tositteeksi tai transaktioksi. Viennit eivät kuitenkaan sisällä päivämäärätietoa, vaan tieto päivämäärästä kuuluu yleensä tositteen tietoihin. Tämä johtaa siihen, että sellaisen raportin laatiminen, jossa raportti perustuu tilinumeroihin, tilien vientien summan laskeminen on kyllä helppoa, mutta summan laskeminen tietyllä aikavälillä aika paljon haastavampaa ja ainakin paljon hitaampaa, koska päivämäärätietoa pitää hakea mutkan kautta.”, jatkaa Vuorinen.
”Tämä otetaan suoraan oppimateriaaliimme eräänä case-esimerkkinä, sillä onhan tämä aivan erinomainen esimerkki, joka liittyy todella moneen asiaan. Tästä saamme ensi kurssille erinomaisen opettavaisen keskustelun. Oppiminen on parhaimmillaan silloin, kun alamme oppilaiden kanssa pohtimaan erilaisia vaihtoehtoja ja hoksaamme, että relaatiomallin näkökulmasta optimiratkaisu ei olekaan ehkä aina paras mahdollinen, vaikka se teknisesti olisikin paras”, lisää Juuso.
”Tämä on tyypillinen esimerkki siitä, miten tiedon mallinnus ja erilaiset pysyvyysratkaisut vaikuttavat suoraan loppukäyttäjän kokemukseen”, toteaa Vuorinen ja jatkaa: ”Käytettävyyteen liittyviä seikkoja opettaessa olen painottanut vuodesta toiseen, että ohjelmiston suunnittelu on kokonaisuus. Viime vuosina erilaisiin teknologioihin painottuva rekrytointi-ilmoittelu antaa mielikuvan alasta, jolla erikoistutaan yhä kapeampiin asiakokonaisuuksiin.”
”Käyttöliittymäkehittäjä ei välttämättä tiedä, mitä taustajärjestelmältä voi kohtuudella odottaa ja toisaalta pelkkiä taustajärjestelmiä laatinut ei oikein aina tiedä, mitä käyttöliittymälle on missäkin tilanteessa järkevää tarjota ja miten näitä toisinaan ristiriitaisiakin odotuksia puolin ja toisin hallitaan hyvän kompromissin nimissä ja vielä niin, että soppa on ylläpidettävissä järkevin kustannuksin”, sanoo Vuorinen. ”Full stack -kehityksessä törmäämme ilmiöön jatkuvasti ja toisaalta juuri se tekee full stack -kehityksestä niin mielenkiintoisen ongelman”, nauraa Juuso.
”Niin, näitä asioita pitää todellakin aina tarkastella myös talouden näkökulmasta”, sanoo Suoniemi tilinpäätösosaajan syvällä rintaäänellä. ”Yrityksen on sovellettava ohjelmistoja omiin prosesseihinsa ja kaiken pitää tapahtua kannattavasti. On hyvä, että sovelluskehityksen opetuksessa otetaan lähtökohtaisesti huomioon myös järjestelmästä asiakkaalle aiheutuvat kustannukset. Ei voi olla niin, että kehitellään kaikenlaisia hienoja juttuja ajattelematta esimerkiksi sitä, mitä ohjelmiston käyttö asiakkaalle tulee maksamaan seuraavien 10 vuoden aikana”, Suoniemi jatkaa.
”Tämä on hyvä pointti”, jatkaa Juuso. ”Nämä kommentit laittavat meidät kaikki oppimistilanteissa miettimään vaikkapa teknologiavalintoja. On käytettävä työkaluja, joilla on tulevaisuutta, mutta on myös rohkeasti tartuttava parhaiten vaatimuksiin soveltuviin työkaluihin. On hyvä pohtia kuinka monta eksoottista kirjastoa otetaan käyttöön vai rajataanko käytettävien kirjastojen lukumäärää tulevien ylläpitokulujen suitsimiseksi heti alkuvaiheessa? Kuinka pitkään mitäkin kirjastoa tuetaan ja kuinka helposti ne ovat korvattavissa toisilla? Kun opetuksessa kuitenkin käytetään lopputuotteissakin näkyviä kirjastoja, kuten React ja Redux, niin on hyvä kriittisesti jo opiskeluvaiheessa arvioida, onko näille tietyissä tilanteissa hyviä vaihtoehtoja, tietenkin pohtien tätä kaikkea kokonaisvaatimusten valossa”, lisää Juuso.
”On hyvä, että opetuksen ammattilaiset tulevat juttelemaan ATK-asioista suoraan loppukäyttäjien kanssa. Jos palautetta ja sparrailua on pelkästään ohjelmistotoimittajien ja järjestelmätoimittajien kanssa, voivat toimittajien omien järjestelmien ominaisuudet painottua analyysissä liian kanssa ja se on omiaan johtamaan siihen, että kriittinen ja suunnittelua painottava näkökulma jää vähemmälle. Kyse on kuitenkin vaatimuksista, siitä, mitä ohjelmistosta halutaan irti, ei niinkään siitä, missä pilvipalvelussa se milloinkin pyörii. Lisäksi on otettava huomioon ohjelmiston ylläpito ja ylipäänse tulevaisuus”, painottaa Suoniemi.
”Tähän on vaikea lisätä mitään, mutta sen voi sanoa, että tiedon mallinnus ja järjestelmän perusominaisuuksien toteuttaminen ovat perusjuttuja, joihin tässä pitää keskittyä – aikaa ei kuitenkaan lyhytkursseissa ole yleensä vuotta enempää, toisinaan muutama kuukausi, joten moni asia pitää ottaa sellaisenaan – kaikkeen aika ei riitä”, toteaa Juuso. ”Rakettitiedettä tämä ei ole, mutta tosi hauskaa siitä huolimatta oli kyse sitten opettamisesta tai ohjelman laatimisesta”, päättää Vuorinen, joka juhli viime vuonna viidettä vuosikymmentä ohjelmoinnin parissa. Kaikki alkoi 1983.
Hyvää kevättä ja rauhallista Vappua!
Juuso, Tino, Selma-koira ja kaverit Kalevasta!