SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Standard internazionali e linee guida per
                      il software nel settore della salute

                              Federico Caboni - federico.caboni@crs4.it




Monday, October 29, 2012
Monday, October 29, 2012
1         progetto software su                           6
                  sfora il budget del

                  200%
                  e i tempi del

                    70%
                    Flyvbjerg B., Why Your IT Project May Be Riskier Than You Think, Harvard Business Review, September 2011:3-4




Monday, October 29, 2012
Monday, October 29, 2012
Monday, October 29, 2012
DIRECTIVE 2007/47/EC OF THE EUROPEAN
                          PARLIAMENT AND OF THE COUNCIL
                                  of 5 September 2007
                    amending Council Directive 90/385/EEC on the
                   approximation of the laws of the Member States
                    relating to active implantable medical devices,
                   Council Directive 93/42/EEC concerning medical
                 devices and Directive 98/8/EC concerning the placing
                           of biocidal products on the market


                           http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:
                                           2007:247:0021:0055:en:PDF




Monday, October 29, 2012
(6) It is necessary to clarify that software in its own
             right, when specifically intended by the manufacturer to
             be used for one or more of the medical purposes set
             out in the definition of a medical device, is a medical
             device. Software for general purposes when used in a
             healthcare setting is not a medical device.




Monday, October 29, 2012
(20) Taking account of the growing importance of
             software in the field of medical devices, be it as stand
             alone or as software incorporated in a device,
             validation of software in accordance with the state
             of the art should be an essential requirement.




Monday, October 29, 2012
IEC 62304
               Medical device software – Software life cycle processes




Monday, October 29, 2012
Monday, October 29, 2012
Monday, October 29, 2012
Metodologia



Monday, October 29, 2012
ricerca e sviluppo
          creazione di nuovi prodotti, servizi, ecc.




Monday, October 29, 2012
1. agilità
                           2. collaborazione
                           3. qualità


Monday, October 29, 2012
1. agilità



Monday, October 29, 2012
Waterfall




                           Design   Implement   Test




Monday, October 29, 2012
Costo di soluzione di un difetto
 costo




                                                              tempo


Monday, October 29, 2012
Costo di soluzione di un difetto
 costo




                           design          implement             test
                                                                 tempo


Monday, October 29, 2012
Iterativo



                           Design               Implement




                                       Test




Monday, October 29, 2012
Iterativo




                  1a           2a           3a          4a
              settimana    settimana    settimana   settimana




Monday, October 29, 2012
Iterativo




                  1a           2a            3a           4a
              iterazione   iterazione    iterazione   iterazione




Monday, October 29, 2012
misurare
          numero di bug, tempo medio di soluzione, ecc.;
          usare le misurazioni subito per correggere la rotta.




Monday, October 29, 2012
prototipi
          pianifica di gettarne via (almeno) uno.




Monday, October 29, 2012
改善
Monday, October 29, 2012
Monday, October 29, 2012
2. collaborazione



Monday, October 29, 2012
stakeholders
          possono essere numerosi e eterogenei.




Monday, October 29, 2012
scrivilo!
          scrivere subito una bozza e migliorare;
          usare strumenti con poco attrito (ad es. wiki).




Monday, October 29, 2012
versioning
          git, mercurial, svn... o perfino cvs;
          chi ha fatto cosa? quando? come torno indietro?




Monday, October 29, 2012
tener traccia dei difetti
          come si riproduce;
          cosa succede;
          cosa dovrebbe succedere;
          meglio un file excel condiviso che niente.




Monday, October 29, 2012
3. qualità



Monday, October 29, 2012
unit test
          provano una funzione/unità per volta;
          si scrivono mentre si implementa (o prima! -TDD);
          si usano anche come test di regressione.




Monday, October 29, 2012
black box testing
          provare il software dall'esterno;
          integrare continuamente, e provare l'integrazione;
          coinvolgere gli utenti il prima possibile.




