DevOps on kokonaisuuden hahmottamista
DevOps-menetelmien yhtenä kulmakivenä voidaan pitää ohjelmistokehityksen tuotantoketjun optimoimista suunnittelusta ja toteutuksesta käyttöönottoon ja käyttötukeen. Projektin laajuudesta ja organisaation koosta riippuen tämä tuotantoketju saattaa olla hyvinkin monimutkainen. Kun toimintaa kehitetään DevOps-menetelmien avulla, on hyvä tunnistaa, että yksittäiset teknologia- tai menetelmäinnovaatiot sijoittuvat johonkin kohtaan ohjelmistohankkeen tuotantoprosessia, ja muutosten vaikutus voi säteillä muihin ketjun osiin yllättävilläkin tavoilla.
Isosta ohjelmistotiimistä voi olla vaikea löytää kaikkien alojen erikoisasiantuntijaa, joka pystyy hahmottamaan koko kehitysprosessin kokonaisuutena. Tämä tarkoittaa sitä, että muutosta suunnitellessa DevOps-asiantuntija tunnistaa, että muutoksen suunnitteluun on osallistettava laajalti eri rooleissa olevia ihmisiä. Tämä pätee sekä isompiin muutoshankkeisiin että arkiseen puurtamiseen – DevOps-asiantuntijan on osattava kysyä päivittäin itseltään ja muilta, että “mitähän tapahtuu,- jos tätä hommaa muutetaan näin”.
Lean-menetelmien työkalupakista löytyy hyviä työkaluja kehitysprosessin visualisointiin ja ymmärtämiseen, esimerkkinä vaikkapa arvovirtakuvaus (Value Stream Mapping).
Nämä työkalut ovat arvokkaita varsinkin isompia muutoksia suunnitellessa. Arkisessa puurtamisessa DevOps-asiantuntijan tärkeimmäksi työkaluksi muodostuvat helposti hyvät kävelykengät sekä kyky kerätä palautetta ja ajatuksia eri sidosryhmiltä ja tiimeiltä. Hajautetun tiimin kanssa avaintyökaluksi muodostuu erilaiset sähköiset viestimet, jotka ovat itsessään oman blogin arvoisia.
Prosessiin tehtävä pieni muutos saattaa paikallisesti tarkasteltuna olla loistava idea. Tiimin työtä säästyy ja tuottavuus kasvaa! Osana kokonaisuutta tällaisella muutoksella voikin sitten olla pahimmassa tapauksessa jopa halvaannuttava vaikutus naapuritiimissä.
Yksi DevOps-menetelmien tukipilareista on palautteen ja takaisinkytkentöjen vahvistaminen. Tämän työkalun pitää ulottua myös menetelmän itsensä tarkasteluun. Näin ollen mahdollisia virheaskeliin ei tarvitse suhtautua pelokkaasti, kunhan tunnistaa, että meillä tulee olla kyky seurata muutoksen onnistumista ja tarvittaessa tehdä korjausliikkeitä.
DevOps pähkinänkuoressa -kurssilla juttelemme kokonaisuuden hahmottamisesta ja ns. systeemiajattelusta laajemmin, ja pyrimme löytämään keinoja mallintaa tuotantoketjua ja tunnistaa sekä muutosten kohteet että toteutustavat. Elävän elämän kokemusten kautta onnistumme toivottavasti kiertämään muutaman sudenkuopan ja jakamaan esimerkkejä onnistuneista muutoksista. Tervetuloa mukaan!
Sami Lempinen, Opero