Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Integration Then & Now

991 views

Published on

Continuous Integration has come a long way. From starting out as a fringe school of throught to the mainstream practice it is today, CI has had an enormous impact on the way build and development teams operate. In this presentation, we look at how CI has evolved, and where its future lies.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Continuous Integration Then & Now

  1. 1. Continuous Integration Then and Now Agile 2009 – Chicago Maciej Zawadzki
  2. 2. Maciej Zawadzki <ul><li>Co-founder and President of Urbancode, Inc. </li></ul><ul><li>Worked on three generations of Anthill/AnthillPro. </li></ul><ul><li>Speaker at SD East, SD West, and the No Fluff Just Stuff Conference series. </li></ul><ul><li>Co-author of Professional Struts Applications </li></ul>
  3. 3. Agenda <ul><li>CI Then and Now </li></ul><ul><li>Why the change? </li></ul><ul><li>Common implementations </li></ul><ul><li>Where are we headed? </li></ul>
  4. 4. Original CI <ul><li>What is Continuous Integration: </li></ul><ul><ul><li>Development practice under which developers commit code often, and </li></ul></ul><ul><ul><li>Each commit should not degrade code quality </li></ul></ul><ul><li>Lets Analyze This in terms of: </li></ul><ul><ul><li>Audience </li></ul></ul><ul><ul><li>Traceability </li></ul></ul><ul><ul><li>Artifacts </li></ul></ul>
  5. 5. CI Today <ul><li>Build code and give rapid feedback to development </li></ul><ul><li>Deploy product into test environment </li></ul><ul><li>Execute multiple suites of tests </li></ul><ul><li>Release final product to production </li></ul><ul><li>Traceability through every stage </li></ul>Build Deploy Release Test
  6. 6. Agenda <ul><li>CI Then and Now </li></ul><ul><li>Why the change? </li></ul><ul><li>Common implementations </li></ul><ul><li>Where are we headed? </li></ul>
  7. 7. Slippery Slope of Quality Determination <ul><li>CI presents two goals: </li></ul><ul><ul><li>Quality determination </li></ul></ul><ul><ul><li>Fast feedback </li></ul></ul><ul><li>Karl Popper: </li></ul><ul><ul><li>No amount of positive outcomes of testing can confirm a scientific theory; but a single failed test can disprove the theory </li></ul></ul><ul><li>Therefore it is not sufficient to run your unit tests. </li></ul>
  8. 8. CI moving from “invention” to “innovation” <ul><li>Invention </li></ul><ul><ul><li>proven to work in the laboratory </li></ul></ul><ul><li>Innovation </li></ul><ul><ul><li>it can be replicated reliably on a meaningful scale at practical costs . </li></ul></ul><ul><li>For an idea to move from invention to innovation requires an ensemble of critical components. </li></ul><ul><li>Peter M. Senge, The Fifth Discipline </li></ul>
  9. 9. Example of invention vs innovation <ul><li>Invention: Wright brothers invented flight </li></ul><ul><li>Innovation: DC-3 launched commercial air travel </li></ul><ul><ul><li>Variable-pitch propeller </li></ul></ul><ul><ul><li>Retractable landing gear </li></ul></ul><ul><ul><li>Monocoque construction </li></ul></ul><ul><ul><li>Radial air-cooled engine </li></ul></ul><ul><ul><li>Wing flaps </li></ul></ul><ul><ul><li>(One year earlier, Boeing 247 was missing the flaps) </li></ul></ul>
  10. 10. Is CI the Innovation for Automation? <ul><li>CI Brings together the following “critical” factors </li></ul><ul><ul><li>Automation </li></ul></ul><ul><ul><li>Self-service </li></ul></ul><ul><ul><li>Transparency </li></ul></ul>
  11. 11. Agenda <ul><li>CI Then and Now </li></ul><ul><li>Why the change? </li></ul><ul><li>Common implementations </li></ul><ul><li>Where are we headed? </li></ul>
  12. 12. Builds Centric – Staged Builds <ul><li>Everything is a build </li></ul><ul><li>Different “types” of builds execute on different schedules </li></ul><ul><ul><li>CI build every 15 mins </li></ul></ul><ul><ul><li>Longer Test build every 4 hrs </li></ul></ul><ul><ul><li>Regression test build every night </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  13. 13. Process Centric <ul><li>Build types are decomposed into processes </li></ul><ul><li>Processes are executed sequentially </li></ul><ul><li>Traceability between processes is problematic </li></ul>
  14. 14. Lifecycle Centric <ul><li>First class representation of “flow” through lifecycle stages </li></ul><ul><li>Traceability built-in </li></ul><ul><li>Efficient decomposition of build types into non-overlapping processes </li></ul>
  15. 15. Agenda <ul><li>CI Then and Now </li></ul><ul><li>Why is this happening? </li></ul><ul><li>Common implementations </li></ul><ul><li>Where are we headed? </li></ul>
  16. 16. Release Management <ul><li>Forrester Research defines Release Management as the definition, support, and enforcement of processes for preparing software for deployment to production. </li></ul>
  17. 17. Integration for Release Management
  18. 18. Convergence of CI and Release Management
  19. 19. Agenda <ul><li>CI Then and Now </li></ul><ul><li>Why is this happening? </li></ul><ul><li>Common implementations </li></ul><ul><li>Where are we headed? </li></ul>

×