SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Continuous Integration
            - A Framework for Better Quality Software
            Richmond SPIN




                                             Richmond
Eric Pugh
                                             May 13th, 2009



                                                              1
Who am I?



  Principal of OpenSource Connections
 Contributer to CruiseControl and
 Continuum CI projects
 Member of Apache Software Foundation
 Presenter at many conferences
 including OSCON, ApacheCON, jTDS,
 ExpoQA
 Fascinated by the art of software
 development




 Continuous Integration                  RICHMOND, May 13, 2009


                                                                  2
What are we talking about?



   What is CI?
   Why does it matter to me?
   What do I need to use CI?
   Demonstration of Hudson
   Where does CI fit into the SPIN World?
   Questions!




                                                                      3
   Continuous Integration                    RICHMOND, May 13, 2009


                                                                      3
What is Continuous Integration?




         From Martin Fowler:


         “a fully automated and reproducible build,
         including testing, that runs many times a day”.




          http://martinfowler.com/articles/continuousIntegration.html




                                                                                       4
   Continuous Integration                                     RICHMOND, May 13, 2009


                                                                                       4
Rapid Feedback




                            < 10 minutos




   Continuous Integration                  RICHMOND, May 13, 2009


                                                                    5
How is CI important to different members of a team?




                                                                               6
   Continuous Integration                             RICHMOND, May 13, 2009


                                                                               6
Life of a programmer without CI...



   Unstable code, integration is difficult
  Many build errors reported
  Only one person on the team can build the entire
  project
  Demonstrations require extensive planning
  Feedback cycle is long




    Every day is a struggle to be productive


                                                                               7
    Continuous Integration                            RICHMOND, May 13, 2009


                                                                               7
Life of a programmer with CI...



     The build process is simple and repeatable
    Elimination of Human Error
    Demo’s are quick and easy
    Feedback cycle is very rapid




    Every day you know you can code!


                                                                            8
    Continuous Integration                         RICHMOND, May 13, 2009


                                                                            8
For a tester




      control
  


     What is in the build?
     What has changed between builds?
     How do I verify functionality?




                                                                  9
    Continuous Integration               RICHMOND, May 13, 2009


                                                                  9
For a Project Manager




      Visibility
  




                                                     10
   Continuous Integration   RICHMOND, May 13, 2009


                                                     10
For a Project Manager




                                                     11
   Continuous Integration   RICHMOND, May 13, 2009


                                                     11
For a development team




      security
  




                                                     12
   Continuous Integration   RICHMOND, May 13, 2009


                                                     12
For a development team




                                                     13
   Continuous Integration   RICHMOND, May 13, 2009


                                                     13
For a development team




                                                     14
   Continuous Integration   RICHMOND, May 13, 2009


                                                     14
For a development team




                                                     15
   Continuous Integration   RICHMOND, May 13, 2009


                                                     15
What is needed to get started?



   A dedicated machine
   Source Control
   Automated Build Script
   Method of notification




                                                          16
   Continuous Integration        RICHMOND, May 13, 2009


                                                          16
What are the challenges to using CI?




                                                                17
    Continuous Integration             RICHMOND, May 13, 2009


                                                                17
Challenge One: Cultural Change



    CI needs a champion who acts as the ambassador to the leaders of the
   organization.
   Thought leaders in the organization who can help encourage
   developers to accept the process changes that CI brings

    A very successful test case
     ¿A greenfield project if possible?




                                                                                 18
   Continuous Integration                               RICHMOND, May 13, 2009


                                                                                 18
Challenge Two: Environmental Difficulties




 All the tests should be true unit tests, not
integration tests
 Few or no external dependencies
 A beefy build server...
 A strategy for deploying code into the CI
environment
Database changes are SIMPLE




                                                                          19
     Continuous Integration                      RICHMOND, May 13, 2009


                                                                          19
Challenge Three: Project Characteristics



   Fewer branches to the code makes life easier
   Many small code changes. Code is committed throughout the day.
   There are good unit test coverage.
   The code is ready for deployment, not in pieces.




                                                                                20
   Continuous Integration                              RICHMOND, May 13, 2009


                                                                                20
