Continuous Delivery handlar inte bara om verktyg

När vi pratar om Continuous Delivery är det lätt att börja diskutera den tekniska implementationen av en Deployment Pipeline. Det finns flera förklaringar till att det är så, inte minst så är det en rolig teknisk utmaning där det finns en stor verktygsflora att välja mellan för att hitta lösningar. Problemet med att vi ofta börjar med att diskutera verktyg är en ökad risk för att, helt eller delvis, missa betydelsen av de underliggande principerna som Continuous Delivery bygger på. Det är lika viktigt, kanske viktigare, att kunna svara på varför man gör något än att kunna svara på hur man gör något.

Varför?

Det finns många fördelar med Continuous Delivery och det gör att det väldigt lätt att glömma det viktigaste målet. Genom att leverera mjukvara till produktion ofta så lär vi oss att leverera på ett säkert och effektivt sätt. Vi får även snabbare återkoppling från våra kunder. Återkopplingen visar om vi gör rätt saker, saker som tillför värde för våra kunder.

När vi automatiserar vår leveransprocess blir den så robust och så snabb som det bara är möjligt. Det resulterar i att utveckling och leverans av mjukvara inte längre är en flaskhals. Tillsammans med agila metoder som mäter hur mycket arbete som hinns med per tidsenhet, flyttas fokus till att affärssidan måste prioritera vad som ska utvecklas först. Drar vi det ett steg längre så begränsas vi därför snarare av hur många förändringar organisationen och dess kunder kan hantera samtidigt.

Eftersom vi versionshanterar allt som påverkar vårt system så åstadkommer vi spårbarhet och vi vet alltid vem som ändrade något och när den ändringen gjordes. Det gör att vi lättare kan se vad som orsakade att något gick sönder. Vi bygger också in robusthet eftersom vi kan återskapa vårt system om något oförutsägbart skulle hända. På så sätt minimerar vi risken för att våra kunder ska råka illa ut vid eventuell nedtid. 

Slutligen

Visst är Continuous Delivery en intressant teknisk utmaning, det är dock viktigt att komma ihåg att vi gör det för att förbättra livet för de som använder våra system. Det är kunderna som berättigar existensen av en utvecklingsavdelning och därmed får vi inte tappa målet när vi inför tekniska lösingar.

 

Martin Johansson
martin.johansson@metrical.se