Extreem programmeren met XP
Extreme Programming maakt een einde aan traditionele manier software-ontwikkeling
16 januari 2002 | Dominique Deckmyn
Extreme Programming, kortweg XP, is een nieuwe methode voor het ontwikkelen van software. De basisprincipes zijn een flexibele planning en een intensieve communicatie tussen de ontwikkelaars onderling en met de gebruiker.
Softwareontwikkeling is doorgaans een traag en log proces. Gebruikers vertellen hun wensen vaak niet duidelijk genoeg aan de ontwikkelaars, of ze worden verkeerd geïnterpreteerd. Tegen de tijd dat een applicatie ontwikkeld is, zijn de wensen van de gebruikers ook al vaak veranderd. Het gevolg: nieuwe software beantwoordt zelden volledig aan de verwachtingen van de opdrachtgever en is al verouderd nog voor hij in gebruik wordt genomen.
Extreme Programming (kortweg XP) is een methode die een einde wil maken aan de traditionele manier van software ontwikkelen. De methode is specifiek gericht op relatief kleine teams die werken met weinig overhead maar veel onderlinge communicatie.
De naam Extreme Programming wil nogal eens wat mensen afschrikken, aldus Pascal Van Cauwenberghe, CTO bij het softwarebedrijf Lesire Software Engineering. XP doet een beetje denken aan de waaghalzerige Extreme Sports of hacker-methodes. Bovendien wordt de afkorting "XP" nu ook gebruikt om te verwijzen naar de nieuwste versies van Microsoft Windows en Microsoft Office, wat voor extra verwarring zorgt.
Grondlegger van XP is programmeur Kent Beck. Hij ontwikkelde de methode toen hij bij Chrysler verantwoordelijk was voor het herschrijven van de loonadministratiesoftware. In 1999 verscheen zijn boek Extreme Programming Explained: Embrace Change. Sindsdien wordt XP steeds populairder.
Veel feedback
Bij XP worden geen ellenlange documenten met specificaties opgesteld. In plaats daarvan moeten de gebruikers gewoon beschrijven hoe ze met de nieuwe software willen kunnen werken. Met deze beschrijvingen of user stories gaan de programmeurs meteen van start. Tijdens de ontwikkeling wordt de software steeds opnieuw getest, zodat er aan het einde van de rit vaak minder bugs zijn dan bij traditionele methodes. Tussentijdse versies van de software worden immers regelmatig aan de gebruiker voorgelegd voor feedback.
Een van de meest opvallende (en controversiële) principes bij XP is pair programming: een opdracht wordt door twee ontwikkelaars samen uitgevoerd. Daardoor worden menselijke fouten sneller opgevangen, luidt de theorie. In de praktijk zorgt het wel eens voor wrijvingen, zeggen de critici van XP. Maar het zorgt wel voor een snelle doorstroming van informatie en kennis.
Ook in andere opzichten wijkt XP af van traditionele methodes. Zo heeft iedere programmeur toegang tot alle programmacode, en kan hij of zij die programmacode op elk punt wijzigen. Het projectverloop is bovendien minder rigide dan andere methodes.