DevOps on palautteen vahvistamista

Julkaistu 11.9.2017
Lukuaika noin 2 min

DevOps-menetelmiä kehitettäessä kokonaisuuden hallinnan ja systeemiajattelun ohella keskiöön nousee palautteen ja takaisinkytkentöjen (feedback loops) vahvistaminen. Nopeat, ajantasaiset ja valvotut takaisinkytkennät mahdollistavat ohjelmistokehityksen ohjaamisen yksilön, tiimin ja koko organisaation ja tuotteen tasoilla.

Purjehtijana osaan arvostaa autopilottia yli kaiken. Nopeisiin köysimanöövereihin riittää, että ratin kiristää navastaan kiinteään asentoon sillä aikaa, kun pikaisesti justeeraa purjeita. Vene ei ehkä pysy 100 % kurssissaan, mutta kymmeneksi sekunniksi ohjauskäden uskaltaa irrottaa. Jos matkan päällä täytyy tehdä isompia operaatioita sillä välin, kun muu miehistö/naisisto laiskottelee säältä suojasta, kytketään autopilotti. Autopilotti seuraa kurssia kompassia tai GPS:ää käyttäen, ja kun ohjausyksikkö huomaa, että kurssi uhkaa poiketa halutusta, se lähettää peräsimen työyksikölle käskyn muuttaa peräsinkulmaa. Korjauksen jälkeen ohjausyksikkö vertailee tulosta haluttuun, ja tarvittaessa jatkaa pienien säätöjen tekemistä, jopa useita kertoja sekunnissa.

Ohjelmistokehityksen ohjaaminen ilman takaisinkytkentöjä on kuin kiristäisi ratin paikalleen matkan alettua ja toivoisi, että samalla ohjauskulmalla osutaan puolen vuorokauden päästä kohteeseen.

Ohjelmistokehityksen takaisinkytkennät alkavat millisekuntien mittaisista ihmisen ja koneen vuorovaikutustapahtumista ja päättyvät ehkä useiden kuukausien mittaiseen asiakaspalautesykliin. DevOps-asiantuntija osaa tunnistaa mahdolliset takaisinkytkennät ja vahvistaa niitä niin, että sekä yksilö- että tiimitason työssä tekijä saa mahdollisimman nopeasti palautetta työnsä tuloksista. Prosessi lähtee ihan perushygieniasta – työkalujen tulee olla siinä kunnossa, että ruudulle ilmestyy merkki samalla, kun näppäintä painetaan. Käytössä olevan ohjelmistoympäristön olisi hyvä havaita selvät kirjoitusvirheet ja jopa tarjota oikeaa vaihtoehtoa.

Perusasioista edetään sitten laajempiin takaisinkytkentöihin kuten kääntäjän virheviesteihin, yksikkötesteihin, integraatiotesteihin ja niin edelleen. Jokaisella tasolla DevOps-asiantuntija etsii mahdollisuuksia nopeuttaa palautteen saamista, vahvistaa takaisinkytkennän signaalia ja muokata prosessia niin, että palaute on automaattista ja siihen reagointi osa normaalia työn etenemistä.

Samaan aikaan DevOps-asiantuntija osaa myös ottaa huomioon aiemmin keskustellun kokonaiskuvan. Myös palaute ja takaisinkytkennät ovat osa prosessia kokonaisuutena, ja niillä voi olla vaikutus rinnakkaisiin prosesseihin ja muihin toimijoihin. Tästä syystä toiminnan kehittäminen on jatkuvaa tasapainoilua ja joskus myös on tehtävä kompromisseja.

Kuten autopilotitkin, myös ohjelmistokehityksen takaisinkytkennät voivat mennä rikki, tai niiden teho saattaa osoittautua riittämättömäksi. Tästä syystä myös toiminnan kehittäminen tarvitsee omat takaisinkytkentänsä.

DevOps-kurssilla keskustelemme takaisinkytkennöistä käytännön tasolla ja yritämme löytää tapoja tunnistaa hyödyntämätöntä palautetta. Tervetuloa!

Tutustu myös näihin:

Asiasanat:

Ohjelmointi

Aiheeseen liittyvät blogit: