Utvalt
DevOps för chefer – den ultimata guiden till DevOps
Den här DevOps-guiden ger dig den förståelse för DevOps du behöver för att skala upp arbetssättet i hela organisationen och förbättra affärsresultaten.
Läs merDen ultimata guiden
DevOps-transformation: Förbättra mjukvaruleveransens prestanda
Anamma beprövade metoder för att lyckas
I dagens snabbrörliga landskap, där konsumenternas behov förändras snabbt och konkurrensen är hård, är affärsmässig agilitet och innovation nödvändiga. DevOps och affärsmässig agilitet går hand i hand eftersom DevOps-metoder förbättrar mjukvaruleveransens prestanda, vilket i sin tur ger bättre affärsresultat.
Affärsresultaten av hög kvalitet i mjukvaruleveransen omfattar lönsamhet, marknadsandelar och produktivitet. Genom att tillämpa beprövade DevOps-metoder kan team stärka sin förmåga att leverera mjukvara och påskynda verksamhetens tillväxt.
Utvalt
Den här DevOps-guiden ger dig den förståelse för DevOps du behöver för att skala upp arbetssättet i hela organisationen och förbättra affärsresultaten.
Läs merWhat is DevOps?
DevOps hjälper organisationer att anpassa sig till marknadens behov genom att leverera värdefull mjukvara snabbare och med högre kvalitet. DevOps omfattar många tekniska koncept, men det vore ett misstag att avfärda DevOps som enbart en teknisk förändring. De största utmaningarna företag möter kring DevOps är trots allt organisatoriska och kulturella.
Innovation uppstår i en kultur präglad av kunskapsdelning, trygghet och risktagande, och inga teknikinvesteringar kan kompensera för en bristfällig kultur. I stället kan lednings- och företagsledningar uppmuntra beteenden som leder till teknisk excellens, psykologisk trygghet och kontinuerlig förbättring.
För en snabb sammanfattning av DevOps, läs den här bloggen av Johan Abildskov.
Utvalt
DevOps är inte längre ett nytt och trendigt koncept, utan har en dokumenterat god förmåga att stärka verksamhetens agilitet och resultat.
Läs merFöreställ dig följande situation: En incident har just inträffat och du försöker febrilt ta reda på vad som gick fel. I stället för att lägga skulden på en annan person eller grupp i organisationen bör du fokusera på hur ni kan förhindra att incidenten inträffar igen i framtiden.
Ron Westrum, som skapade typologin för organisationskulturer, beskriver en organisations kultur som en individs personlighet. Precis som en persons personlighet formar hens beteende, lägger en organisations kultur grunden för hur människor reagerar på utmaningar och möjligheter. Bra ledare definierar det system där kulturen utvecklas och tar en aktiv roll i processen. Men även utan att ledningen uttryckligen formar kulturen kommer ett system att växa fram, baserat på belöningar, bestraffningar, resursfördelning och symboliska handlingar.
Westrums kulturtypologi förutsäger både resultat inom mjukvaruleverans och affärsresultat. Den är dessutom enkel att mäta, vilket gör att du kan härleda konkreta åtgärder från enkätresultat – och därmed blir den ett kraftfullt verktyg för att driva kulturförändring i rätt riktning.
Vi diskuterade ämnet mer ingående i ett avsnitt av vår podcast DevOps Sauna. Klicka på länken nedan.
Utvalt
How does culture build quality? Why is it hard to build high-performing teams, and what characteristics should the teams be looking for in their tools?
Lyssna”Hur länge behöver du vänta för att sätta upp ett nytt projekt, inklusive miljöerna?”
Om svaret är något annat än ”Jag kan göra det själv när jag vill” kan DevOps ge stora vinster för din organisation. Samtidigt tenderar kulturella mönster att trumfa strategiska initiativ – oavsett hur väl strategin är utformad. En sund kultur präglas av tydlighet och transparens på arbetsplatsen.
Inom Agile mjukvaruutveckling får autonoma team rätt förutsättningar att arbeta självständigt mot gemensamma mål. Beroende på bransch och företagets storlek kan det kräva arbete. Efter den första entusiasmen kring att införa Agile-arbetssätt återgår organisationer ofta till mer styrda strukturer. Om det är fallet, utvecklas er mjukvara verkligen på ett Agile sätt?
Enligt vår erfarenhet, som vi har diskuterat i vårt avsnitt av DevOps Sauna-podden om hur ledare inom mjukvaruutveckling ser på DevOps och Agile, behöver högsta ledningen ofta en bättre förståelse för vad det innebär att vara Agile.
Godkännande från en extern instans är inte alltid den bästa vägen framåt, eftersom ökad kontroll och riskhantering kan minska innovation och produktivitet. I hårt reglerade branscher leder betydande förändringar i verksamheten bara ibland till högre hastighet och kvalitet. Processer för att godkänna förändringar tenderar att bli komplexa och otydliga med tiden, vilket leder till längre feedbackloopar och längre time to market.
Tack vare DevOps kan change approval boards (CAB) i dag coacha och arbeta mer strategiskt än tidigare. CAB bör också säkerställa att processen är transparent och arbeta för att optimera den så att den skapar värde för kunderna.
Levererar teamen fungerande mjukvara till en grupp verkliga användare och samlar in feedback från dem i varje iteration, även den första?
Har teamen mandat att ändra kraven utifrån användarnas feedback?
Har teamen mandat att ändra sin process utifrån det de lär sig?
Läs den här artikeln från BizSpace för att få veta mer om SLT och vilken roll de spelar i en organisation.
Att hantera ärenden och krav i flera system ökar administrationen och leder till problem, som fel, omarbete och bristande samordning. För att hantera detta bör kraven fungera som en sammanhållande kraft som kopplar ihop affärsmål och engagerar alla intressenter. En effektiv integrering av krav ökar transparensen i produktutvecklingsprocesserna.
Nyckeln är att koppla affärsmått till arbetsflödet för kravhantering. Det kan du göra genom att samla verktygen i ett plattformsteam, internt eller som en tjänst. Genom att följa kraven i varje steg fram till release blir automatiseringsgraden och andra fördelar med DevOps tydligare i mätvärdena. Spårbarhet från början främjar dessutom granskning och compliance by design, och ger ett robust ramverk för att säkerställa efterlevnad av nödvändiga standarder och regler.
Vill du veta mer om vilken roll plattformsteam spelar i din organisation och om Platform Engineering i allmänhet? Läs vår kompletta guide till Platform Engineering. Klicka på länken nedan.
Utvalt
För att använda bästa praxis inom DevOps behöver du en IDP som ger en bra Developer Experience. Använd Platform Engineering för att uppnå detta.
Läs merDevOps gör det betydligt enklare att koppla affärsmått till arbetet som din utvecklingsavdelning utför, vilket är avgörande eftersom du inte kan förbättra det du inte kan se. Data är bara värdefull om den leder till handling, och rätt språk kan vägleda datadrivet beslutsfattande i ett företag.
Till exempel: ”Gör KÖP-knappen rosa för att dra till sig mer uppmärksamhet och öka försäljningen.”
Uppmuntra i stället att sådana påståenden formuleras som en hypotes:
”Vi tror att en rosa KÖP-knapp kommer att dra till sig mer uppmärksamhet och öka försäljningen.”
Det här tydliggör att avsikten är att genomföra ett experiment: vi måste mäta, validera och avgöra vad vi vill behålla. Den rosa knappen kan av okänd anledning minska försäljningen, men utan ett datadrivet mindset finns det inget sätt att veta vad som orsakade problemet.
Lyssna på det här avsnittet av vår DevOps Sauna-podcast, där vi berättar hur DevOps kan vara nyckeln till att öka hastigheten och skala upp. Klicka på länken nedan
Utvalt
Kohsuke Kawaguchi is the creator of Jenkins, and co-CEO of Launchable. Data-driven DevOps: The Key to Improving Speed & Scale
LyssnaPart 2: The technical practices of DevOps
Continuous Delivery omfattar en rad tekniska metoder för att leverera förändringar till användarna på ett säkert, snabbt och hållbart sätt. Det handlar om mjukvaruarkitektur, automatisering och att främja goda tekniska arbetssätt.
Automatisering spelar en avgörande roll i Continuous Delivery, oavsett om det gäller testning, driftsättning eller byggprocesser. Målet är att minska repetitiva uppgifter, ge utvecklare rätt förutsättningar, stärka deras kunskap och öka arbetstillfredsställelsen. Automatisering är kraftfullt, men kan också öka arbetsbelastningen om den inte hanteras effektivt. Med inspiration från Lean-metoder inom tillverkningsindustrin bör fokus ligga på kontinuerlig förbättring, optimering av värdeflöden och minimering av slöseri.
Det kan också vara utmanande att underhålla automatisering och kräva betydande insatser. Vi rekommenderar att använda befintliga COTS-verktyg (Commercial Off-The-Shelf) som Atlassian Jira och Confluence, Docker, GitHub, GitLab eller Kubernetes, som utvecklas och stöds av stora communityn och företag. Genom att använda etablerade lösningar, kommersiella eller open source, kan du spara tid och resurser jämfört med att bygga egna lösningar från grunden.
Här finns en artikel som går igenom Continuous Delivery mer ingående.
En vanlig missuppfattning är att molnet bara handlar om var din infrastruktur finns. Men det är bara halva bilden. Det viktiga är hur du använder, hanterar och tillhandahåller din infrastruktur. Om organisationens arbetssätt inte förändras blir platsen där dina servrar finns mindre relevant.
Om en utvecklare måste gå via en help desk och vänta i flera dagar på att få en maskin för att starta ett nytt projekt, behöver molnet användas på rätt sätt. För att få ut mesta möjliga av molnet måste du bygga rätt arkitektur och införa Agile-arbetssätt i hela organisationen.
Att hantera förändringar i en mjukvaruprodukt som utvecklas snabbt kan vara utmanande. För att förstå skillnaden mellan två versioner och säkerställa spårbarhet är versionshantering avgörande. Som Microsoft förklarar i den här guiden har Git blivit den globala standarden för versionshantering och används som open source-verktyg för att hantera källkod av över 90 % av världens utvecklare.
Mjukvarusystem är komplexa och består av olika komponenter som driftsätts i flera konfigurationer. Därför är det viktigt att lagra applikationens källkod samt testautomatisering, infrastruktur och deployment pipeline i versionshantering.
Versionshanteringssystem integreras ofta med verktyg för uppgiftshantering som Jira Software. Det möjliggör omfattande spårbarhet och revisionsspår samt säkerställer att förändringar dokumenteras och motiveras väl. En väl implementerad versionshantering öppnar också för nya arbetssätt som automatiserad säkerhetstestning, kodlinting och peer reviews, vilket förbättrar hela mjukvaruutvecklingsprocessen.
Konfigurationer
Deklarativ infrastruktur
Konfiguration av Continuous Delivery-pipeline
Instruktioner för att bygga, testa och köra
Genom att känna till det aktuella läget för de applikationer du underhåller kan du fatta datadrivna beslut. Du kan till exempel uppmärksamma aktiva buggar i desktopapplikationen eller tillgänglighet för en onlinetjänst. Målet är att undvika att kunder behöver informera dina utvecklare om ett problem.
Övervakning kan leda till användbara insikter och ett proaktivt arbetssätt genom att:
Mäta det som anses vara dina applikationers normala tillstånd
Larma vid avvikelser
Vara medveten om larmtrötthet
Använda postmortems utan skuldbeläggning för att undvika återkommande incidenter
Kom ihåg: övervakning och observability bör vara en del av applikationsdesignen. Puppet State of DevOps-rapporten visar att team som kan konfigurera sin egen övervakning oftare är högpresterande.
I traditionella metoder för mjukvaruutveckling är testning och kvalitetssäkring separerade från mjukvaruteamen, vilket kan skapa spänningar mellan utvecklare och kvalitetssäkring. Utvecklare känner sig ofta ifrågasatta när kvalitetssäkringen kliver in efter att de anser sig vara klara med sitt arbete, trots att målet är att höja produktens kvalitet.
Organisationer bör arbeta mer tillsammans för att förbättra denna dynamik och ge kvalitetssäkringsteamen en stödjande roll. De bör kontinuerligt granska teamens automatiserade tester för att säkerställa att de förblir underhållbara och effektiva. Testare kan också bidra genom att tillhandahålla testdata och optimera hastigheten i pipelines.
Moderna metoder, som beteendedriven utveckling (BDD), möjliggör effektiv automatiserad acceptanstestning med naturligt språk. De kräver dessutom inga programmeringskunskaper, vilket gör det lättare för intressenter att förstå syftet med varje test. Med BDD kan en bredare grupp delta i diskussioner om kvalitetssäkring och bidra till enskilda testfall.
Tack vare avancerad QA-automatisering och integration i Continuous Delivery-pipelinen får QA-experter mer tid att arbeta med uppgifter som vanligtvis inte blir gjorda, till exempel icke-funktionell testning och utforskande testning. Det effektiviserar utvecklingsprocessen ytterligare och säkerställer mjukvarureleaser av högre kvalitet. Genom att främja samarbete och använda automatisering kan organisationer uppnå mer effektiva kvalitetssäkringsmetoder som gynnar hela livscykeln för mjukvaruutveckling.
Är du intresserad? Läs vår blogg om de fem böcker du bör läsa för att bättre förstå vikten av kontinuerlig kvalitetssäkring. Klicka på länken nedan.
Utvalt
De här böckerna förklarar hur du automatiserar Quality Assurance för att leverera mjukvaruprodukter snabbare. Det handlar om mycket mer än verktyg – det handlar om rätt tankesätt.
Läs merFokusera på att alla befintliga funktioner testas automatiskt, så att du kan känna dig trygg inför varje ny release.
Cyberhot utgör en allvarlig risk för organisationer. Säkerhetsintrång kan leda till stora ekonomiska skador och skada varumärkets anseende, medan läckor av personuppgifter eller nedstängningar av IT-system kan orsaka intäktsbortfall och minska varumärkets värde. Högpresterande DevOps-team har löst konflikten mellan säkerhet och innovation genom att främja samarbete mellan säkerhetsspecialister och utvecklingsteam. På så sätt blir säkerhet en integrerad del av leveranspipelinen.
Säkerhetsspecialister spelar en avgörande roll genom att tillhandahålla förhandsgodkända bibliotek och processer. Det gör att team kan skapa produkter som är "secure by design", i stället för att försöka lägga till säkerhet i efterhand. Genom att integrera säkerhet i utvecklingspipelinen och använda automatiserade verktyg för säkerhetsskanning kan företag skydda sig bättre mot cyberhot och samtidigt behålla en hög innovationstakt. Genom att involvera säkerhetsspecialister ännu tidigare i utvecklingen säkerställer man dessutom att hotmodeller beaktas redan innan tid läggs på programmering. Då blir de tekniska lösningarna robusta redan från början.
Här är en blogg av Darren Richardson som tar upp de hot och försiktighetsåtgärder som alla som arbetar med cybersäkerhet bör känna till. Klicka på länken nedan.
Utvalt
Kritisk infrastruktur kommer alltid att vara ett attraktivt mål för cyberbrottslingar. Läs om hur och varför – och vad organisationer kan göra för att hantera problemet.
Läs merPart 3: Lead successful DevOps transformations
DevOps-transformationer förändrar i grunden hur en organisation arbetar, men de är inte en engångsresa med ett fast slutmål. DevOps-experter utvecklas kontinuerligt som en del av företagets kultur och arbetssätt, och ser förbättringar som en pågående process över tid.
Men för att nå den nivån kan det krävas en period av samlade insatser för att förändra befintliga arbetssätt. Den här fasen kallar vi en digital DevOps-transformation, som syftar till att integrera DevOps-metoder i organisationens dagliga arbete och göra den anpassningsbar till kundernas behov och utvecklingen inom området.
Det finns ingen universallösning för att driva en framgångsrik Agile- och DevOps-transformation. Varje organisation är unik, och ingen lösning som fungerar direkt ur lådan passar alla. Transformationsprocessen kräver ett anpassat angreppssätt som tar hänsyn till organisationens specifika utmaningar, mål och befintliga metoder. Harri Pendolin diskuterar ämnet mer ingående i sin blogg, De tre nivåer där din transformation behöver ske.
Genom att använda en plan för Agile DevOps-transformation och kontinuerligt anpassa sig till förändringar kan organisationer nå DevOps-prestanda i toppklass och skapa en kultur av ständiga förbättringar och innovation.
Varje organisations DevOps-transformation är unik och kräver ett anpassat angreppssätt, men många transformationer går igenom liknande faser. En transformationsöversikt eller färdplan för DevOps-transformation kan ge organisationer ett generellt ramverk att anpassa efter sina specifika behov.
Medvetenhet
Färdplan
Investering
Utvecklarplattform
Praktikgemenskaper
Teamtopologier
Självservice
Developer Experience
Continuous Delivery
Det är viktigt att lägga en stabil grund för att etablera en hållbar och skalbar användning av DevOps som är djupt förankrad i organisationskulturen. Börja med att bygga en sund kultur som välkomnar förändring och stöds av transparenta processer för godkännande av förändringar, grundläggande automatisering, noggrann övervakning och versionshantering. Det skapar rätt förutsättningar för att framgångsrikt införa DevOps i en digital transformation.
Det innebär att samla yrkesverksamma med ett gemensamt intresse för ett visst ämne, som sedan samarbetar och utvecklar sin expertis och kompetens. Att etablera och främja praktikgemenskaper är ett effektivt sätt att skala DevOps.
Dessa gemenskaper utvecklas till självständiga grupper som blir värdefulla vägledare för organisationens mål och spelar en viktig roll i att bevara och utveckla dess tekniska kompetens. Genom att skapa sådana gemenskaper ökar organisationens förmåga att anpassa sig till omorganisationer och produktförändringar. Att bygga upp dessa gemenskaper kräver dock både initiala och löpande investeringar. Gemenskaper frodas när de kretsar kring gemensamma intressen, är frivilliga och har en dynamisk anda som driver den kollektiva kunskapsutvecklingen.
Det är viktigt att inse att praktikgemenskaper kan styras på andra sätt än traditionella avdelningar. De bör i stället få definiera sin existens så länge de har ett tydligt syfte och får stöd från ledningen. Att ge gemenskaper det handlingsutrymmet uppmuntrar självständighet och skapar en miljö där kunskap och innovation kan frodas.
Med det sagt kan många olika former av internt ledarskap uppstå inom en gemenskap, till exempel:
En opinionsledare
Någon som organiserar aktiviteter och möten
Någon som dokumenterar arbetssätt
Vi brukar kalla dessa interna ledare för ”community builders”. De är särskilt viktiga när man startar en intressegemenskap som ännu inte finns. Det kan till och med finnas en intressegemenskap i din organisation utan att du är medveten om det.
Under DevOps-transformationen kan dessa community builders skapa en känsla av att förändring är brådskande. Därefter utvecklar de sina intressegemenskaper och tar ledande roller i dem.
En intressegemenskap för DevOps-transformation
En intressegemenskap för säkerhet
En intressegemenskap för Platform Engineering
Digitala tjänsters framgång bygger på genomtänkt design som samordnar användarupplevelse, användarflöden och varumärke med utvecklingsavdelningens arbete. Precis som mjukvara utvecklas kontinuerligt måste designen anpassas och förbättras över tid. Att se mjukvara som något levande understryker vikten av att kontinuerligt underhålla uppdaterade bibliotek för designers och utvecklare, eftersom tidigare projekt annars kan leda till föråldrade lösningar.
Ett gemensamt bibliotek främjar samarbete mellan design- och utvecklingsteam och möjliggör smidigare interaktioner och kunskapsutbyte. När design- och utvecklingsprocesser integreras kan det, tillsammans med DevOps-metoder som automatisering, leda till snabbare produktreleaser och kortare time-to-market.
Som vi förklarade i vårt blogginlägg om ämnet är ett designsystem en uppsättning bibliotek och processer som delar upp mjukvaruprojekt i de enklaste komponenterna, vilka kan återanvändas i olika projekt. Fördelarna med ett designsystem är bland annat:
Ett konsekvent utseende och en enhetlig känsla i alla produkter.
Designsystemet kan fungera som en länk mellan teamen. Utvecklare kan skicka pull requests som varumärkesteamet godkänner.
Det sparar tid. Designers och utvecklare behöver inte ta fram en lösning på samma problem flera gånger.
Organisationer som använder DevOps-metoder kan leverera mjukvara av högre kvalitet snabbare – vilket ger teamen mer tid att arbeta med nya funktioner och förbättra affärsresultaten. En lyckad molnanpassning ger också fördelar när det gäller skalbarhet, tillgänglighet och kostnadseffektivitet, och gör det betydligt enklare att ta till sig ny teknik, innovationer och experiment.
Genom att lyckas inom båda dessa områden får företag den flexibilitet som krävs för att överleva och kan dra nytta av DevOps snabbhet, kvalitet och effektivitet tillsammans med molnets kostnadseffektivitet och innovationsförmåga.
Part 4: The essential business case for DevOps
DevOps är inte längre ett val – det är avgörande. Det som tidigare var en konkurrensfördel är nu branschstandard, och DevOps samt digitala transformationer är nödvändiga för att mjukvaruorganisationer ska lyckas.
Teknik och verktyg är visserligen viktiga delar av DevOps, men det är ett misstag att tro att de erbjuder en komplett lösning. Det finns ingen färdig produkt att köpa, eftersom DevOps inte kommer i en låda. I stället måste nyckelintressenter och beslutsfattare ta ansvar för att driva de nödvändiga kulturella förändringarna från toppen av organisationen. För att företag ska kunna nå sin fulla DevOps-potential krävs en kombination av rätt verktyg och rätt arbetssätt.
Utvalt
Den här DevOps-guiden ger dig den förståelse för DevOps du behöver för att skala upp arbetssättet i hela organisationen och förbättra affärsresultaten.
Läs merRelated guides
Kontakta oss