Agil utveckling

Mjukvaruutveckling fungerar inte som andra industrier. Det är otroligt svårt att ta emot en kravspecifikation, uppfylla den och sedan leverera en produkt som kunden är nöjd med. Forskning har visat att den typen av metoder inte fungerar i branschen.

Vi arbetar därför enligt agila metoder. Mjukvaruutveckling är komplext eftersom kunden förväntar sig saker som är svåra att uttrycka i en kravspecifikation – specifikationer blir ofta öppna för tolkning och mycket anses vara underförstått.

Vi jobbar hellre i små steg mot målet, tillsammans med kunden. Vi utgår från en vision, bygger minsta möjliga och låter sedan kunden påverka systemet – steg för steg, dag för dag – fram till precis det system som kunden önskar.

Typisk arbetsgång

  • Kunden presenterar en vision eller målsättning.
  • Vi genomför förstudie och domänmodellering. Hur ser verksamheten ut? Vilka processer sker, och varför? Vilka affärsregler gäller?
  • Utvecklingen sker i små inkrementella steg och kunden kan i det närmaste i realtid se hur systemet växer fram. Varje gång en utvecklare gör en ändring publiceras den, så att kunden hela tiden kan ge feedback. Det minimerar onödigt arbete och synliggör skillnader i idé och uppfattning tidigt.
  • Testning sker parallellt med utvecklingen. Ingenting publiceras utan ett testfall som automatiskt kontrollerar att rätt sak utförs. Alla testfall bildar dessutom ett skyddsnät inför framtida ändringar, så att inget oväntat inträffar.
  • Kunden kommer löpande med nya önskemål och ändringar. Många förändringar kan vara på plats redan innan kunden hunnit lägga på luren.