Jag har alltid ansett att drift, som är DevOps område, bör bygga på Agile-värderingar. Med det menar jag att göra små releaser och anpassa din driftsättnings- och releaseprocess utifrån hur systemet beter sig, samt vidta korrigerande åtgärder där det behövs. Små iterationer och återkoppling är avgörande här.
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.
Dessutom behöver du ha Agile arbetssätt inom drift för att möjliggöra återkopplingsloopar från slutanvändare och de miljöer du använder. Det är innebörden av DevOps som ”Agile infrastruktur”.
Så enligt min mening har Agile Manifesto alltid varit den främsta drivkraften bakom DevOps-rörelsen! Och det kanske låter märkligt från en DevOps-arkitekt.
Varför använder vi då ett annat begrepp än Agile? Varför använder vi över huvud taget termen DevOps?
Ursprunget till Agile och DevOps
När Agile Manifesto utformades i februari 2001 tror jag inte att IT-driften var redo för förändringen. Därför föddes termen DevOps sju år senare, 2008, för att hantera problemet med rigid drift och den kulturella klyftan mellan utveckling och drift. Att skapa mjukvara genom en ärendevägg för managed services är helt enkelt inte Agile!
Agile Manifesto hade lagt grunden för DevOps många år tidigare. Det introducerade termen Continuous Delivery i sin första princip: ”Att tillfredsställa kunder genom tidig och kontinuerlig leverans av värdefullt arbete.” Under de följande sju åren bidrog tekniska och ideologiska innovationer till att forma en ny metod för mjukvaruleverans som kallas Continuous Delivery (CD).
Idén om Continuous Delivery skapade äntligen en grund för DevOps-metoder och verktyg att göra nytta. Dessa DevOps-metoder skulle hjälpa till att överbrygga de tekniska, psykologiska och organisatoriska klyftorna mellan utveckling och drift, och senare även andra grupper som bidrar till att skapa mjukvara.
Sammanfattningsvis: fenomenet DevOps började växa fram ur Agile-mylla!
DevOps är en förlängning av Agile
DevOps är ett samlingsbegrepp för alla möjliggörare – som testautomatisering, infrastruktur som kod (IaC) och Application Performance Monitoring (APM) – som hjälper till att leverera värdefull mjukvara till slutanvändare på ett Agile sätt. I bästa fall bygger dessa möjliggörare på en CD-pipeline för att skapa mjukvaran. DevOps kompletterar Agile-metoder för mjukvaruutveckling, oavsett vilken typ av Agile ditt team använder.
Jag skulle till och med gå så långt som att säga att du i dag inte kan vara Agile utan att införa DevOps-metoder och -praxis i din mjukvaruutvecklingsprocess.
Utan DevOps kultur, processer och metoder skapar du delar av din mjukvara på ett Agile sätt, till exempel funktioner, utan att se hela lösningen som ett system. Om du inte tar hänsyn till hela systemet når du snart en återvändsgränd när det är dags att driftsätta och köra den mjukvara du har skapat så effektivt.
Kom ihåg att i dagens IT-värld är allt kod, även din infrastruktur och dina affärskrav.
DevOps placerar Agile i IT
En annan sak att komma ihåg handlar om de kulturella aspekterna av att skapa mjukvara. Du bör faktiskt ”vara” Agile. Jag tror verkligen inte att man bara ”gör” Agile! Det är inte en process eller metodik i sig. Det är snarare ett sätt att tänka och att anpassa sina handlingar utifrån återkoppling.
För att understryka detta brukar jag säga att du kan baka kanelbullar med en Agile-metod för mjukvaruutveckling, som Scrum, men med DevOps talar du faktiskt om IT och metoder för produkt- och tjänsteutveckling!
DevOps ger Agile-metoder för mjukvaruutveckling ett fungerande ramverk för den komplexa IT-världen.
Agile och DevOps är kompletterande värdesystem
Att lyckas med mjukvaruutveckling handlar om vilka övertygelser du har om rätt sätt att utveckla mjukvara. Övertygelserna som ligger till grund för Agile överlappar helt med dem som ligger till grund för DevOps:
Individer och interaktioner
Fungerande mjukvara
Kundsamarbete
Att svara på förändring
Därför är DevOps en förlängning av Agile. Det är också en kraftfull möjliggörare för Agile, särskilt i stora företag som inom telekombranschen, genom samarbete mellan team och automatisering som heltäckande acceptanstester, prestandatester, automatiska dashboards för regressionstester och IaC.
I slutändan gör DevOps dessa stora företag betydligt mer Agile i en osäker affärsmiljö.
Du kan lyssna på podcasten här
- DevOps
- Agile
Subscribe to our newsletter
Related blogs