Challenge Four: Stability of CI Tool




                                                      X
    The CI system must be as well maintained as
    the Source Control system.
    The CI system performs builds very quickly.
    Who has responsibility for CI? It’s very
    important to have a “throat to choke”.
    No false alarms. If there are false alarms
    then the developers lose confidence in the CI




                                                      ✓
    system.




                                                                             21
    Continuous Integration                          RICHMOND, May 13, 2009


                                                                             21
Demo of Hudson




                                                     22
   Continuous Integration   RICHMOND, May 13, 2009


                                                     22
Where does CI fit into the SPIN World?




                                                                                   23
Continuous Integration                                    RICHMOND, May 13, 2009


                                                                                   23
CI Maturity Model?



   Fewer branches to the code makes life easier
   Many small code changes. Code is committed throughout the day.
   There are good unit test coverage.
   The code is ready for deployment, not in pieces.




http://www.anthillpro.com/blogs/anthillpro-blog/2009/05/05/1241542860000.html


                                                                                  24
   Continuous Integration                                RICHMOND, May 13, 2009


                                                                                  24
Virtuous Circle?



    Metrics are hard to get
    Developers rebel against on high management
    Need good processes that support and encourage other good
    processes




                                                                                25
    Continuous Integration                             RICHMOND, May 13, 2009


                                                                                25
HackyStat




                                                     26
   Continuous Integration   RICHMOND, May 13, 2009


                                                     26
Test Automation



   CI increases the rewards for doing test automation
      unit
      integration
      functional?
      system?




                                                                                  27
   Continuous Integration                                RICHMOND, May 13, 2009


                                                                                  27
Where to next?



    Continuous Integration: Improving Software Quality
   and Reducing Risk
   CITConf is the conference for CI. This year it was
   April 24, 25 in Minneapolis, MN.




    Take a handout with reference links!




                                                                                   28
   Continuous Integration                                 RICHMOND, May 13, 2009


                                                                                   28
Matrix of 22 differences in CI systems

  http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix




                                                                               29
    Continuous Integration                            RICHMOND, May 13, 2009


                                                                               29
Why CI?



   Eliminate human errors
   Tests that run frequently are more valuable
   A CI system is the foundation of a project status dashboard
   Eliminate integration problems!




                                                                                  30
   Continuous Integration                                RICHMOND, May 13, 2009


                                                                                  30
RICHMOND
Eric Pugh epugh@opensourceconnections.com
                                            May 13th, 2009



                                                             31

Mais conteúdo relacionado

Semelhante a Ci Presentation for SPIN

What Is Visualization?
What Is Visualization?What Is Visualization?
What Is Visualization?OneSpring LLC
 
Continuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - MilanContinuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - MilanSimone Pasquini
 
Agility With Care: Managing Requirements Change with Agility In A Regulated P...
Agility With Care: Managing Requirements Change with Agility In A Regulated P...Agility With Care: Managing Requirements Change with Agility In A Regulated P...
Agility With Care: Managing Requirements Change with Agility In A Regulated P...Ken Wong
 
Introduction to lean
Introduction to leanIntroduction to lean
Introduction to leanMichel Baudin
 
Joe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumJoe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumSFA
 
Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010LeanAgileTraining
 
DevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for FailuresDevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for FailuresDevOps.com
 
Software Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration PrimerSoftware Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration PrimerProbal DasGupta
 
Fariz Saracevic, IBM | Agile Turkey Summit 2013
Fariz Saracevic, IBM | Agile Turkey Summit 2013Fariz Saracevic, IBM | Agile Turkey Summit 2013
Fariz Saracevic, IBM | Agile Turkey Summit 2013Agile Turkey
 
FORO_FINANCIERO: Performance Management In Turbulent Times
FORO_FINANCIERO: Performance Management In Turbulent TimesFORO_FINANCIERO: Performance Management In Turbulent Times
FORO_FINANCIERO: Performance Management In Turbulent TimesLKS, S. Coop.
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinsonIBM
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonRoopa Nadkarni
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinsonIBM
 
