Kehitä ja ylläpidä


 Kesän aikana on ollut hieman seesteisempää täällä blogin puolella. Se ei johdu siitä, etteikö olisi aiheita, mistä kirjoittaa, vaan siitä, että haalin kevääseen itselleni hieman liikaa projekteja ja kesä meni käytännössä palautumiseen ja rentoutumiseen. Ja kylläpä teki hyvää! Nyt jaksaa taas uudella innolla puskea kohti syksyä ja uusia tapahtumia sekä projekteja.

Olen saanut aika ajoin toiveita, ihan pyytämättä tai avoimesti kysyen, että mistä aiheista kirjoittaa. Olisiko seuraavaksi enemmän teknologiaa vai tyyliä? Molemmat osa-alueet tuntuvat kiinnostavan yhtä paljon, joten koitan tasapainoilla näiden teemojen kanssa myös tulevaisuudessa. On tietysti ollut aivan mahtavaa ylipäätään kuulla, että nämä valitsemani teemat ovat osuneet ja uponneet. Mukavampaa kirjoittaa, kun saa palautetta ja tietää, että joku muukin näitä kirjoituksia lukee.

Sitten asiaan. Törmäsin kesällä yhteen tekstiin, missä ihmeteltiin, että miksi teknologia-aiheiset kirjoitukset, varsinkin ne, jotka on suunnattu naisille, korostavat aina kaikkea muuta teknologia-alan tekemistä paitsi koodaamista. Kirjoittajan mielestä näitä muita rooleja, kuten suunnittelupuolta, käyttäjäkokemuksia, testausta jne. korostetaan paljon enemmän kuin itse koodaustyötä. Jäin miettimään tätä, koska olen kokenut tämän juuri päinvastoin. Minusta esiin tuodaan nimenomaan koodauspuolta, jo pelkästään #mimmitkoodaa -konsepti on tästä hyvä esimerkki. Siksi olen halunnut itse ottaa tässä blogissa tavoitteeksi sen, että kerron laajasti niistä kaikista erilaisista rooleista ja tarpeista, mihin teknologia-alalla törmään. Koodaus on yksi näistä ja kirjoitan toki siitäkin, mutta paljon muutakin kiinnostavaa tekemistä löytyy. Itselle testaus, samoin kuin ylläpitopalvelut esimerkiksi ovat jopa hieman yllättäenkin olleet hyvin mielenkiintoisia uusia osa-alueita.

Suoritin viime talvena DevOps Fundamentals –koulutuksen ja sertifioinnin. Niille jotka eivät tiedä, mitä DevOps tarkoittaa, niin ’Dev’ tulee sanasta ”development” ja ’Ops’ sanasta ”operations”. Kurssilla käytiin läpi IT-projekteja ja -kehitystä varsin kokonaisvaltaisesti. Kun kehitetään jotain uutta, pitäisi pitää myös lopputulos aina mielessä. Toisin sanoen, kun kehitetään uutta ohjelmistoa, palvelua tai ratkaisua, pitäisi myös miettiä, miten sitä tullaan ylläpitämään sitten, kun se on otettu käyttöön. Mitä lähempänä toisiaan kehittäjät ja ylläpitäjät pystyvät työskentelemään, sitä parempia lopputuloksia yleensä saavutetaan. Jos taas kehittäjät puuhaavat jotain omaa ja vain luovuttavat valmiin tuotteen eteenpäin, ilman sen syvempää yhteistyötä tuotannon ja ylläpidon kanssa, seuraa yleensä ongelmia.

Minusta jokaisen, joka tekee jonkinlaista ohjelmistokehitystyötä pitäisi käydä DevOpsin perusteet. Kurssi oli ensinnäkin todella mielenkiintoinen, mutta sen lisäksi se tarjoaa todella hyvän pohjan ymmärtää IT-projekteja.  Ei riitä, että osaa koodata, jos ei ymmärrä loppupäätä, eli sitä, kuka tätä minun kehittämää ratkaisua ylläpitää. DevOpsissa paneudutaan myös organisaatioon ja kulttuuriin sekä tehokkuuteen ja automaatioon. Asioita kannattaa tehdä ketterästi ja kokeilevasti, jos jokin ei toimi, niin lopetetaan ja kokeillaan jotain muuta. Yhtä lailla lean ja turhan hukan poistaminen prosesseista ovat avainasemassa DevOpsissa, puhumattakaan kommunikaation merkityksestä.


Ohjelmistorobotiikassa on ylläpidolla myös erittäin tärkeä rooli ja erityisesti kehitystyössä on otettava huomioon, että robotit tarvitsevat jatkossa myös ylläpitoa ja tukea. Ohjelmistorobotiikkateknologioiden opettelu on suhteellisen helppoa ja yksinkertaisia robotteja oppii rakentamaan melkeinpä kuka vain, mutta se, että ne ovat ylläpidettäviä ja osaavat hallita erilaisia poikkeustilanteita, vaatii kehittäjältä jo enemmän. Tämän vuoksi suhtaudun skeptisesti moniin markkinointi- ja myyntipuheisiin, joissa luvataan, että kuka vain voi alkaa kehittää ohjelmistorobotteja liiketoiminnoille. Yksinkertainen robotti on aivan eri asia, kun monia poikkeuksia hallitseva, järjestelmien hitautta sietävä ja kriittistä dataa käsittelevä ohjelmistorobotti. Näitäkin robotteja on osattava siis kehittää niin, että lopputulos on jatkuvasti mielessä.


Itse aion perehtyä DevOpsin maailmaan nyt syksyllä vielä lisää, kun sain vihdoin kirjastosta lainattua The Phoenix Project –kirjan. Muutaman kuukauden sain tätä opusta odottaa, sen verran suosittua tavaraa. Katsotaan, miten uppoaa, kovasti tuota kirjaa on ainakin kehuttu. Voin sitten kirjoittaa kirja-arvostelun tai vähintäänkin laittaa kirjasta kommentteja ja parhaita oppeja, kun olen saanut sen luettua. Palataan siis näihin DevOpsin teemoihin myös tulevissa kirjoituksissa!