2. Programmatori
Reticenze
Perchè dovrei programmare di più ?
Soluzione
Esposizione al TDD
Nuovo collaboratore con esperienza TDD
Corso
Analisi dei risultati in letteratura
3. Programmatori
Reticenze
Il mio codice non necessita test
Soluzione
Analisi dei risultati in letteratura
TDD per...
Incremento qualità prodotto
TDD NON per...
Migliorare i programmatori
4. Programmatori
Problema
Non ho tempo
Soluzione
TDD supportato aziendalmente
Incremento tempi di rilascio a parità di team
5. Programmatori
Problema
Come testo Monolitic.java (3000LOC) ?
Soluzione
Non scrivo Monolitic.java di 3000LOC
Scrivo
Modular1.java di 100LOC
Modular2.java di 120LOC
6. Programmatori
Soluzioni
Corso o assunzione esperto
Team con partecipazione volontaria
Disponibilità verso TDD
Misurare il software (bug w testing VS bug w/o
testing)
Confidenza in TDD
Nucleo di evangelisti
7. Programmatori
Problema
Due settimane fa i test passavano ma ora no!
Soluzione
Continuous Integration
Build continua del progetto dai sorgenti su SCM
Test obbligatori
8. Programmatori
Problema
Non ho tempo di controllare i report
Soluzione
TDD IDE Friendly
Eclipse con JUnit e ECLEmma
9. Commerciali
Problema
20% - 40% del tempo in più ? Impossibile!
Soluzioni
No bonus alla firma
Bonus alla consegna o inversamente alla
manutenzione
Premia l'efficacia
Bonus a release intermedie
11. Percorso di adozione
Introduzione TDD
Nuovo collaboratore con esperienza
Team su partecipazione volontaria
Utilizzo su singoli moduli
“TDDed” vs “no TDD”
Associare ad ogni bug una riproduzione dello stesso
tramite test
12. Percorso di adozione
Acquisizione confidenza in TDD
Confronto “TDDed” vs “no TDD”
I programmatori vorrebbero lavorare in un progetto
senza TDD ?
Valutazione economica
Diminuzione effort manutenzione ?
Diminuzione regression bug ?
Diminuzione release critiche ?