En effektiv DevOps-verktygskedja är avgörande för utvecklarnas produktivitet, men den har ett pris. Läs om hur du får bästa möjliga avkastning på din DevOps-skatt.
Johan Abildskov
Johan has been a Continuous Delivery Consultant with Eficode Praqma since 2015. After achieving his BSc in Computing Science he spent his time teaching, coding, hacking and studying. He is an avid gamer and participates in tournaments whenever he has the time. He also plays the bass.
Att driva en effektiv och väloptimerad organisation för mjukvaruutveckling och leverans är ett krävande arbete. I takt med att automatiseringsgraden ökar blir DevOps-verktygskedjan mer omfattande, och underhålls- och supportuppgifterna blir mer komplexa. Underhållsarbetet innebär en verklig belastning för utvecklingsteamet och minskar deras leveranseffektivitet avsevärt. Detta kallas för ”DevOps-skatt” och uppskattas motsvara cirka 10 % av ett teams totala arbete.
Många utvecklingsteam har en ”DevOps-skatt” på omkring 10 %, vilket innebär att 10 % av utvecklingsteamet ägnar sig åt att underhålla DevOps-verktygskedjan” Forrester (2019)
Lean mjukvaruutveckling
Som mjukvaruutvecklare inspireras vi ofta av lean-konceptet slöseri. Vi vill ägna så mycket tid som möjligt åt värdeskapande aktiviteter. Det är helt rimligt, eftersom vi vill ge slutanvändarna så mycket värde som möjligt för pengarna. Slösaktiga aktiviteter som överlämningar och omarbete vill vi ovillkorligen minimera, eftersom de inte tillför något värde alls. Men vi har också möjliggörande aktiviteter, eller overhead, som vi inte nödvändigtvis kan minska till noll.
Man kan säga att det finns en rätt mängd overhead. De flesta utvecklare skulle förmodligen hävda att rätt mängd möten är noll, men jag skulle säga att även om möten inte bör ta upp en stor del av veckoschemat, bör de definitivt vara fler än noll.
Genom att kartlägga värdeflödet blir det lättare att visualisera hur arbetet rör sig genom en organisation, och det kan hjälpa oss att hitta flaskhalsar och problem som kan optimeras. En robust DevOps-verktygskedja kan dessutom bidra till att eliminera flaskhalsar och slöseri i värdeflödet.
Snabba, automatiserade testsviter som körs vid varje commit hindrar oss från att föra vidare defekter och förkortar återkopplingsloopen till utvecklaren, vilket skapar bättre flöde.
Integrerade verktygskedjor kan dela information och mätvärden, skapa transparens och minska overheaden från de där fruktade statusmötena. Det kan öka utvecklarnas produktivitet eftersom de får färre avbrott och behöver byta kontext mer sällan.
Vi kan flytta säkerhet, QA och compliance tidigare i processen genom att integrera kontroller för licenser, kodkvalitet och kända sårbarheter i våra pipelines med verktyg som Sonatype och JFrog X-ray. Det ger i sin tur våra utvecklare möjlighet att ta ansvar för sina produkter och driftsätta säkert i produktionsmiljöer.
Och på tal om produktionsmiljöer kan vi hantera vår infrastruktur som kod med Terraform och publika molnleverantörer/Kubernetes. Det ger äntligen utvecklingsteamen fullständig end-to-end-kontroll, så att de kan maximera sin effekt för slutanvändarna och i slutändan skapa värde för intressenterna.
Lägg budgeten på det som får kunden att välja dig
Mjukvarubranschen har stor brist på kompetens. Det finns aldrig tillräckligt många kvalificerade ingenjörer, och vi lägger mycket arbete på att utveckla, attrahera och behålla talanger i våra teknikorganisationer.
Det innebär att verksamhetens resultat begränsas av vår förmåga att skapa värde för slutanvändarna. Tyvärr lägger vi ofta oproportionerligt mycket energi på arbete som inte särskiljer oss från konkurrenterna. Det brukar kallas att lägga tid på kontext i stället för på kärnverksamheten, och är en av de viktigaste drivkrafterna bakom migreringen till molntjänster. Att utveckla och uppgradera infrastruktur och nätverk är helt enkelt inte en del av kärnverksamhetens konkurrensfördelar, även om dessa områden har blivit standardiserade under de senaste åren.
Samma resonemang gäller underhållet av våra DevOps-verktygskedjor med Jira-instanser, Jenkins masters och Kubernetes-kluster. Tyvärr ser vi många ”DevOps”- eller verktygsteam som är alltför tunt utspridda över ett omfattande verktygslandskap. Det leder till verktygskedjor som varken underhålls eller optimeras. De flesta företag har helt enkelt inte kapacitet att hålla sig uppdaterade om release notes, säkerhetssårbarheter och beprövade metoder. Med tiden ackumuleras dessa problem och blir både mer riskfyllda och dyrare att åtgärda.
Det mest frustrerande är att vi alltid kommer att lägga tid på sådant som slutanvändarna aldrig kommer att se eller uppleva. Den goda nyheten är att vi kan outsourca vår verktygskedja till domänexperter som bryr sig om DevOps-verktyg på samma sätt som vi outsourcar infrastruktur till publika molnleverantörer som AWS, Azure eller Google Cloud.
Exempel på detta är molnbaserade Circle-CI eller GitHub. Vår egen Eficode ROOT DevOps-plattform integrerar alla dina DevOps-verktyg i ett förvaltat paket, antingen on-premises eller i molnet.
Fråga dig därför: Är du nöjd med hur pengarna för din DevOps-skatt används? Eller skulle du få mer värde för pengarna genom att outsourca din kontext?
- DevOps
- Eficode ROOT
Subscribe to our newsletter
Related blogs