Tukipyynnöstä korjaukseen: mitä tapahtuu kulissien takana?

Tukipyynnöstä korjaukseen: mitä tapahtuu kulissien takana?

26.08.26

Ohjelmistoa käyttäessä voi joskus tulla vastaan tilanne, johon tarvitaan apua. Asiakas lähettää silloin Enkoralle tukipyynnön, ja alkaa selvitystyö, jota hän ei yleensä näe.

Mitä tukipyynnölle oikeastaan tapahtuu ennen kuin asia on ratkaistu?

Ensin pitää selvittää, mistä on kyse

Kaikki alkaa, kun asiakas ottaa meihin yhteyttä. Ensimmäiseksi kartoitamme tilanteen: onko kyseessä virhe järjestelmässä vai jokin muu?

Joskus syy löytyy käyttöasetuksista, tai järjestelmää käytetään tavalla, johon on jo olemassa ratkaisu. Haluammekin aina ymmärtää mitä asiakas oikeasti tavoittelee ja miksi. Asiakas saattaa esimerkiksi etsiä tapaa tulostaa kuitit myöhempää käyttöä varten, vaikka tarvittavat tiedot löytyvätkin jo Enkoran tietokannasta. Ratkaisu voi tällöin löytyä toimintatapaa tarkentamalla, eikä ohjelmistoon tarvitse koskea.

Selvitystyö on nopeaa Enkoran kaltaisessa matalan hierarkian yrityksessä. Tukitiimi voi keskustella suoraan tuotetiimin ja kehittäjien kanssa, eikä turhia kierroksia synny.

Joskus käy kuitenkin ilmi, että taustalla on varsinainen ohjelmistovirhe. Silloin tuotetiimi ottaa asian haltuun.

Korjaaminen on prosessin nopein vaihe

Tuotetiimi varmistaa ensin, että ohjelmisto-ongelma voidaan toistaa, ja arvioi sen vaikutukset. Muokkaukset tehdään niin, että ratkaisu palvelee kokonaisuutta myös pidemmällä aikavälillä, eikä paikkaa vain yksittäistä ongelmaa. Tarvittaessa tuotetiimi tarkentaa yksityiskohtia suoraan tukipyynnön lähettäneeltä asiakkaalta.

Kun ongelman taustasyy on tiedossa, ohjelmistokehittäjä tekee tarvittavan korjauksen koodiin. Tämä vaihe on usein koko prosessin nopein: ammattimainen kehittäjä osaa muokata koodia hetkessä. Enemmän aikaa kuluu sen varmistamiseen, ettei korjaus aiheuta ongelmia muualla.

Tuhansia automaattisia testauksia

Koodikorjaus tehdään erilliseen kehityshaaraan, joten keskeneräinen muutos ei voi vahingossa päätyä asiakkaille. Korjaus käy siellä läpi saman perusteellisen testausprosessin kuin muutkin ohjelmistomuutokset: automaattiset testit, toisen kehittäjän tekemät katselmukset sekä tuotetiimin manuaaliset tarkistukset. (Avasimme prosessia artikkelissamme: ”Pienikin muutos käy läpi yli 65 000 tarkistusta”)

Vasta tämän jälkeen korjaus on valmis julkaistavaksi.

Tiheämpi päivitystahti tarkoittaa pienempää riskiä

Ohjelmistopäivityksen julkaisu etenee vaiheittain: ensin pienelle asiakasjoukolle, sitten laajemmalle. Päivityksiä julkaistaan 3-5 kertaa viikossa. Päivityksissä priorisoidaan mahdolliset kulunvalvontaan, maksuihin ja henkilötietoihin liittyvät korjaukset. Kiireellinen korjaus voi olla asiakkaalla jo saman päivän aikana.

Tiheä, vaiheittainen julkaisutahti on tietoinen valinta. Yksittäinen julkaisu sisältää näin vain vähän muutoksia, jolloin mahdolliset ongelmat on helpompi jäljittää. Harvoin julkaistavat suuret kokonaisuudet ovat vaikeampia testata, mikä kasvattaa riskejä.

Työ ei lopu päivityksen julkaisuun

Julkaisun jälkeen järjestelmän toimintaa seurataan automaattisesti ympäri vuorokauden, ja poikkeamista lähtee heti hälytys. Kehitystiimi tarkkailee esimerkiksi virheilmoituksia, järjestelmän kuormitusta ja asiakkaiden palautetta. Jos jokin odottamaton ongelma ilmenee, voimme tarvittaessa palata nopeasti edelliseen toimivaan ohjelmistoversioon.

Kehitystiimi tekee keskimäärin 150–200 muutosta kuukaudessa. Näistä syntyy regressio vain muutamassa prosentissa, eli tilanne, jossa uusi muutos rikkoo aiemmin toimineen ominaisuuden. Jokainen niistäkin tutkitaan huolellisesti, jotta vastaavat tilanteet voidaan ehkäistä jatkossa. Näin järjestelmästä tulee koko ajan vahvempi.


Artikkelin toimitti Enkoran viestintävastaava Maria Lindberg.

Artem Goutsoul

Artikkelin asiantuntijana toimi Enkoran teknologia- ja turvallisuusjohtaja Artem Goutsoul, joka vastaa järjestelmäarkkitehtuurista, tietoturvasta, teknologiavalinnoista ja tiimien yhteistyöstä. Hän on tehnyt ohjelmistokehitystä yli 40 vuotta, joista yli 25 vuotta yritysjärjestelmien parissa.