Den främsta principen bakom agil systemutveckling är att tillfredsställa kunden genom tidig och kontinuerlig leverans av värdefull programvara. Det låter ju fantastiskt, men det betyder inte att agila metoder är de enda, eller i alla situationer ens de bästa för att leverera programvara. Vi lyfter några frågor som är lätta att förbise i samband med övergången till agil systemutveckling.

För komplexa problem finns inget uppenbart samband mellan orsak och verkan förrän möjligtvis i efterhand.

När passar ett agilt arbetssätt?

Alla typer av problem kan inte lösas på samma sätt. För att underlätta valet av lösningsmetod kan man använda den så kallade Cynefin-modellen, där responsen anpassas till den domän som problemet ligger inom.

  • Enkla problem löses med best practice genom att klassificera, leta upp rätt checklista och följa den.
  • Komplicerade problem är naturligtvis svåra – ibland mycket svåra – men förväntas ändå ha åtminstone en acceptabel lösning, även om det vanligtvis kräver expertkompetens för att analysera tillgängliga data och föreslå en lämplig metod för att nå den.
  • För komplexa problem finns inget uppenbart samband mellan orsak och verkan förrän möjligtvis i efterhand, och man måste därför experimentera sig fram i små steg vars riktning bestäms löpande.
  • I den kaotiska domänen vet vi inte ens om det finns ett bra svar, och allt handlar om att stabilisera situationen genom att ta sig till en annan domän. Omedelbar handling baserad på instinkt är därför effektivare än analys och långdragna kommittébeslut.

Om man inte vet i vilken domän man befinner sig i så råder oordning och då är högsta prioritet att fastställa sin belägenhet, eftersom man annars riskerar att agera i blindo.

Det är i den oförutsägbara komplexa domänen som ett agilt angreppssätt verkligen ger utdelning, eftersom det bygger på en serie av små inkrementella leveranser och korta feedbackloopar med låg risk och kontinuerligt lärande. Därigenom ökar chansen att slutprodukten möter kundens verkliga behov, som oftast växer fram över tid och alltså inte är kända från början.

Är organisationen redo?

Det räcker dock inte med att konstatera att ett agilt arbetssätt passar situationen, även organisationen måste vara beredd att anpassa sig. Silo-organisationer med lång planeringshorisont och traditionellt hierarkiskt beslutsfattande med en hög grad av detaljkontroll begränsar möjligheterna att arbeta agilt. Ledningen måste därför vara beredd att ”släppa taget” och göra det till sin uppgift att skapa tvärfunktionella team och upprätthålla en kultur och en miljö där teamen kan självorganisera sig för att lösa uppgiften. Vikten av och utmaningen i denna omställning bör inte underskattas.

En organisation som omfamnar idén att på ett kontrollerat sätt experimentera sig fram accepterar också att dessa experiment ibland inte kommer att ge önskat utfall. De lärdomar som dras är nyckeln till att kunna ändra riktning eller till och med rita om målbilden om det skulle behövas.

Är kontraktet anpassat till ert arbetssätt?

Kontraktet, oavsett om det är ett formellt kontrakt med en extern leverantör eller en förväntan mellan två interna avdelningar, bör baseras på agila principer. Detaljspecificerade leverabler och byråkratiska ändringsprocedurer kommer inte att underlätta löpande anpassningar till de ändrade förutsättningar som vi förväntar oss i den komplexa domänen. Fokusera mer på värdet och mindre på kostnaden, prioritera samarbetet och ge leverantören incitament att leverera tidigt och ofta. På så sätt får du som kund de bästa förutsättningarna att påverka slutresultatet.

Behöver ni hjälp i er kartläggning och övergång? Våra konsulter kan hjälpa dig.