Vad är extrem programmering?
Extrem programmering är en av de nyare metoderna för att utveckla programvara. Det syftar till att förbättra traditionella metoder för mjukvaruutveckling genom att betona affärsvärde och kvalitet. Denna metod för programmering försöker leverera kompletta och felfri programvara som uppfyller affärsbehov, inom intervaller så kort som veckor.
På det traditionella sättet att utveckla programvara sträcker sig ett projekt över många månader eller år. Ett team av analytiker försöker få alla krav från användarna. Sedan skapar en uppsättning designers den breda strukturen i systemet. Därefter kodar programmerare systemet inom den strukturen. Testare ser sedan till att koden är felfri och uppfyller kraven.
Det huvudsakliga problemet med traditionell utveckling är att användarna själva inte alltid är tydliga med sina krav, och kraven förändras ofta under den långa tiden det tar att skapa programvaran. Olika människor är involverade i olika stadier, och dokumentationen är knappast någonsin fullständig, så människor i de senare stadierna kan inte ta reda på tankeprocessen hos människorna i de tidigare skeden. Detta resulterar i programvara med låg kvalitet och lågt affärsvärde.
Vanligtvis innebär extrem programmering ofta mjukvaruleveranser inom några veckors sträckor. Motivationen är att tillhandahålla fullt fungerande programvara som tillgodoser vissa kritiska affärsbehov. En ändring av kraven rymmer vid nästa leverans.
Extrem programmering, eller XP för kort, betonar kvalitet genom att skriva tester innan programmeringen genomförs. När programvaran skrivs granskas och testas koden många gånger om dagen. Hela programvaran sätts samman och testas en eller till och med flera gånger om dagen. Detta görs för att säkerställa att ingen enskild del av programvaran försämrar systemet.
En av de välkända aspekterna av extrem programmering är parprogrammering, där två programmerare arbetar tillsammans vid en dator. På grund av detta tillvägagångssätt kontrolleras tankeprocessen, designen och kodningen som går till skapandet av programvara omedelbart. Ansvaret för att utveckla programvara delas.
Med denna utvecklingsmetod börjar programvara med en enkel design och utvecklas för att tillgodose ytterligare affärsbehov. Att skapa funktioner undviks tills de faktiskt har hög prioritet. Tyngdpunkten ligger på teamarbete för att skapa kompletta system, så varje teammedlem spelar rollen som analytiker, designer, programmerare och testare varje dag. Det finns intensiv kommunikation inom programmeringsteamet, såväl som mellan programmerarna och de användare som mjukvaran levereras till.
I denna programmeringsmetod betonas begreppet refactoring starkt. Refactoring är intern kodförfining för att ge koden en bra struktur och för att göra det lättare att förstå utan att påverka utgången. Allt arbete med extrem programmering förväntas göras i en hållbar takt utan sena kvällar och helger. Detta ökar moralen och minskar sannolikheten för fel.
Extrem programmering tar sitt namn från idén att de positiva aspekterna av hur bra programmerare fungerar tas till det yttersta för att dra nytta av fördelarna. Denna utvecklingsmetod har varit ganska effektiv i ett antal programvarusystem. Eftersom detta fortfarande är en ny metodik utvecklas dess praxis kontinuerligt.