SlideShare a Scribd company logo
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

More Related Content

Similar to 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 - Milan
Simone 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 lean
Michel 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 Scrum
SFA
 
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
LeanAgileTraining
 
How Automation Reveals Technical Debt
How Automation Reveals Technical DebtHow Automation Reveals Technical Debt
How Automation Reveals Technical Debt
IBM UrbanCode Products
 
Unicom Software Corporate Profile
Unicom Software Corporate ProfileUnicom Software Corporate Profile
Unicom Software Corporate Profile
Alexander A. Grygoruk
 
DevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for FailuresDevOps - Succeed by Planning for Failures
DevOps - Succeed by Planning for Failures
DevOps.com
 
Agile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906aAgile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906a
Agile Dimensions LLC
 
Software Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration PrimerSoftware Modernization and Legacy Migration Primer
Software Modernization and Legacy Migration Primer
Probal 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 2013
Agile 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 Times
LKS, S. Coop.
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinson
IBM
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
Roopa Nadkarni
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinson
IBM
 
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 Scrum
Octav Druta
 
Advertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, SingaporeAdvertising Networks & Exchanges - ad:tech, Singapore
Advertising Networks & Exchanges - ad:tech, Singapore
Chris Schaumann
 
jenkins.pptx
jenkins.pptxjenkins.pptx
jenkins.pptx
Orco1
 

Similar to 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
 

More from OpenSource Connections

Encores
EncoresEncores
Test driven relevancy
Test driven relevancyTest driven relevancy
Test driven relevancy
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 Success
OpenSource 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 2019
OpenSource Connections
 
Payloads and OCR with Solr
Payloads and OCR with SolrPayloads and OCR with Solr
Payloads and OCR with Solr
OpenSource 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 Hull
OpenSource 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 Allison
OpenSource 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 Bharadwaj
OpenSource 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 Kohl
OpenSource 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 Hughes
OpenSource 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 Grainger
OpenSource 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 Via
OpenSource Connections
 

More from 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
 

Recently uploaded

Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
Priyanka Aash
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
Anant Gupta
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
SubhamMandal40
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
Baishakhi Ray
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
Priyanka Aash
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 

Recently uploaded (20)

Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 

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