DevOps är inte längre ett nytt och trendigt koncept, utan har i stället en bevisad förmåga att möjliggöra affärsmässig flexibilitet och hög prestanda.
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.
DevOps ifrågasätter hela den traditionella utvecklingsprocessen
Det finns många missförstånd kring DevOps, och de hindrar organisationer från att nå sin fulla potential. Ett sätt att förklara DevOps är att det uppstod ur insikten att utveckling och drift fungerade i funktionella silor med motstridiga mål. Detta leder till den så kallade kroniska konflikten mellan Dev och Ops, som ger dåliga affärsresultat på grund av överlämningar, överdriven byråkrati och brist på autonomi. DevOps ifrågasätter hela den traditionella utvecklingsprocessen. DevOps-rörelsen har brutit ned dessa silor, men vill åstadkomma mer. Den har utvecklats från att enbart omfatta Dev och Ops och från en gräsrotsrörelse till att bli etablerad i större företag. DevOps handlar nu om produktledning, driftsäkerhet, teknisk excellens och en sund företagskultur. Det viktigaste med DevOps är att koppla återkoppling från slutanvändare i produktionsmiljöer till utvecklingsteamen, så att de kan reagera på marknadsförutsättningar och lära sig snabbare än konkurrenterna.
DevOps-metoder, verktyg och förmågor
DevOps är ett samlingsbegrepp som omfattar allt från avancerat utvecklingsarbete till produktledning. Därför är det ett missförstånd när en tjänst som DevOps engineer annonseras och personen förväntas arbeta enbart med molnet eller sitta vid sidan av och finslipa Jenkins-pipelines och testmiljöer. Även om dessa fokusområden är viktiga kommer deras effekt att vara begränsad. DevOps handlar i stället om att etablera en kultur av kontinuerligt lärande och experimenterande, så att verksamheter kan leverera största möjliga värde till sina kunder – snabbt, säkert och effektivt.
En psykologiskt trygg arbetsmiljö
Psykologisk trygghet krävs för att team ska kunna prestera på hög nivå. Ett sätt att uppnå detta är genom skuldfria utvärderingar efter incidenter. Incidenter blir då ett tillfälle för organisatoriskt lärande i stället för skuldspel. Westrums typologi för organisationskultur kan hjälpa dig att mäta er kultur och ge vägledning om var ni kan förbättra er. Det är grundförutsättningen för bättre samarbete.
Verktyg, teknik och automatisering
Men DevOps handlar också om verktyg och teknik. Var uppmärksam på möjligheter till automatisering och prioritera dem minst lika högt som funktionsutveckling. Som Gene Kim uttrycker det: ”Att förbättra det dagliga arbetet är viktigare än att utföra det dagliga arbetet.”
Utvecklare bör ha tekniska skyddsräcken som gör att de kan experimentera utan rädsla för att påverka produktionen negativt. Det möjliggör en kultur av kontinuerligt experimenterande.
Dessa skyddsräcken utgörs av automatiserade test- och deployment-pipelines. De optimerar hela värdeflödet för flöde från utveckling till slutanvändare. Detta kräver en hög nivå av verktygsstöd och kontinuerligt fokus på att förbättra er förmåga att leverera mjukvara.
Sammantaget ger detta organisationer de tekniska och kulturella förutsättningarna att bygga autonoma team med motiverade individer, vilket är en grundprincip inom Agile mjukvaruutveckling.
Infrastructure as code i molnet
Molnet och containerisering kan hjälpa dig att testa både processer och produkter, eftersom du kan skapa fullständiga kopior av dina produktionssystem för att testa om du kan driftsätta och om din applikation fortfarande fungerar som förväntat. Containers bidrar också till oföränderlighet, och du behöver inte längre riskera att testa fel sak eller ha servrar som du sköter som små, specialanpassade och ömtåliga trädgårdar. Bygg i stället containers och kasta bort dem när du är klar med dem. Detta Infrastructure as code-sätt att arbeta möjliggör reproducerbarhet, återanvändbarhet och spårbarhet. Produktionsmiljöer kan nu skalas enklare. Du får också en genväg till att ge utvecklare miljöer på begäran, vilket kraftigt förkortar återkopplingslooparna.
DevOps-plattformar och Design Systems
Beroende på er storlek och ert fokusområde kan detta verktygsstöd antingen förvaltas lokalt av ett plattformsteam eller outsourcas till tredje part, till exempel vårt eget team för Eficode ROOT DevOps-plattform. Eficode ROOT levererar en komplett DevOps-verktygskedja som hanteras fullt ut, antingen on-premises eller i molnet. Det kan hjälpa dig att fokusera på produkter och funktioner som särskiljer er verksamhet, i stället för på underhåll av verktyg.
En DevOps-plattform av hög kvalitet kan anpassas efter organisationens behov med ett Development and Design System. Design Systems hjälper team att:
Minska dubbelarbete
Snabbt driftsätta en tjänst i produktion som uppfyller standarderna
Erbjuda ett enhetligt utseende, en enhetlig känsla och en konsekvent kundupplevelse
Få förutsättningar att äga sina egna produkter och samtidigt dra nytta av stordriftsfördelar
Design Systems som kompletteras med automatiserad testning och verktyg av hög kvalitet hjälper organisationer att skala.
DevOps i stor skala med ett team-först-fokus
Det vanligaste hindret i värdeflödet från utveckling till slutanvändare är beroenden mellan team. Om ett team inte kan släppa sin mjukvara självständigt, vare sig till interna eller externa kunder, förlorar det motivationen och förmågan att reagera på återkoppling från användare.
Det innebär att varje DevOps-transformation – ett samordnat arbete för att införa DevOps-verktyg och metoder – måste fokusera på att möjliggöra självständiga team.
Det betyder inte att teamen inte ska vara samordnade. Tvärtom krävs riktade investeringar för att tydliggöra organisationens mål och värderingar, så att teamen kan arbeta i samma riktning.
Teamen kan bidra till det gemensamma uppdraget genom de produkter de ansvarar för och kan releasa. De får då kontroll över effekten av sina driftsättningar, vilket minskar risken för orelaterade delar av systemet och maximerar värdet för slutanvändarna.
Sammanfattning
När du har:
En DevOps-kultur med psykologisk trygghet och kontinuerliga experiment
En DevOps-verktygskedja som gör det möjligt att snabbt och säkert leverera mjukvara av hög kvalitet till slutanvändarna
Självständiga team med rätt förutsättningar som ansvarar för och kan leverera sin mjukvara på egen hand
kan du, precis som andra högpresterande organisationer, dra nytta av fördelarna med DevOps.
- DevOps
Subscribe to our newsletter
Related blogs