Därför fungerar en testdriven process bäst

Traditionella utvecklingsprocesser har sin grund i ett kravdrivet angreppssätt. Idén kan tyckas logisk eftersom kraven ska kommunicera hur användarnas behov tillgodoses av IT-systemet. Vid någon tidpunkt (ofta sent i projektet) upptäcker man tyvärr ofta följande problem med den implementerade funktionaliteten:

  • Funktionaliteten överensstämmer inte exakt med det kunden trodde han/hon beställde.
  • Funktionaliteten överensstämmer inte exakt med kundens behov.
  • Funktionaliteten är inte användbar för användarna av systemet.

De här problemen är så vanliga att de snarare är regel än undantag och har flera orsaker:

  • Projektet får för lite, för långsam, för sen eller för sällan återkoppling på implementerad funktionalitet.
  • Projektet responderar ogärna eller för långsamt på ändringsbehov.
  • Kunden tvingas förutse alla krav och detaljera dem från början och lägger därför fokus på fel krav, på fel nivå och vid fel tidpunkt.

Kommunikation i kravdrivna projekt tenderar att ske genom dokument. Dokumenten betraktas  som kontrakt mellan beställaren och utföraren, och kontrakt ska som bekant följas till punkt och pricka. Eventuella avsteg från det ursprungliga "kontraktet" ska först uppdateras i kravdokumentet för att bli giltigt, och sedan vidare i alla därpå följande dokument. Det är inte svårt att inse att en kravdriven process ofta blir tungrodd och samtidigt bygger in motstånd mot förändring.

I en testdriven process används kraven som startpunkt och inte som ett facit som ska bockas av i samband med test. Det innebär att att man samarbetar med kunden för att forma och stämma av kraven (och acceptanskriterier för test) genom validering och testning. Att göra ändringar och tillägg från ursprungskraven är därför inbyggt i en testdriven process, snarare än ett nödvändigt ont. Agila metoder är testdrivna, men även om man inte praktiserar agil metodik i sitt projekt så kan man förbättra sig mycket genom att fokusera mer på samarbete, verifiering, validering och snabb återkoppling, dvs de egenskaper som utgör en testdriven process.

Om författaren
Mats Wessberg är VD och medgrundare av Inceptive. Han har verkat i IT-branschen sedan 1995 och mestadels som konsult. Hans huvudsakliga expertis är inom Quality Management och utvecklingsmetodik.