Ibm software network2012 claudio cinquepalmi #ibmsocialbiz
Ibm software network2012 claudio cinquepalmi  #ibmsocialbiz Ibm software network2012 claudio cinquepalmi  #ibmsocialbiz
Ibm software network2012 claudio cinquepalmi #ibmsocialbiz Claudio Cinquepalmi
 
The Lean within Scrum
The Lean within ScrumThe Lean within Scrum
The Lean within ScrumOctav Druta
 
Advertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, SingaporeAdvertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, SingaporeChris Schaumann
 
jenkins.pptx
jenkins.pptxjenkins.pptx
jenkins.pptxOrco1
 

Semelhante a Ci Presentation for SPIN (20)

What Is Visualization?
What Is Visualization?What Is Visualization?
What Is Visualization?
 
Continuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - MilanContinuous integration CloudParty 21 may 2014 - Milan
Continuous integration CloudParty 21 may 2014 - Milan
 
Agility With Care: Managing Requirements Change with Agility In A Regulated P...
Agility With Care: Managing Requirements Change with Agility In A Regulated P...Agility With Care: Managing Requirements Change with Agility In A Regulated P...
Agility With Care: Managing Requirements Change with Agility In A Regulated P...
 
Introduction to lean
Introduction to leanIntroduction to lean
Introduction to lean
 
Joe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within ScrumJoe Little - What's Lean got to do with it - The Lean within Scrum
Joe Little - What's Lean got to do with it - The Lean within Scrum
 
Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010Lean within Scrum @ Charlotte SFA July 2010
Lean within Scrum @ Charlotte SFA July 2010
 
How Automation Reveals Technical Debt
How Automation Reveals Technical DebtHow Automation Reveals Technical Debt
How Automation Reveals Technical Debt
 
Unicom Software Corporate Profile
Unicom Software Corporate ProfileUnicom Software Corporate Profile
Unicom Software Corporate Profile
 
DevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for FailuresDevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for Failures
 
Agile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906aAgile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906a
 
Software Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration PrimerSoftware Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration Primer
 
Fariz Saracevic, IBM | Agile Turkey Summit 2013
Fariz Saracevic, IBM | Agile Turkey Summit 2013Fariz Saracevic, IBM | Agile Turkey Summit 2013
Fariz Saracevic, IBM | Agile Turkey Summit 2013
 
FORO_FINANCIERO: Performance Management In Turbulent Times
FORO_FINANCIERO: Performance Management In Turbulent TimesFORO_FINANCIERO: Performance Management In Turbulent Times
FORO_FINANCIERO: Performance Management In Turbulent Times
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinson
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinson
 
Ibm software network2012 claudio cinquepalmi #ibmsocialbiz
Ibm software network2012 claudio cinquepalmi  #ibmsocialbiz Ibm software network2012 claudio cinquepalmi  #ibmsocialbiz
Ibm software network2012 claudio cinquepalmi #ibmsocialbiz
 
The Lean within Scrum
The Lean within ScrumThe Lean within Scrum
The Lean within Scrum
 
Advertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, SingaporeAdvertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, Singapore
 
jenkins.pptx
jenkins.pptxjenkins.pptx
jenkins.pptx
 

Mais de OpenSource Connections

How To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessHow To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessOpenSource Connections
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019OpenSource Connections
 
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullHaystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullOpenSource Connections
 
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonHaystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonOpenSource Connections
 
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...OpenSource Connections
 
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajHaystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajOpenSource Connections
 
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...OpenSource Connections
 
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlHaystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlOpenSource Connections
 
Haystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesHaystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesOpenSource Connections
 
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerHaystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerOpenSource Connections
 
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...OpenSource Connections
 
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...OpenSource Connections
 
Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...OpenSource Connections
 
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...OpenSource Connections
 
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...OpenSource Connections
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...OpenSource Connections
 
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah ViaOpenSource Connections
 

