SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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...Miguel Araújo
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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 Processorsdebabhi2
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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...
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 

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