Den 9 maj höll jag och Magnus Juvas, VD på Solidify, en presentation på Transcendent Groups GRC-dag kring hur IT-utvecklingen förändrats under de senaste decennierna mot mer agila utvecklingsmetoder och vilken påverkan det får på vårt sätt att granska systemutvecklingsprocessen. Nedan följer en summering av vår presentation.
De allra flesta verksamheter har idag infört agila utvecklingsmetoder i någon utsträckning. Detta bedömer vi som positivt då de agila utvecklingsmetoderna har förutsättningar att åstadkomma en mycket högre grad av intern kontroll än traditionella vattenfallsmetoder. De agila metoderna har en högre ändringsfrekvens vilket medför lägre risk per produktionssättning och minskar diskrepansen mellan vad som beställts och vad som levereras. Det finns även ofta en ökad transparens inom utvecklingsteamet vilket minskar risken för både olovliga och felaktiga förändringar. Tvärfunktionella team med helhetsansvar inom olika produktområden ger också bättre möjlighet till löpande prioriteringar och säkerställande av verksamhetsnytta.
Det uppstår dock svårigheter när man försöker anamma traditionella kontroll- och granskningsmetoder på de nya agila arbetssätten. Gamla vattenfallsmetoder med tydliga faser och kontrollpunkter för utveckling, testning och produktionssättning går inte att applicera på exempelvis ett utvecklingsteam där dessa faser går in i varandra i korta iterationer med dagliga eller veckovisa produktionssättningar. I en revision behöver vi därför utvärdera hur alternativa kontroller har byggts in i utvecklingsmetodiken.
Vi kan konstatera att flera klassiska kontrollmål kvarstår men andra har minskat i vikt eller är inte längre aktuella vid agil utveckling. Nedan redogör jag för de, enligt min åsikt, mest väsentliga skillnaderna:
Det tar vanligtvis många år att inför agila utvecklingsprocesser som fungerar effektivt genom hela verksamheten. Ofta börjar IT-avdelningen att jobba agilt och därefter brukar detta anammas av övriga verksamhetsprocesser. Detta innebär att kringliggande processer såsom projektstyrning, systemförvaltning, budgetering och resurstilldelning inte alltid fungerar i god samverkan med den agila IT-utvecklingen. Vid revision av utvecklingsprocessen är det därför viktigt att utvärdera hur samverkan mellan dessa processer fungerar.
Inom samma organisation kan det också finnas skiftande mognadsnivåer vad gäller agil utveckling. Olika system kan därmed inom samma verksamhet behöva granskas på olika sätt som en följd av användandet av olika utvecklingsmetodiker och varierande mognadsgrader.
Med tanke på ovan utmaningar vill jag avslutningsvis poängtera vikten av att den som utför granskningar av utvecklingsprocessen lägger ner tillräckligt med tid i planeringsarbetet för att sätta sig in i de arbetssätt som tillämpas och de kringliggande processer som påverkar detta arbete.
Författare: Magnus Thyllman