Mais de OpenSource Connections (20)

Encores
EncoresEncores
Encores
 
Test driven relevancy
Test driven relevancyTest driven relevancy
Test driven relevancy
 
How To Structure Your Search Team for Success
How To Structure Your Search Team for SuccessHow To Structure Your Search Team for Success
How To Structure Your Search Team for Success
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019
 
Payloads and OCR with Solr
Payloads and OCR with SolrPayloads and OCR with Solr
Payloads and OCR with Solr
 
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie HullHaystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
Haystack 2019 Lightning Talk - The Future of Quepid - Charlie Hull
 
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim AllisonHaystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
Haystack 2019 Lightning Talk - State of Apache Tika - Tim Allison
 
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
Haystack 2019 Lightning Talk - Relevance on 17 million full text documents - ...
 
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj BharadwajHaystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
Haystack 2019 Lightning Talk - Solr Cloud on Kubernetes - Manoj Bharadwaj
 
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
Haystack 2019 Lightning Talk - Quaerite a Search relevance evaluation toolkit...
 
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan KohlHaystack 2019 - Search-based recommendations at Politico - Ryan Kohl
Haystack 2019 - Search-based recommendations at Politico - Ryan Kohl
 
Haystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon HughesHaystack 2019 - Search with Vectors - Simon Hughes
Haystack 2019 - Search with Vectors - Simon Hughes
 
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerHaystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey Grainger
 
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
Haystack 2019 - Search Logs + Machine Learning = Auto-Tagging Inventory - Joh...
 
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
Haystack 2019 - Improving Search Relevance with Numeric Features in Elasticse...
 
Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...Haystack 2019 - Architectural considerations on search relevancy in the conte...
Haystack 2019 - Architectural considerations on search relevancy in the conte...
 
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
Haystack 2019 - Custom Solr Query Parser Design Option, and Pros & Cons - Ber...
 
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...Haystack 2019 - Establishing a relevance focused culture in a large organizat...
Haystack 2019 - Establishing a relevance focused culture in a large organizat...
 
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
Haystack 2019 - Solving for Satisfaction: Introduction to Click Models - Eliz...
 
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
2019 Haystack - How The New York Times Tackles Relevance - Jeremiah Via
 

Último

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 FMESafe Software
 
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 SavingEdi Saputra
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 DiscoveryTrustArc
 
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?Igalia
 
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 businesspanagenda
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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 TerraformAndrey Devyatkin
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 

