Att förstå den kontinuerliga cykelns (eller DevOps-cykelns) 6 C:n och se till att automatisera mellan dessa steg, kommer att vara den största utmaningen och främsta målet för många IT-chefer under de kommande åren. I det här blogginlägget har vi därför listat dessa och ger dig en kortare förklaring kring varje C och vad de innebär.
Här är den kontinuerliga processens 6 C:n:
1. Continuous Business Planning förespråkar en mer dynamisk, testande och lärande process där idéer testas på den verkliga marknaden och förespråkar snabba korrigeringar baserade på utfall och feedback. Detta till skillnad från traditionell affärsplanering som är för statisk och ger illusionen av att vi sitter inne med alla svaren när de i själva verket är baserade på antaganden och estimat.
2. Collaborative Development handlar också om att skriva rätt produkt från början och inte behöva ändra och skriva om delar, genom att involvera och samarbeta med kunder, leverantörer och andra externa parter.
Både parprogrammering och mobprogrammering är framgångsrika metoder för att skriva mjukvara med hög kvalitet och strategiska aspekter i fokus (som underhållbarhet, kompetensspridning, säkerhet, utbyggbarhet, skalbarhet, testbarhet, med mera). Samarbete främjar också innovativt tänkande genom diskussioner.
3. Continuous testing handlar om automatiserade tester på alla nivåer och i alla steg av utvecklingscykeln som triggas av händelser (som commit, deploy, med flera). Denna typ av testinfrastruktur erbjuder snabb och kontinuerlig feedback som i sin tur möjliggör snabb refaktorering utan risken för oönskade sidoeffekter (defekter och buggar). Continuous testing handlar inte bara om automatiserade funktionella tester, utan även om automatiserade säkerhetstester, prestandatester med mera.
4. Continuous Deployment syftar till att minimera ledtid, alltså tiden mellan att utvecklare skriver en ny kodrad och att den nya koden används av riktiga användare i produktion. För att uppnå Continuous Deployment bygger teamet automatisering och infrastruktur som styr de olika stegen som leder till driftsättning. Systemet i drift uppdateras med ny kod efter varje integration efter att framgångsrikt ha uppfyllt ett antal kriterier. Att göra flera små kontrollerade uppdateringar leder också till att problem som kan uppstå i samband med driftsättning blir mindre sett till både omfattning och allvarlighet. Det skall också finnas rutiner för att avbryta driftsättningsprocessen, eller rulla tillbaka de nya funktionerna.
5. Continuous Monitoring handlar om kontinuerlig monitorering, övervakning och hantering av systemet i drift. Det kan vara allt ifrån kontinuerlig övervakning av säkerheten, såsom att identifiera och mäta säkerhetskonsekvenser för planerade och oplanerade förändringar i hårdvara, programvara, operativsystem, tredjepartskomponenter, drivrutiner, med mera till APM. Application Performance Management (APM) är monitorering, övervakning och hantering av prestanda och tillgänglighet av hela IT-system. APM strävar efter att upptäcka och diagnostisera komplexa systemprestandaproblem för att upprätthålla en förväntad servicenivå.
6. Customer Feedback and optimization, kontinuerlig kundfeedback och optimering ökar produktiviteten genom att kora återkopplingscykeln från kunder och slutanvändare. Kontinuerlig återkoppling från kunder och slutanvändare ger också bevis och en fullständig kontext för att analysera kundbeteenden och identifiera kundens önskemål. Feedback används för att maximera varje kundbesök och se till att fler transaktioner slutförs framgångsrikt. Genom att vidga leanprinciperna och tillämpa över hela mjukvaruleveranscykeln, med enhetliga mätningar och samarbete inom hela organisationen, kommer overhead, duplicering och omarbetande minska.
Sammanfattning
Continuous som arbetsmetod har de senaste åren vuxit sig större och möjliggör en betydligt snabbare time-to-market än vad som är möjligt med mer traditionella metoder. Men det är fortfarande ett nytt begrepp för många och innehåller en hel del tekniska bitar att hålla koll på. I det här blogginlägget har vi därför listat den kontinuerliga cykelns 6 C:n, Continuous business planning, Collaborative development, Continuous testing, Continuous deployment, Continuous monitoring, och Continuous feedback and optimization.
Att bygga, testa och underhålla mjukvara blir alltmer komplext, vilket är anledningen till att vi behöver utveckla nya verktyg och metoder för att hänga med och vara konkurrenskraftiga. Det behövs något nytt när det Agila arbetssättet (som snart fyller 30 år) gör det svårt att hitta balansen mellan kvalitet och innovation, struktur och kaos.