Monday, October 29, 2012
fuzz testing
          il mondo reale non è deterministico;
          nemmeno il testing dovrebbe esserlo;
          vedi, ad esempio zzuf.




Monday, October 29, 2012
automatizzare
          deve essere possibile lanciare i test in un comando;
          oltre ai test automatizzare tutto il resto.




Monday, October 29, 2012
Brooks, Fred P. (1986). "No Silver Bullet — Essence and Accident in Software Engineering".
                                   Proceedings of the IFIP Tenth World Computing Conference: 1069–1076.




Monday, October 29, 2012
wiki

                                                                     unit testing

                                                 fuzz testing
                   sviluppo iterativo

                                                                 versioning

                                        code review


        integration testing                                           bug tracking

                                                automated building



Monday, October 29, 2012
Monday, October 29, 2012
Monday, October 29, 2012
hf_jobs@crs4.it



Monday, October 29, 2012

Contenu connexe

Similaire à Seminario Federico Caboni, 25-10-2012

Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
Tech_MX
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
lburdz
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
Kenan Sevindik
 

Similaire à Seminario Federico Caboni, 25-10-2012 (20)

TDD with Visual Studio 2010
TDD with Visual Studio 2010TDD with Visual Studio 2010
TDD with Visual Studio 2010
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
ETICS- quality certification of open source cloud software, OW2con'12, Paris
ETICS- quality certification of open source cloud software, OW2con'12, ParisETICS- quality certification of open source cloud software, OW2con'12, Paris
ETICS- quality certification of open source cloud software, OW2con'12, Paris
 
Building Analysis-1
Building Analysis-1Building Analysis-1
Building Analysis-1
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
 
The Web Designers Toolkit
The Web Designers ToolkitThe Web Designers Toolkit
The Web Designers Toolkit
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Test Driven Development - Caleb Tutty
Test Driven Development - Caleb TuttyTest Driven Development - Caleb Tutty
Test Driven Development - Caleb Tutty
 
Forces and Frictions affecting MDE
Forces and Frictions affecting MDEForces and Frictions affecting MDE
Forces and Frictions affecting MDE
 
LetsGrow SOLID Software development
LetsGrow SOLID Software developmentLetsGrow SOLID Software development
LetsGrow SOLID Software development
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
 
Making SharePoint Mobile
Making SharePoint MobileMaking SharePoint Mobile
Making SharePoint Mobile
 
Design Process for Robotics Competition
Design Process for Robotics CompetitionDesign Process for Robotics Competition
Design Process for Robotics Competition
 
Generative Art #01
Generative Art #01Generative Art #01
Generative Art #01
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
 
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
DevOps Tactical Adoption Theory  - DevOpsDays istanbul 2016DevOps Tactical Adoption Theory  - DevOpsDays istanbul 2016
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
 
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd   seven years afterIan Cooper webinar for DDD Iran: Kent beck style tdd   seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
 
Pee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development KitPee Dee Kay (PDK) - Puppet Development Kit
Pee Dee Kay (PDK) - Puppet Development Kit
 

Plus de CRS4 Research Center in Sardinia

Plus de CRS4 Research Center in Sardinia (20)

The future is close
The future is closeThe future is close
The future is close
 
The future is close
The future is closeThe future is close
The future is close
 
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
 
Iscola linea B 2016
Iscola linea B 2016Iscola linea B 2016
Iscola linea B 2016
 
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
 
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
 
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
 
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
 
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. PirasBig Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
 
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
 
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
 
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
 
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
 
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
 
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
 
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
 
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
 
Mobile Graphics (part2)
Mobile Graphics (part2)Mobile Graphics (part2)
Mobile Graphics (part2)
 
