• No results found

Extreme Programming (XP)

N/A
N/A
Protected

Academic year: 2021

Share "Extreme Programming (XP)"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

Alternativ utvecklingsmetodik:

Extreme Programming (XP)

Kent Beck

(2)

Motivering

Extreme programming (XP) kan ses som en reaktion på den traditionella utvecklingsmetodiken (till exempel

objekt-orienterad analys och design), och ett försök att uppnå samma mål med andra medel.

De tolv reglerna nedan sammanfattar XP.

(3)

1. Utveckla i små steg

• Börja med ett enkelt system (så enkelt som är rimligt)

• Ta fram nya, utökade versioner med jämna

mellanrum

(4)

2. Planering

• Fokusera hela tiden på nästa version av systemet.

• Bestäm innehåll beroende på behov och tekniska

aspekter

(5)

3. Metafor

En kort historia om hur systemet fungerar

(6)

4. Automatiska tester

• Skriv en svit av tester för att testa systemet i stort och dess enskilda delar (unit testing)

• Skriv tester som beskriver önskat beteende innan du börjar koda!

• Testerna blir specifikationen

(7)

5. Enkelhet

• Skriv det enklaste programmet som klarar alla tester

• ingen duplicerad kod

• minsta möjliga antalet klasser&metoder

• ingen “onödig” funktionalitet

• koda inte för framtiden

• Programmet ska uttrycka programmerarens avsikt

(8)

6. Refactoring

Försök ständigt förenkla programmet!

Exempel: Två klasser som gör ungefär samma sak—ersätt dem med en enda klass.

Inte trivialt: Klasserna kan ha olika metodnamn etc.

Vi kan bli tvungna att ändra kod som använder klasserna.

Annat exempel: Två klasser har delvis samma funktionalitet.

Skapa en abstrakt klass som båda ärver från.

(9)

7. Parprogrammering

All programmering görs i grupper av två Två programmerare—ett tangentbord

Grupperna kan variera beroende på (tex) arbetsuppgift Fördelar: Undvik enkla misstag .

Nackdel: Halvera arbetsstyrkan!

(10)

8. Gemensamt ägande av kod

• Alla har ansvar för all kod

• Alla har rätt att ändra

• Om en programmerare (ett par) ser en brist i din kod (eller en möjlighet att förbättra) är det deras

skyldighet att göra detta.

(11)

(Vad är alternativen till gemensamt ägande?)

• Inget ägande av kod (vet inte om detta nånsin förekommit)

• Alla äger sitt avsnitt

– Om nån annan vill ändra i din kod måste han be dig

– Stabilt, men förändringar kan vara svåra att

genomföra

(12)

9. Ständig integration

Nyskriven kod ska testas i systemet efter (högst) några timmar.

Varje par har ansvar för att föra in sin förändring och se till att den klarar testsviten till 100%

Om de inte klarar det—släng ändringarna

(13)

10. 40-timmarsvecka

Populärt låta folk arbeta mer än så

• Mänskliga skäl

• Långa arbetsveckor är ofta ett sätt att dölja brister i projektplanering

• Om man är trött sjunker produktiviteten (och man gör

fler misstag)

(14)

11. Kund på plats

Ha en “äkta kund” (dvs en kund som ska använda systemet) på plats

Hjälper programmerarna att bedöma vad som är viktigt Provkör systemet

[Rimligtvis bör kunden fortfarande kunna utföra en del av

sina vanliga arbetsuppgifter]

(15)

Exempel: Ska man skriva

void f() { ...

}

eller void f() {

...

}

Om flera personer ska arbeta med samma kod måste man enas

(16)

Sammanfattning:

Traditionell systemutveckling lägger stor vikt på planering.

Extreme programming fokuserar på programmet...

...och lägger allt ansvar på programmerarna.

Flera av reglerna strävar till att minska risken att

programmet går överstyr: parprogrammering, testning, ständig integration, refactoring.

I stället för analys och design i separata faser arbetar

man direkt mot kund.

References

Related documents

Det är inte boendeformen, den personliga ekonomin eller patientens munhälsotillstånd som är avgörande för om en person ska omfattas av detta särskilda stöd utan

Vi söker snittmängden av dessa intervall och får ∈ 2,. a) Eftersom planet är ortogonalt mot den givna linjen är planets normal lika med linjens riktning, d.v.s... Vi observerar

Tack till de som hjälper till med denna insamling och ett stort tack till Leif Karlsson, ansvarig för arbetet och som ser till att säckarna kommer till pantstationen.. 6

Svara själv på frågorna och skriv sedan fyra egna frågor till författaren... SOFIE BERTHET

Varför får Bricken inte följa med sin pappa in till stan?. Vad ska männen göra

En annan anledning till denna avgränsning är att det åsiktsmaterial som finns i bilagorna troligen redan är kategoriserat i ämnen som Sport eller Resor, vilket även det skulle

Jag skrev klart noterna, spelade in demo CD:n, delade ut allt, skickade ut förslag på datum för repetitioner, jag har övat väldigt mycket, jobbat med låtarna och hur jag ska spela

waiting – příkaz pro vložení časového zpoždění, má hodnotu v ms; hodnota nesmí být záporná jump – příkaz skoku na jiný příkaz, má hodnotu „Cíl“ a