TDD Adozione

Preview:

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