Un esperimento di
programmazione estrema
Una nuova metodologia di programmazione
Tesi di Marco Tamanti
6/12/2000
Nuove esigenze
Internet
Globalizzazione
Tempi ristretti
Specifiche dinamiche
Rapida evoluzione
6/12/2000
Il costo delle modifiche
Proibito modificare i piani
6/12/2000
Il cambiamento è la norma
Nuovi strumenti
Processori veloci e costi dell’hardware ridotti
Ambienti di sviluppo integrati
Programmazione OO, modulare
Database relazionali ad oggetti
Insieme di tecniche che XP introduce
6/12/2000
I valori
Buon senso
Semplicità
Comunicazione
Retroazione
Coraggio
6/12/2000
Il codice
L’uomo
Le tecniche
Utente sempre
presente
Veloce
pianificazione
40 ore
settimanali
Semplici
obiettivi
La metafora
Ristrutturazione
del codice
Piccoli cicli
produttivi
Test automatici
Proprietà
collettiva
6/12/2000
Programmazione
in coppia
Regole standard
di codifica
Continua
integrazione
Pratiche isolate
Test automatici
–
–
–
–
–
Qualità del codice
Sicurezza personale
Correzioni singole
Adesione alle specifiche
Ridotti test pre-release
Programmazione in coppia
–
–
–
–
–
Qualità del codice
Sicurezza personale
Meno errori
Comunicazione
…
160
Tempo
140
120
Individuali
100
80
In coppia
60
Totale in
coppia
40
20
0
1° Prog.
2° Prog.
3° Prog.
100
90
Qualità
80
70
60
50
Individuali
In coppia
40
30
20
10
0
6/12/2000
1°
Prog.
2°
Prog.
3°
Prog.
4°
Prog.
XP non è per tutti
XP non può funzionare quando il manager:
pretende specifiche complete dall’inizio
richiede un lungo ciclo per assicurarsi della qualità
prima di entrare in produzione
XP non può funzionare se:
Ciclo compilazione-testing è troppo lungo
Gruppi con più di 10 persone
Alcuni membri del gruppo non aderiscono a XP e non
accettano le responsabilità
6/12/2000
Conclusioni
XP è semplice, ma non è così semplice
applicarla
Rivoluzionaria
Molti la criticano perché non ci sono risultati
misurabili
Difficile testare XP: bisognerebbe confrontare
progetti identici
www.egroups.com
extremeprogramming
Internet - aziende giovani - piccoli gruppi
6/12/2000
IbnDbTestingKit
setUp
test1 {
doWork
checkWork
}
tearDown
6/12/2000
dB