Blog

Agile vs. DevOps: suuri väittely

OCT 3, 2019

Olen aina uskonut, että operatiivisen toiminnan, joka kuuluu DevOpsin piiriin, tulisi perustua Agile-arvoihin. Tarkoitan tällä pienten julkaisujen tekemistä sekä käyttöönotto- ja julkaisuprosessin mukauttamista seuraamalla järjestelmän toimintaa ja tekemällä tarvittavat korjaavat toimet. Pienet iteraatiot ja palaute ovat tässä avainasemassa.

Kalle Mäkelä

Kalle is an automation-driven engineer who drives BEVs, marvels at space whenever he can, and always looks on the bright side of life.

Tarvitset lisäksi Agile-toimintaa, jotta voit mahdollistaa palautesyklit loppukäyttäjiltä ja käyttämistäsi ympäristöistä. Tässä on kyse siitä, että DevOps toimii ”Agile-infrastruktuurina”.

Mielestäni Agile Manifesto onkin aina ollut DevOps-liikkeen tärkein liikkeellepaneva voima! Se saattaa kuulostaa oudolta DevOps-arkkitehdin sanomana.

Miksi siis käyttää Agile-termin sijaan toista termiä? Miksi käyttää lainkaan termiä DevOps?

Agilen ja DevOpsin alkuperä

Kun Agile Manifesto syntyi helmikuussa 2001, IT-operaatiot eivät mielestäni vain olleet vielä valmiita muutokseen. Siksi seitsemän vuotta myöhemmin, vuonna 2008, syntyi termi DevOps ratkaisemaan jäykkien operaatioiden ongelmaa sekä kehityksen ja operaatioiden välistä kulttuurista kuilua. Ohjelmiston kehittäminen hallinnoitujen palveluiden tikettimuurin kautta ei yksinkertaisesti ole Agilea!

Agile Manifesto oli luonut perustan DevOpsille jo vuosia aiemmin. Se esitteli termin Continuous Delivery ensimmäisessä periaatteessaan: ”Asiakkaiden tyytyväisyys varmistetaan arvokkaan työn varhaisella ja jatkuvalla toimittamisella.” Seuraavien seitsemän vuoden aikana teknologiset ja ideologiset innovaatiot auttoivat muovaamaan uuden ohjelmistotoimitusten käytännön, jota kutsutaan Continuous Deliveryksi (CD).

Continuous Delivery -ajatus loi viimein perustan DevOps-käytäntöjen ja -työkalujen toiminnalle. Nämä DevOps-käytännöt auttaisivat kuromaan umpeen kehityksen ja operaatioiden välisiä teknisiä, psykologisia ja organisatorisia kuiluja – ja myöhemmin myös kuiluja muiden ohjelmistojen toteuttamiseen osallistuvien ryhmien kanssa.

Yhteenvetona: DevOps-ilmiö alkoi kasvaa Agilen maaperästä!

DevOps on Agilen jatke

DevOps on kattotermi kaikille mahdollistaville tekijöille – kuten testiautomaatiolle, infrastruktuurille koodina (IaC) ja sovellusten suorituskyvyn monitoroinnille (APM) – jotka auttavat toimittamaan arvokasta ohjelmistoa loppukäyttäjille Agile-periaatteiden mukaisesti. Parhaimmillaan nämä mahdollistajat rakentuvat ohjelmiston luomiseen käytettävän CD-putken päälle. DevOps täydentää Agile-ohjelmistokehityksen menetelmiä riippumatta siitä, millaista Agile-mallia tiimisi käyttää.

Menen jopa niin pitkälle, että nykyään et voi olla Agile ilman, että otat DevOps-menetelmät ja -käytännöt osaksi ohjelmistokehitysprosessiasi.

Ilman DevOpsin kulttuurin, prosessien ja käytäntöjen käyttöönottoa toteutat ohjelmistosi osia, kuten ominaisuuksia, Agile-periaatteiden mukaisesti, mutta et ajattele koko ratkaisua yhtenä järjestelmänä. Jos et huomioi koko järjestelmää, törmäät seinään, kun on aika ottaa tehokkaasti rakentamasi ohjelmisto käyttöön ja ajaa sitä.

Muista, että nykyisessä IT-maailmassa kaikki on koodia, mukaan lukien infrastruktuurisi ja liiketoimintavaatimuksesi.

DevOps tuo Agilen IT:hen

Toinen muistettava asia liittyy ohjelmistojen kehittämisen kulttuurisiin puoliin. Sinun pitäisi oikeasti ”olla” Agile. Uskon vahvasti, ettei Agilea vain ”tehdä”! Se ei itsessään ole prosessi tai menetelmä. Se on pikemminkin ajattelutapa ja tapa mukauttaa toimintaasi palautteen perusteella.

Havainnollistaakseni tätä sanon usein, että voit leipoa korvapuusteja Agile-ohjelmistokehityksen menetelmällä, kuten Scrumilla, mutta DevOpsissa puhutaan nimenomaan IT:n sekä tuotteiden ja palveluiden kehittämisen käytännöistä!

DevOps tarjoaa Agile-ohjelmistokehityksen menetelmille toimivan viitekehyksen monimutkaiseen IT-maailmaan.

Agile ja DevOps ovat toisiaan täydentäviä arvojärjestelmiä

Onnistunut ohjelmistokehitys perustuu siihen, mitä pidät oikeana tapana kehittää ohjelmistoja. Agilen perustana olevat uskomukset ovat täysin päällekkäisiä DevOpsin perustana olevien uskomusten kanssa:

  • Yksilöt ja vuorovaikutus

  • Toimiva ohjelmisto

  • Asiakasyhteistyö

  • Muutoksiin vastaaminen

Siksi DevOps on Agilen jatke. Se on myös vahva Agilen mahdollistaja erityisesti suurissa yrityksissä, kuten telekommunikaatioalalla, tiimien välisen yhteistyön ja automaation avulla. Tällaisia ovat esimerkiksi päästä päähän -hyväksymistestit, suorituskykytestaus, automaattiset regressioraportointinäkymät ja IaC.

Lopulta DevOps tekee näistä suurista yrityksistä huomattavasti ketterämpiä epävarmassa liiketoimintaympäristössä.

Voit kuunnella podcastin täältä

  • DevOps
  • Agile

Subscribe to our newsletter