Último (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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?
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

Ci Presentation for SPIN

  • 1. Continuous Integration - A Framework for Better Quality Software Richmond SPIN Richmond Eric Pugh May 13th, 2009 1
  • 2. Who am I?  Principal of OpenSource Connections Contributer to CruiseControl and Continuum CI projects Member of Apache Software Foundation Presenter at many conferences including OSCON, ApacheCON, jTDS, ExpoQA Fascinated by the art of software development Continuous Integration RICHMOND, May 13, 2009 2
  • 3. What are we talking about? What is CI? Why does it matter to me? What do I need to use CI? Demonstration of Hudson Where does CI fit into the SPIN World? Questions! 3 Continuous Integration RICHMOND, May 13, 2009 3
  • 4. What is Continuous Integration? From Martin Fowler: “a fully automated and reproducible build, including testing, that runs many times a day”. http://martinfowler.com/articles/continuousIntegration.html 4 Continuous Integration RICHMOND, May 13, 2009 4
  • 5. Rapid Feedback < 10 minutos Continuous Integration RICHMOND, May 13, 2009 5
  • 6. How is CI important to different members of a team? 6 Continuous Integration RICHMOND, May 13, 2009 6
  • 7. Life of a programmer without CI...  Unstable code, integration is difficult Many build errors reported Only one person on the team can build the entire project Demonstrations require extensive planning Feedback cycle is long Every day is a struggle to be productive 7 Continuous Integration RICHMOND, May 13, 2009 7
  • 8. Life of a programmer with CI...  The build process is simple and repeatable Elimination of Human Error Demo’s are quick and easy Feedback cycle is very rapid Every day you know you can code! 8 Continuous Integration RICHMOND, May 13, 2009 8
  • 9. For a tester control   What is in the build?  What has changed between builds?  How do I verify functionality? 9 Continuous Integration RICHMOND, May 13, 2009 9
  • 10. For a Project Manager Visibility  10 Continuous Integration RICHMOND, May 13, 2009 10
  • 11. For a Project Manager 11 Continuous Integration RICHMOND, May 13, 2009 11
  • 12. For a development team security  12 Continuous Integration RICHMOND, May 13, 2009 12
  • 13. For a development team 13 Continuous Integration RICHMOND, May 13, 2009 13
  • 14. For a development team 14 Continuous Integration RICHMOND, May 13, 2009 14
  • 15. For a development team 15 Continuous Integration RICHMOND, May 13, 2009 15
  • 16. What is needed to get started? A dedicated machine Source Control Automated Build Script Method of notification 16 Continuous Integration RICHMOND, May 13, 2009 16
  • 17. What are the challenges to using CI? 17 Continuous Integration RICHMOND, May 13, 2009 17
  • 18. Challenge One: Cultural Change  CI needs a champion who acts as the ambassador to the leaders of the organization. Thought leaders in the organization who can help encourage developers to accept the process changes that CI brings  A very successful test case ¿A greenfield project if possible? 18 Continuous Integration RICHMOND, May 13, 2009 18
  • 19. Challenge Two: Environmental Difficulties  All the tests should be true unit tests, not integration tests  Few or no external dependencies  A beefy build server...  A strategy for deploying code into the CI environment Database changes are SIMPLE 19 Continuous Integration RICHMOND, May 13, 2009 19
  • 20. Challenge Three: Project Characteristics Fewer branches to the code makes life easier Many small code changes. Code is committed throughout the day. There are good unit test coverage. The code is ready for deployment, not in pieces. 20 Continuous Integration RICHMOND, May 13, 2009 20
  • 21. Challenge Four: Stability of CI Tool X The CI system must be as well maintained as the Source Control system. The CI system performs builds very quickly. Who has responsibility for CI? It’s very important to have a “throat to choke”. No false alarms. If there are false alarms then the developers lose confidence in the CI ✓ system. 21 Continuous Integration RICHMOND, May 13, 2009 21
  • 22. Demo of Hudson 22 Continuous Integration RICHMOND, May 13, 2009 22
  • 23. Where does CI fit into the SPIN World? 23 Continuous Integration RICHMOND, May 13, 2009 23
  • 24. CI Maturity Model? Fewer branches to the code makes life easier Many small code changes. Code is committed throughout the day. There are good unit test coverage. The code is ready for deployment, not in pieces. http://www.anthillpro.com/blogs/anthillpro-blog/2009/05/05/1241542860000.html 24 Continuous Integration RICHMOND, May 13, 2009 24
  • 25. Virtuous Circle? Metrics are hard to get Developers rebel against on high management Need good processes that support and encourage other good processes 25 Continuous Integration RICHMOND, May 13, 2009 25
  • 26. HackyStat 26 Continuous Integration RICHMOND, May 13, 2009 26
  • 27. Test Automation CI increases the rewards for doing test automation unit integration functional? system? 27 Continuous Integration RICHMOND, May 13, 2009 27
  • 28. Where to next?  Continuous Integration: Improving Software Quality and Reducing Risk CITConf is the conference for CI. This year it was April 24, 25 in Minneapolis, MN. Take a handout with reference links! 28 Continuous Integration RICHMOND, May 13, 2009 28
  • 29. Matrix of 22 differences in CI systems http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix 29 Continuous Integration RICHMOND, May 13, 2009 29
  • 30. Why CI? Eliminate human errors Tests that run frequently are more valuable A CI system is the foundation of a project status dashboard Eliminate integration problems! 30 Continuous Integration RICHMOND, May 13, 2009 30