Upload
daniele-demichelis
View
103
Download
1
Embed Size (px)
Citation preview
Ecosistema
Resistenze a TDD
Percorsi di adozione
Programmatori
ReticenzePerchè dovrei programmare di più ?
SoluzioneEsposizione al TDD
Nuovo collaboratore con esperienza TDD
Corso
Analisi dei risultati in letteratura
Programmatori
ReticenzeIl mio codice non necessita test
SoluzioneAnalisi dei risultati in letteratura
TDD per...Incremento qualità prodotto
TDD NON per...Migliorare i programmatori
Programmatori
ProblemaNon ho tempo
SoluzioneTDD supportato aziendalmente
Incremento tempi di rilascio a parità di team
Programmatori
ProblemaCome testo Monolitic.java (3000LOC) ?
SoluzioneNon scrivo Monolitic.java di 3000LOC
ScrivoModular1.java di 100LOC
Modular2.java di 120LOC
Programmatori
SoluzioniCorso o assunzione esperto
Team con partecipazione volontariaDisponibilità verso TDD
Misurare il software (bug w testing VS bug w/o testing)Confidenza in TDD
Nucleo di evangelisti
Programmatori
ProblemaDue settimane fa i test passavano ma ora no!
SoluzioneContinuous Integration
Build continua del progetto dai sorgenti su SCM
Test obbligatori
Programmatori
ProblemaNon ho tempo di controllare i report
SoluzioneTDD IDE Friendly
Eclipse con JUnit e ECLEmma
Commerciali
Problema20% - 40% del tempo in più ? Impossibile!
SoluzioniNo bonus alla firma
Bonus alla consegna o inversamente alla manutenzionePremia l'efficacia
Bonus a release intermedie
Percorso di adozione
Esposizione a TDDL'azienda viene esposta al TDD
Ne è interessata
Percorso di adozione
Introduzione TDDNuovo 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
Percorso di adozione
Acquisizione confidenza in TDDConfronto “TDDed” vs “no TDD”
I programmatori vorrebbero lavorare in un progetto senza TDD ?
Valutazione economicaDiminuzione effort manutenzione ?
Diminuzione regression bug ?
Diminuzione release critiche ?
Percorso di adozione
TDD fluenteSistemi di supporto
CI
Plug-In IDE
Coverage