Vad är extrem programmering?
Extreme 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 felfria programvara som uppfyller affärsbehov, inom intervaller så korta som veckor.
På det traditionella sättet att utveckla programvara sträcker sig ett projekt 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 största problemet med traditionell utveckling är att användare själva inte alltid är tydliga om sina krav, och kraven ändras ofta under den utökade tiden som det tar för att skapa programvaran. Olika människor är involverade i olika stadier och dokumentation är knappast någonsin fullständig, så människor i de senare stadierna kan inte räkna ut tankeprocessen för människorna i de tidigare stadierna. Detta resulterar i programvara av låg kvalitet samt lågt affärsvärde.
Vanligtvis involverar extrem programmering frekventa mjukvaruleveranser inom spann på några veckor. Motivationen är att tillhandahålla fullt fungerande programvara som hanterar vissa kritiska affärsbehov. En förändring i kraven tillgodoses i nästa leverans.
Extreme programmering, eller XP för kort, betonar kvalitet genom att skriva tester innan du genomför programmeringen. När programvaran är skriven granskas och testas koden många gånger om dagen. Hela programvaran är sammansatt och testas en gång eller till och med flera gånger om dagen. Detta görs för att säkerställa att ingen enda del av programvaran tar ner systemet.
En av de välkända aspekterna av extrem programmering är parprogramming, 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 in i skapandet av programvara omedelbart. Ansvaret för att utveckla alla programvara delas.
Med denna utvecklingsmetod börjar programvaran med en enkel design och utvecklas för att tillgodose ytterligare affärsbehov. Skapandet av funktioner undviks tills de faktiskt blir 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, liksom mellan programmerarna och de användare som programvaran levereras till.
I denna programmeringsmetod betonas begreppet refactoring mycket. Refactoring är intern kodförfining för att ge koden en bra struktur och göra det lättare att förstå utan att påverka utgången. Allt arbete iVolved i extrem programmering förväntas göras i en hållbar takt utan sena nätter och helger. Detta ökar moralen och minskar sannolikheten för fel.
Extreme programmering tar sitt namn från idén att de positiva aspekterna av hur bra programmerare arbetar till det extrema för att dra nytta av fördelarna. Denna utvecklingsmetod har varit ganska effektiv i ett antal programvarusystem. Eftersom detta fortfarande är en ny metod, utvecklas dess praxis kontinuerligt.