At få et lidt større softwareudviklingsprojekt til at forløbe gnidningsfrit har aldrig været nogen let opgave. Siden computerens barndom i 50'erne er der kommet mange bud på, hvorledes et udviklingsteam bedst sammensættes, hvilke procedurer de bør følge, hvilke typer dokumentation og kode, der skal leveres, samt en lang række andre faktorer man har anset for vigtige i softwareudviklingssammenhæng.
En af de helt generelle trends har været at flytte flere og flere aktiviteter "up-front" - d.v.s. hen før selve programmeringsarbejdet påbegyndes. Dette var helt tydeligt i 80'erne og starten af 90'erne, hvor "vandfaldsmodellen" var fremherskende. Var forarbejdet gjort grundigt: En omfattende kravspecifikation, en god analyse og et grundigt arkitekturelt design, så var kodningsarbejdet blot en "formalitet".
Vi lever i en foranderlig verden, og det er ingen hemmelighed, at de specifikationer, der udfærdiges først i et længerevarende softwareprojektforløb, ofte viser sig ikke at være netop de, der løser problemet bedst muligt.
eXtreme Programming (XP) er en softwareudviklingsmetode, der tager det for givet, at specifikationer ændrer sig hen over tid. Vi bliver alle klogere undervejs i et projekt, både udviklerne/leverandøren og kunden/kundeorganisationen.
XP er en metode, der involverer alle parter i et softwareprojekt, både leverandørsiden og kundeorganisationen. Alle skal arbejde sammen i ét team om en fælles opgave: At lave det bedst mulige softwaresystem indenfor de givne rammer.
XP baserer sig på 4 værdier: Kommunikation, enkelthed, feedback og mod.
XP beskriver forholdsvis præcist, hvordan "dagligdagen" i et udviklingsprojekt skal forløbe. Dette er beskrevet med 12 praktikker, som et XP projekt lever udfra og "sammen med".
I løbet af kort tid vil der komme yderligere artikler og uddybende materiale om eXtreme Programming på dette website.