SlideShare a Scribd company logo
1 of 13
Ecosistema
Resistenze a TDD
Percorsi di adozione
Programmatori
Reticenze
  Perchè dovrei programmare di più ?
Soluzione
  Esposizione al TDD
    Nuovo collaboratore con esperienza TDD
    Corso
    Analisi dei risultati in letteratura
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
Programmatori
Problema
  Non ho tempo
Soluzione
  TDD supportato aziendalmente
  Incremento tempi di rilascio a parità di team
Programmatori
Problema
  Come testo Monolitic.java (3000LOC) ?
Soluzione
  Non scrivo Monolitic.java di 3000LOC
  Scrivo
    Modular1.java di 100LOC
    Modular2.java di 120LOC
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
Programmatori
Problema
  Due settimane fa i test passavano ma ora no!
Soluzione
  Continuous Integration
    Build continua del progetto dai sorgenti su SCM
    Test obbligatori
Programmatori
Problema
  Non ho tempo di controllare i report
Soluzione
  TDD IDE Friendly
     Eclipse con JUnit e ECLEmma
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
Percorso di adozione
Esposizione a TDD
  L'azienda viene esposta al TDD
  Ne è interessata
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
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 ?
Percorso di adozione
TDD fluente
  Sistemi di supporto
    CI
    Plug-In IDE
    Coverage

More Related Content

Similar to TDD Adozione

Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopmentDotNetCampus
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
 
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...Microfocusitalia
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessFelice Pescatore
 
Software Testing & Test Driven Development
Software Testing & Test Driven DevelopmentSoftware Testing & Test Driven Development
Software Testing & Test Driven DevelopmentSergio Santoro
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)Roberto Bettazzoni
 
Delphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del TestingDelphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del TestingMarco Breveglieri
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerAlessandro Alpi
 
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Davide Gallitelli
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Gian Maria Ricci
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deployKlab
 
Hybrid DevOps Stack
Hybrid DevOps StackHybrid DevOps Stack
Hybrid DevOps StackMatteo Emili
 
PowerMock TDD User Group Milano
PowerMock TDD User Group MilanoPowerMock TDD User Group Milano
PowerMock TDD User Group MilanoMassimo Groppelli
 

Similar to TDD Adozione (20)

Test automatizzati & serenity bdd
Test automatizzati & serenity bddTest automatizzati & serenity bdd
Test automatizzati & serenity bdd
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopment
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
Pro php refactoring
Pro php refactoringPro php refactoring
Pro php refactoring
 
Testing
TestingTesting
Testing
 
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
 
Software Testing & Test Driven Development
Software Testing & Test Driven DevelopmentSoftware Testing & Test Driven Development
Software Testing & Test Driven Development
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)
 
Delphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del TestingDelphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del Testing
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
 
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
 
2013 why agile
2013 why agile2013 why agile
2013 why agile
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deploy
 
Hybrid DevOps Stack
Hybrid DevOps StackHybrid DevOps Stack
Hybrid DevOps Stack
 
PowerMock TDD User Group Milano
PowerMock TDD User Group MilanoPowerMock TDD User Group Milano
PowerMock TDD User Group Milano
 

TDD Adozione

  • 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
  • 10. Percorso di adozione Esposizione a TDD L'azienda viene esposta al TDD Ne è interessata
  • 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 ?
  • 13. Percorso di adozione TDD fluente Sistemi di supporto CI Plug-In IDE Coverage