noun_Email_707352 noun_917542_cc Map point Play Untitled Retweet Group 3 Fill 1

DevOpsin matkassa kohti ohjelmistoylläpidon ketteriä työtapoja, kulttuuria ja työkaluja

”Jos se toimii, älä koske siihen” ja ”Ainahan me ollaan tehty näin” -tilat on tehty rikottavaksi.

Mikko Lampinen / 18. maaliskuuta, 2021

Jatkuva toiminnan kehittäminen (Continuous improvement) pitäisi olla sisällä kaikessa tekemisessä. Se on kuitenkin helpommin sanottu kuin tehty. Ohjelmistokehitysosaaminen on suoraan riippuvainen tiimin jäsenten kyvykkyyksistä. Jos tiimistä puuttuu tietty osaaminen, kyvykkyys ymmärtää mitä tai miten pitäisi kehittää, kärsii.

Monesti tämä näkyy erityisesti tuotantokäytössä olevien järjestelmien kehityksessä. Syy on, että järjestelmän toteutusvaiheessa käyttöönotetut toimintamallit ovat rapautuneet ajan myötä, kun niitä ei kehitetä eteenpäin. Esimerkiksi SCRUM:ista tutut retrospektiivit unohdetaan kokonaan. Kun useampi vuosi mennään samalla mallilla, niin rapautuneet käytännöt vakiintuvat ja ajaudutaan tilaan ”Ainahan me ollaan tehty näin” tai ”Jos se toimii, älä koske siihen.”

Miten kohti maailmanluokan sovellusylläpitoa?

Koulutukset ja opiskeluun rohkaiseminen on yksi tapa tuoda muutos arkeen. Usein se on kuitenkin hidasta, ja vaatii aikaa, mikä saattaa viivyttää uusien toiminnallisuuksien kehittämistä. Tehottomuus tulee mielestäni paljon siitä, että koulutukset perustuvat yleensä lähinnä teoriaan. Todellisuudessa jokainen ylläpitoprojekti on omanlaisensa, jolloin teoriaa pitäisi osata jalkauttaa käytäntöön kunkin projektin vaatimalla tavalla.

Mikä on sitten paras ja tehokkain tapa?

Ihmiset ovat vuosituhansia oppineet toisiltaan ja mestari-kisälli -malli on tuttu meille kaikille historiasta. Sama malli toimii myös ohjelmistotuotannossa. Meillä kierrätämme kovimpia osaajiamme toimituksesta toiseen tukemassa ylläpitotiimejä kehittämään toimintaansa. Teemme itse mestari-kisälli -mallilla DevOps-transformaatiota, jonka kautta olemme saavuttaneet mittavia etuja DevOps-kulttuurin, työtapojen ja työkalujen jalkauttamisessa.

Lue lisää aiheesta: Full stack -tiimi ylläpitää yhteiskuntarauhaa, terveyttä ja tuo tulosta

Automaatiolla ja julkipilvellä nopeita tuloksia

Meillä on hyviä kokemuksia intensiivisestä kolmen kuukauden transformaatio-ohjelmasta, jossa osaajamme analysoivat yhdessä ylläpitotiimin kanssa tilanteen, sopivat kehitystoimenpiteistä, osaamisen kehittämisen tarpeista ja auttavat tiimiä käyttöönottamaan uudet toimintamallit, työkalut sekä osoittavat suunnan jatkokehityksen osalta.

Tällaisella ohjelmalla olemme esimerkiksi siirtäneet järjestelmäylläpidon, jonka lähtökohtana kehitys- ja testiympäristöt olivat vanhentuneet, koska niiden ylläpitoa ei ollut automatisoitu, eikä päivityksiä ollut aikaa tehdä käsin. Toimintamalleissa oli paljon manuaalisia vaiheita buildin, testauksen ja tuotantoon viennin osalta. Toimintatavat olivat hyvin jäykät, esimerkki tuotantoon vietiin muutoksia vain kerran vuosineljänneksessä erillisen päivitysikkunan puitteissa. Tällöin järjestelmä oli käyttäjien ulottumattomissa.

Tuloksena saavutimme tilanteen, missä kaikki, käyttöympäristöistä lähtien, on julkipilvessä koodina (infrastructure as code, build-, test- ja deployment-ympäristöt). Kehittäjän toimittaessa koodimuutoksensa, ne menevät automaattisten testien ja laadullisten tarkistuksien (quality gates) kautta asiakkaan testiympäristöön hyväksymistestattavaksi.

Tiimin tehokkuus sekä työmotivaatio on kasvanut huomattavasti. Tähän on vaikuttanut oleellisesti manuaalisten toistuvien tehtävien koordinoinnin poistuminen sekä uudelleen koodaamistyön vähentyminen automaation myötä. Tämä kaikki vapautunut aika on suoraan käytettävissä uusien toiminnallisuuksien toteuttamiseen. Myös tiimin osaaminen päivittyi samalla kertaa modernin ohjelmistokehityksen ja sen välineiden osalta. Toimintamallien muutos toi mukanaan sen, että nyt säännöllisten retrospektiivien kautta tiimin backlogille nousee myös jatkuvia toiminnan kehittämiseen tähtääviä aktiviteetteja, millä varmistetaan se, että toiminta kehittyy myös jatkossa.

Julkipilven ja automaation myötä kehitys- ja testiympäristöjen kustannukset laskivat sekä uusien toiminnallisuuksien ja versioiden julkaisusykli nopeutui huomattavasti. Näin uudet toiminnot saadaan aiemmin tuotantoon ja tuottamaan lisäarvoa liiketoiminnalle.

Toimintamuutoksen onnistumisen edellytykset

Hyödyt ovat siis ilmeiset, mutta kuten aiemmin mainittu, vakiintuneita käytäntöjä ei aina kuitenkaan ole helppoa muuttaa. Onnistumisen kannalta kriittisiä vaatimuksia ovat:

  1. Toiminnan kehittämiselle tulee varata aikaa. Vaikka hyödynnettäisiinkin asiantuntijoita tiimin toimintatapojen päivittämisessä, myös järjestelmän omistajan tulee varata tietty osa tiimin työajasta toiminnan kehittämiselle.

  2. Ylläpitotiimillä pitää myös olla halukkuus ja kyvykkyys oppia uusia asioita. Yleensä ottaen kuitenkin tämä on jatkuvasti muuttuvalla alalla ihmisillä sisään rakennettuna.

  3. Osaava tuki tunnistamaan ja tukemaan kehityskohdissa. Tarjoamme tiimille parhaan mahdollisen tuen henkilöiltä ketkä tuntevat toimintatavat, -mallit ja tekniset työkalut läpikotaisin. Mestari-kisälli ‑mallilla tehty muutos siirtää osaamisen tehokkaimmin ylläpitotiimille.

Olemme vakuuttuneet mallin tehokkuudesta ja jatkamme ylläpitopalveluidemme kehittämistä ja tiimien tukemista näin myös jatkossa. Mestari-kisälli -malli on meillä sisäänrakennettuna ja aina, kun otamme uusia järjestelmiä ylläpitoomme, saavat tiimit heti alkuun tarvittavan tuen.

Oletko kiinnostunut tehokkaammasta sovellusten ylläpidosta tai haluatko töihin tiimiin? Ota yhteyttä.  Verkostoidutaan myös LinkedInissä!

Mikko Lampinen
Head of Custom Software Development

Haluatko kuulla lisää?

Mikko Lampinen

Head of Custom Software Development

Jaa Facebookissa Jaa Twitterissä Jaa LinkedInissä