Loading AI tools
Från Wikipedia, den fria encyklopedin
Extrem programmering (XP) är en systemutvecklingsmetodik skapad av Kent Beck.
XP är en kodcentrerad process som utvecklades på grund av att många mjukvaruprojekt avbröts eller att projektplanen inte kunde hållas.
XP baseras på fem värderingar: kommunikation, enkelhet, återkoppling, mod och respekt. Det är viktigt att ha en kund på plats så att kontinuerlig kommunikation mellan utvecklarna och kunden är möjlig. Kunden som är på plats har möjlighet att bestämma vad som ska uppfyllas av systemet (krav på systemet) och i vilken ordning dessa ska prioriteras (så att de viktigaste kraven hanteras först).
Enkelhet fås genom kontinuerlig omstrukturering av kod (refaktorering) samt att skapa minimalt med dokument och annat som inte är kod eller en del av det slutgiltiga systemet. Kontinuerliga enhetstester och många delleveranser av systemet ger god återkoppling. Kommunikation är viktigt för återkopplingen då kunden på plats löpande ger synpunkter (feedback) på systemet. När något inte är speciellt populärt, men ändå mest rätt att göra krävs det mod. Det innebär egentligen att alla inblandade projektmedlemmar ska vara ärliga med vad de kan och inte kan göra. Respekt tillkom i 2:a upplagan av Kent Becks bok Extreme Programming Explained. Respekt innebär bland annat att visa respekt för medarbetare såväl som sig själv. Man skall visa respekt för andra medarbetares kod och inte göra ändringar om man inte genomfört goda tester.
Precis som utvecklingsprocessen RUP har XP ett antal så kallade "tillämpningar" som stöttar de fem värderingarna. Det finns 12 tillämpningar i XP:
Kravhantering i XP kontrolleras genom verksamhetsberättelser (funktionsbeskrivningar). Verksamhetsberättelser liknar användningsfall men är mindre detaljerade. Wake (2000) beskriver en verksamhetsberättelse som en kort beskrivning av systemet utifrån användarens synvinkel. Hela systemet specificeras genom verksamhetsberättelser och de skrivs ofta på ett informellt sätt vilket leder till ökad kommunikation mellan kunden och utvecklarna.
Verksamhetsberättelserna delas vidare upp i uppgifter som sedan normalt sett genomförs av en programmerare. Uppgifter är aktiviteter som måste utföras av programmeraren för att färdigställa implementationen av verksamhetsberättelsen.
En av de grundläggande metoderna i XP är testdriven utveckling av kod. Det innebär att så kallade enhetstester skrivs (kodas) innan själva koden som ska testas. Kent Beck, XP:s grundare, har utvecklat ett enhetstestramverk som kan användas för testning av kod. Ramverket kallas xUnit, där x byts ut mot det programspråk som utvecklas i, t.ex. ramverket för Java kallas JUnit.
När en uppgift är klar körs alla tester för att kontrollera och validera den nyskrivna koden. Om alla enhetstester går igenom byggs koden och integreras i systemet. Om fel uppstår ska de programmerare som upptäcker dem rätta till dem.
Enkel design är en annan teknik i XP. Försök alltid att hålla designen och koden enkel. En enkel regel är att om kommentering i koden behövs finns det ofta ett enklare sätt att programmera på. Ta kontinuerligt bort komplexa och identiska kodbitar för att hålla designen och koden enkel.
Det finns några slagord eller motton som XP-utvecklare arbetar efter:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.