article

Hur förhåller sig DevOps till SAFe?

Av Jesper Gunnarson

DevOps kulturen är här för att stanna och så är även olika sätt att skala upp agil systemutveckling där ramverket SAFe just nu är ledande. SAFe tar sig an DevOps via något som förkortas CALMR. I denna artikel tittar vi närmare på detta vad denna förkortning avser.


C - Culture

DevOps är en samling koncept och en kultur inom mjukvarutveckling där ansvaret delas mellan utveckling och driftsättning. Historiskt sett är ofta dessa olika delar av en organisation eller helt olika organisationer. 

I DevOps har man en tolerans för fel och arbetar för att ha möjlighet till snabb återställning. Detta skiljer sig från traditionell driftsättning där lång förberedelse och en attityd med hängslen och livrem för att undvika alla typer av fel.

DevOps kulturen liksom den agila kulturen handlar om att dela information, arbetssätt, verktyg och lärande, samt att undvika att arbeta i silos.

A - Automation

Automatisering av driftsättningsprocessen är en nyckel för att lyckas. Detta innebär bland annat att kunna hantera och arbeta med flera olika miljöer (utveckling, test, staging och produktion) som måste vara så lika som möjligt. Därtill är det avgörande att den så kallade stagingmiljön är mer eller mindre identisk med produktionsmiljön.

Till detta automatiseras både funktions- och prestandatester så mycket det går för att undvika manuella regressionstester.

L - Lean Flow

För att optimera flöde av värde (fungerande mjukvara) behöver flaskhalsar identifieras och förhållandet mellan utveckling och förvaltning måste balanseras.

Ett par sätt att göra detta är att minska storleken på driftsättningar samt minska köhantering.

M - Measure everything

Här handlar det om att mäta så mycket som möjligt. Detta omfattar bland annat att utföra kontinuerlig övervakning, lagra loggar samt information från driftsättningar. Tydlig övervakning av både miljöer och driftsättningar är viktigt.

R - Recovery

Eftersom målet är att kunna göra driftsättningar ofta och automatiskt behövs mekanismer att kunna återställa fel på ett enkelt och snabbt sätt. Därför behövs miljöer där både roll-back och fix forward kan göras.

Verktyg och metoder som "Feature Toogles", "Dark Launches", "Chaos Monkey" och "Canary Releases" är viktiga i detta sammanhang. På detta sätt minskas riskerna med en driftsättning.

Med CALMR som ledstjärna är det möjligt att skala upp DevOps att fungera i en SAFe implementation.