Mobile Graphics (part1)
Mobile Graphics (part1)Mobile Graphics (part1)
Mobile Graphics (part1)
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Seminario Federico Caboni, 25-10-2012

  • 1. Standard internazionali e linee guida per il software nel settore della salute Federico Caboni - federico.caboni@crs4.it Monday, October 29, 2012
  • 3. 1 progetto software su 6 sfora il budget del 200% e i tempi del 70% Flyvbjerg B., Why Your IT Project May Be Riskier Than You Think, Harvard Business Review, September 2011:3-4 Monday, October 29, 2012
  • 6. DIRECTIVE 2007/47/EC OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL of 5 September 2007 amending Council Directive 90/385/EEC on the approximation of the laws of the Member States relating to active implantable medical devices, Council Directive 93/42/EEC concerning medical devices and Directive 98/8/EC concerning the placing of biocidal products on the market http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L: 2007:247:0021:0055:en:PDF Monday, October 29, 2012
  • 7. (6) It is necessary to clarify that software in its own right, when specifically intended by the manufacturer to be used for one or more of the medical purposes set out in the definition of a medical device, is a medical device. Software for general purposes when used in a healthcare setting is not a medical device. Monday, October 29, 2012
  • 8. (20) Taking account of the growing importance of software in the field of medical devices, be it as stand alone or as software incorporated in a device, validation of software in accordance with the state of the art should be an essential requirement. Monday, October 29, 2012
  • 9. IEC 62304 Medical device software – Software life cycle processes Monday, October 29, 2012
  • 13. ricerca e sviluppo creazione di nuovi prodotti, servizi, ecc. Monday, October 29, 2012
  • 14. 1. agilità 2. collaborazione 3. qualità Monday, October 29, 2012
  • 16. Waterfall Design Implement Test Monday, October 29, 2012
  • 17. Costo di soluzione di un difetto costo tempo Monday, October 29, 2012
  • 18. Costo di soluzione di un difetto costo design implement test tempo Monday, October 29, 2012
  • 19. Iterativo Design Implement Test Monday, October 29, 2012
  • 20. Iterativo 1a 2a 3a 4a settimana settimana settimana settimana Monday, October 29, 2012
  • 21. Iterativo 1a 2a 3a 4a iterazione iterazione iterazione iterazione Monday, October 29, 2012
  • 22. misurare numero di bug, tempo medio di soluzione, ecc.; usare le misurazioni subito per correggere la rotta. Monday, October 29, 2012
  • 23. prototipi pianifica di gettarne via (almeno) uno. Monday, October 29, 2012
  • 27. stakeholders possono essere numerosi e eterogenei. Monday, October 29, 2012
  • 28. scrivilo! scrivere subito una bozza e migliorare; usare strumenti con poco attrito (ad es. wiki). Monday, October 29, 2012
  • 29. versioning git, mercurial, svn... o perfino cvs; chi ha fatto cosa? quando? come torno indietro? Monday, October 29, 2012
  • 30. tener traccia dei difetti come si riproduce; cosa succede; cosa dovrebbe succedere; meglio un file excel condiviso che niente. Monday, October 29, 2012
  • 32. unit test provano una funzione/unità per volta; si scrivono mentre si implementa (o prima! -TDD); si usano anche come test di regressione. Monday, October 29, 2012
  • 33. black box testing provare il software dall'esterno; integrare continuamente, e provare l'integrazione; coinvolgere gli utenti il prima possibile. Monday, October 29, 2012
  • 34. fuzz testing il mondo reale non è deterministico; nemmeno il testing dovrebbe esserlo; vedi, ad esempio zzuf. Monday, October 29, 2012
  • 35. automatizzare deve essere possibile lanciare i test in un comando; oltre ai test automatizzare tutto il resto. Monday, October 29, 2012
  • 36. Brooks, Fred P. (1986). "No Silver Bullet — Essence and Accident in Software Engineering". Proceedings of the IFIP Tenth World Computing Conference: 1069–1076. Monday, October 29, 2012
  • 37. wiki unit testing fuzz testing sviluppo iterativo versioning code review integration testing bug tracking automated building Monday, October 29, 2012