Ward Cunningham var pionjär för extreme programming, XP, och testdriven utveckling, TDD. Han uppfann också Wiki, ett spritt verktyg för kollaborativ utveckling av webbsidor.

Här diskuterar han sina erfarenheter av testdriven utveckling med tidningen Infoworlds Jon Odell. Han beskriver hur FIT, Framework for Integrated Test, ger programmerare och affärsanalytiker möjlighet att samarbeta.

Vad är den främsta skälet för principen testa först?

-- Inte så mycket att hitta en eller annan bugg, utan att leda utvecklingen i en riktning som inte kräver att man koncentrerar sig på detaljerna. Då kan man tänka och agera strategiskt. De bästa utvecklarna är mycket intresserade av testning, men de vill ha tester som de har nytta av direkt.

Vad gör det möjligt att testa först?

-- Vi utgår från att det är lätt att skriva tester, men det har det inte alltid varit. Med Cobol fanns det inget sätt att gå in i mitten av ett program. Nu är det mycket mer sannolikt att ditt program är ett nät av objekt. Du kan gå in och ta tag i vilken du vill av dem.

Vad får testa-först-principen för sociala följder?

-- Utvecklare använder tester för att kommunicera med andra utvecklare. Det finns ett socialt kontrakt som säger: "Här är min kod, gör vad du vill med den, låt det ta den tid det tar och kör mina tester. Du kommer inte att skada mig om du klarar testerna, om du inte klarar ett test, kom och prata med mig."

Det finns de som säger att testa-först fungerar därför att det låter programmerarna göra det de vill göra: skriva kod, inte dokumentera.

-- Det kan ligga en del i det. Men när man skriver kod är man inriktad på ett enda mål. När man skriver ett test måste man bestämma sig: Av alla mål som jag vet att jag har, vilket ska jag inrikta mig på närmast?

-- Det handlar om ordningsföljd. Ska jag ta ett kort steg eller ett långt steg. Och hur ska jag kontrollera steget?

Folk säger att den ständiga positiva återkopplingen ? den gröna randen som visar att man har klarat testen ? verkligen höjer motivationen.

-- Det stämmer. Man tar ett steg, det verkar kort, men man får lite uppmuntran. Det är avklarat. Det är häpnadsväckande hur lite uppmuntran vi har fått under alla dessa år när vi har kodat i veckor eller månader. Det kan kännas fullständigt hopplöst.

Hur kommer FIT in?

-- Hur kan man ha en vettig diskussion om ett program som inte ens existerar än? Numera inriktar vi oss på användargränssnittet, men invecklade affärsscenarion, som godkännande av ett försäkringsavtal som görs i fel ordning, finns inte på radarskärmen. Som tur är brukar folk som tänker på sådant reda ut det hela på kalkylark. Med FIT kan vi göra om kalkylarket till en webbsida som mjukvarutesterna kommer åt att läsa och uppdatera.

Så programmerarna och affärsanalytikerna är bokstavligen på samma sida?

-- Stämmer. Kommunikation ansikte mot ansikte ger fortfarande den djupaste insikten i vad som krävs. Men någon gång vill du skriva upp det, du vill kunna säga: Här är några exempel på det språk jag använder som ämnesexpert, vill du kolla dem mekaniskt, som du gör på ditt jobb, så att mina intressen tillvaratas på samma sätt som dina.

IDG News
översatt av Anders Lotsson