Asiantuntijan näkökulmasta:
Julkisen sektorin tietojärjestelmäkehityksen ei tarvitse olla hidasta
Julkisen sektorin tietojärjestelmäkehitykseen liitetään usein mielikuva suurista hankkeista, pitkistä määrittelyvaiheista ja massiivisista käyttöönotoista. Näin asia oli meilläkin vielä silloin, kun TE-digi-hankkeessa luotiin työvoimapalveluiden nykyiset tietojärjestelmät Työmarkkinatori ja Asiantuntijan Työmarkkinatori. Työtä vaikeutti se, että jouduimme ajamaan rinnan sekä uusia järjestelmiä että vanhaa 1990-luvulla alkunsa saanutta järjestelmää ja toteuttamaan siirtymän vanhasta järjestelmästä uuteen viiden suuren käyttöönoton kautta.
Enää emme onneksi ole sidottuja vanhaan tekniikkaan ja tekemisen tapaan. Nykyään julkaisemme parannuksia tuotantoon joka tiistai.
Teknisesti pystyisimme julkaisemaan päivittäin. Olemme kuitenkin päättäneet valita nykyiseksi rytmiksi viikoittaisen julkaisun, koska se yhdistää kehittämisen nopeuden ja käyttäjien tarpeen tietää ennakolta, mitä muutoksia tai parannuksia palveluihin on tulossa. Viikkorytmi tekee toiminnasta ennustettavaa mutta pitää samalla yksittäiset julkaisut riittävän pieninä, jolloin myös riskit pysyvät paremmin hallinnassa.
Meillä julkaiseminen on tylsää, tarkoituksella
DORA (DevOps Research and Assessment) -tutkimusohjelmassa on tarkasteltu ohjelmistokehityksen suorituskykyä yli vuosikymmenen ajan. Sen keskeinen havainto on, että nopeus ja vakaus eivät sulje toisiaan pois, vaan parhaiten suoriutuvissa organisaatioissa ne vahvistavat toisiaan.
Hyvin toimivat organisaatiot julkaisevat usein, niiden muutokset epäonnistuvat harvemmin ja ne palautuvat häiriöistä nopeasti. Syy tähän on hyvin yksinkertainen. Kun julkaiseminen on jatkuvaa, yksittäiset muutokset voidaan pitää pieninä. Pieni muutos on helpompi ymmärtää, katselmoida ja testata, ja tarvittaessa se voidaan myös vetää takaisin nopeasti. Samalla mahdollisen häiriön syy on helpompi jäljittää, koska tuotantoon ei ole yhdellä kertaa viety kymmeniä toisiinsa kytkeytyviä muutoksia.
Meillä julkaiseminen on tarkoituksella tylsää, mutta tylsyys ei ole syntynyt itsestään. Viikoittaiseen julkaisemiseen ei päästä vain päättämällä, että jatkossa julkaistaan useammin. Jatkuva julkaisu edellyttää organisaatiolta riittävät tekniset ja toiminnalliset kyvykkyydet, joita meillä on rakennettu ja vahvistettu määrätietoisesti DORA-mallin pohjalta.
Koodi, testiautomaatio ja tiimien itsenäiset julkaisut
Päähaarapohjainen kehittäminen (trunk-based development) on versionhallinnan toimintamalli, jossa kehittäjät yhdistävät pienet muutoksensa usein yhteiseen päähaaraan. Pitkäikäisiä kehityshaaroja vältetään, jotta koodi ei eriydy pitkäksi aikaa pääversiosta ja jotta muutokset voidaan integroida, testata ja julkaista jatkuvasti. Käytännössä kehittäjät joko työskentelevät suoraan päähaarassa tai käyttävät hyvin lyhytikäisiä kehityshaaroja, jotka yhdistetään takaisin päähaaraan tavallisesti saman päivän aikana. Keskeistä ei siis ole haarojen täydellinen kieltäminen, vaan se, etteivät ne jää elämään viikoiksi tai kuukausiksi.
Testiautomaatio varmistaa, että nopeasti kehittyvää järjestelmää testataan jatkuvasti ja mahdolliset rikkovat muutokset saadaan nopeasti automaattitestien kautta kiinni. Automaattisten testien tulee kattaa esimerkiksi yksikkötestauksen, integraatiotestauksen ja regressiotestauksen. Laadunvarmistus ei siis ole kehitystyöstä erillinen vaihe, vaan kiinteä osa kehitysprosessia. Hyvin kattava automaatiotestaus auttaa hallitsemaan ja pienentämään julkaisujen riskiä samalla kun toimitusnopeus kasvaa.
Mikropalveluarkkitehtuuri mahdollistaa sen, että tiimi voi julkaista oman palvelunsa ilman koko järjestelmän yhteistä julkaisua. Näin julkaistavan muutoksen riski pysyy mahdollisimman lähellä muutoksen todellista kokoa. Pilviteknologiat tarjoavat joustavuutta, skaalautuvuutta ja nopeaa resurssien käyttöönottoa.
Tiimeillä on valtaa ja kykyä ottaa vastuuta
Autonomiset kehitystiimit ja hajautettu päätöksenteko mahdollistavat nopeat ratkaisut ja päätökset ilman raskaita ja ruuhkautuvia päätösprosesseja tai hyväksyntäkierroksia. Tuoteomistajamme ovat liiketoimintamme asiantuntijoita. He tuntevat kehitettävän järjestelmän tarkoituksen, tavoitteet ja lainsäädännön reunaehdot, joten he pystyvät tekemään priorisointi- ja julkaisupäätöksiä nopeasti tiimiensä kanssa. Kehityksen ja päätöksenteon tukena heillä on asiantuntijoita niin KEHA-keskuksesta kuin työvoimaviranomaisten opastajaverkostosta.
Kun päätöksenteko tapahtuu lähellä käytännön työtä, reagointi nopeutuu ja vastuunotto lisääntyy. Tiimit voivat ratkaista ongelmia ilman raskaita hyväksyntäprosesseja ja keskittyä arvon tuottamiseen asiakkaille ja käyttäjille. Tämä tukee sekä työn sujuvuutta että henkilöstön sitoutumista.
Johdon tehtävänä on asettaa suunta, tehdä tavoitteet ymmärrettäviksi ja luoda rajat, joiden sisällä tiimit voivat toimia itsenäisesti. Samalla johdon pitää poistaa sellaisia rakenteellisia esteitä, joita yksittäinen tiimi ei pysty ratkaisemaan.
Kaiken perusta on toimintakulttuuri
Yllä kuvatun toiminnan mahdollistaa toimintakulttuuri, joka rakentuu ihmisten tavasta tehdä yhteistyötä, jakaa tietoa, ratkaista ongelmia ja oppia kokemuksista. Kehitysorganisaatiomme toimintakulttuuri perustuu luottamukseen, avoimuuteen ja yhteiseen vastuuseen. Tavoitteena ei ole virheettömyys, vaan kyky havaita asioita nopeasti, oppia niistä ja kehittää toimintaa jatkuvasti. Huomio kohdistetaan asioiden ymmärtämiseen ja toimintatapojen kehittämiseen. Tällainen toimintakulttuuri luo turvallisen ympäristön, jossa ihmiset uskaltavat tuoda esiin havaintojaan, ehdottaa muutoksia ja kokeilla.
Viikoittainen julkaisu on lopulta vain näkyvin osa muutosta. Sen taustalla ovat pienet ja hallitut muutokset, automatisoitu laadunvarmistus, itsenäiset tiimit, selkeät päätöksenteon rajat sekä jatkuvan kehittämisen kulttuuri. Yksikään näistä ei yksin riitä, mutta yhdessä ne tekevät jatkuvasta kehittämisestä ennustettavaa ja turvallista.
Kirjoittaja
Matias Vainio, yksikön päällikkö, KEHA-keskus
Työmarkkinatorin ja Asiantuntijan Työmarkkinatorin tuotepäällikkö