Dev står för Development (utveckling) och Ops står för Operations (drift).
DevOps har varit på mångas läppar länge vid det här laget – och av goda skäl – men det kan vara utmanande att snabbt få grepp om vad det innefattar. Så här har vi samlat det du behöver veta.
River murarna mellan teamen
DevOps har utvecklats för att undvika traditionellt silotänkande och suboptimering mellan avdelningarna. När ny mjukvara ska implementeras berörs ju inte bara utvecklingsavdelningen utan även IT, compliance, säkerhet och support.
Ändå är det inte ovanligt att varje team kör sitt eget race. DevOps hjälper teamen att samordna arbetet, effektivisera arbetsflödet och säkerställa produktkvaliteten. Inte minst genom att utvecklings- och produktionsavdelningen – operations – kommer närmare varandra och förstår varandras behov bättre.
De flesta som jobbar med agil utveckling inser värdet av att sätta nya versioner av programvaran i produktion ofta, så att kunden kan testa ny funktionalitet i systemet med kortare intervaller.
Problemet är bara att utvecklingsteamet brukar bedömas på hur mycket ny funktionalitet de skapar medan produktionsavdelningen bedöms på hur stabila systemen är. Och ny funktionalitet minskar alltid stabiliteten, åtminstone tillfälligt. Du förstår problemet: osynk mellan teamen blir lätt en bromskloss för allt som ska implementeras. Det kan sluta med att leveranstider, budgetar och kundrelationer sätts under press.
Genom att samarbeta i ett DevOps-team kan produktionsavdelningen påverka utvecklingsplanen. De vet alltid vilken ny funktionalitet som kommer och kan anpassa sig därefter. Och utvecklingsavdelningen vet vad produktionsavdelningen behöver och kan ta hänsyn till det från början.
Men DevOps-arbetet går längre än så. Det omfattar alla faser i en produkts utvecklingscykel: planering, utveckling, leverans och drift. Alla roller inblandande i varje fas, om än i olika hög grad.
DevOps-kulturen
DevOps beskrivs ofta som en kultur som för samman personer, processer och teknik i syfte att leverera kontinuerligt värde. Det är ett nytt sätt att tänka och arbeta som bland annat innebär att man organiserar sig i DevOps-team kring produkterna de levererar.
Ett DevOps-team kan t ex innehålla en produktchef, utvecklare, infrastrukturexperter och systemadministratörer. Den stora utmaningen brukar vara att få med alla på tåget. Men när organisationen väl engagerar sig kan den utveckla högpresterande team.
Fem arbetssätt som gör DevOps framgångsrikt
En DevOps-kultur bygger på fem principer:
1. Samarbete och transparans
Utveckling, IT och de andra berörda teamen delar sina processer, prioriteringar och problem med varandra och planera arbetet tillsammans.
2. Ansvar för flera faser
En avdelning tar inte bara ansvar för den fas i produktlivcykeln man är van vid. Utvecklare ansvarar till exempel inte bara för innovation och kvalitet i utvecklingsfasen, utan även för prestanda och stabilitet i drift. Samtidigt behöver IT-operatörer säkerställa styrning, säkerhet och compliance i planerings- och utvecklingsfasen.
3. Kortare utgivningscykler
Att släppa programvara i korta cykler gör planeringen lättare och minskar riskerna. Det blir också lättare att snabbt anpassa sig efter nya kundbehov och bemöta konkurrens.
4. Automatisera allt som kan automatiseras
Med DevOps-verktygen kan man automatisera så mycket tester som möjligt. Uppgraderingar till nya versioner kan göras snabbt och skulle ett problem upptäckas kan allt enkelt rullas tillbaka.
5. Snabba misslyckanden, snabb inlärning
De bästa DevOps-teamen har ett tillväxttänkande. De håller högt tempo, misslyckas snabbt och använder sina lärdomar till att förbättra arbetsprocesserna. Helst genom att ”automatisera bort” liknande misstag i framtiden.
Eftersom varje iteration av produkten innehåller få förändringar är risken låg och misstag kan snabbt rättas till. Målet är att identifiera och åtgärda problemen innan de hinner påverka kundupplevelsen.
LCS – en samarbetsportal för DevOps
Om du använder Microsoft Dynamics kan det vara värt att titta närmare på LCS, Microsoft Dynamics Lifecycle Services. Det är en Microsoft Azure-baserad portal för samarbete mellan teamen som också kan användas av kunder och partners. LCS hjälper dig att komma i gång med DevOps och arbeta effektivt med implementeringar, uppdateringar och uppgraderingar.
För att lyckas med DevOps behöver flera avdelningar engagera sig och lära sig ett delvis nytt sätt att tänka och arbeta. Att konceptet trots det har fått fäste på markaden förklaras nog bäst av dess tydliga affärsnytta: kortare tid till marknad, högre leveranskvalitet och minskad risk.