Download - Continuous Integration Then & Now

Transcript
Page 1: Continuous Integration Then & Now

Continuous IntegrationThen and Now

Agile 2009 – ChicagoMaciej Zawadzki

Page 2: Continuous Integration Then & Now

Maciej Zawadzki

• Co-founder and President of Urbancode, Inc.

• Worked on three generations of Anthill/AnthillPro.

• Speaker at SD East, SD West, and the No Fluff Just

Stuff Conference series.

• Co-author of Professional Struts Applications

Page 3: Continuous Integration Then & Now

Agenda

• CI Then and Now

• Why the change?

• Common implementations

• Where are we headed?

Page 4: Continuous Integration Then & Now

Original CI

• What is Continuous Integration:

– Development practice under which developers commit code

often, and

– Each commit should not degrade code quality

• Lets Analyze This in terms of:

– Audience

– Traceability

– Artifacts

Page 5: Continuous Integration Then & Now

CI Today

• Build code and give rapid feedback to development

• Deploy product into test environment

• Execute multiple suites of tests

• Release final product to production

• Traceability through every stage

Build Deploy ReleaseTest

Page 6: Continuous Integration Then & Now

Agenda

• CI Then and Now

• Why the change?

• Common implementations

• Where are we headed?

Page 7: Continuous Integration Then & Now

Slippery Slope of Quality Determination

• CI presents two goals:– Quality determination

– Fast feedback

• Karl Popper:– No amount of positive outcomes of testing can confirm a

scientific theory; but a single failed test can disprove the theory

• Therefore it is not sufficient to run your unit tests.

Page 8: Continuous Integration Then & Now

CI moving from “invention” to “innovation”

• Invention– proven to work in the laboratory

• Innovation– it can be replicated reliably on a meaningful scale at

practical costs.

• For an idea to move from invention to innovation requires an ensemble of critical components.

Peter M. Senge, The Fifth Discipline

Page 9: Continuous Integration Then & Now

Example of invention vs innovation

• Invention: Wright brothers invented flight

• Innovation: DC-3 launched commercial air travel– Variable-pitch propeller– Retractable landing gear– Monocoque construction– Radial air-cooled engine– Wing flaps– (One year earlier, Boeing 247 was missing the flaps)

Page 10: Continuous Integration Then & Now

Is CI the Innovation for Automation?

• CI Brings together the following “critical” factors– Automation

– Self-service

– Transparency

Page 11: Continuous Integration Then & Now

Agenda

• CI Then and Now

• Why the change?

• Common implementations

• Where are we headed?

Page 12: Continuous Integration Then & Now

Builds Centric – Staged Builds

• Everything is a build

• Different “types” of builds

execute on different schedules

– CI build every 15 mins

– Longer Test build every 4 hrs

– Regression test build every night

– Etc.

Page 13: Continuous Integration Then & Now

Process Centric

• Build types are decomposed

into processes

• Processes are executed

sequentially

• Traceability between

processes is problematic

Page 14: Continuous Integration Then & Now

Lifecycle Centric

• First class representation

of “flow” through lifecycle

stages

• Traceability built-in

• Efficient decomposition of

build types into non-

overlapping processes

Page 15: Continuous Integration Then & Now

Agenda

• CI Then and Now

• Why is this happening?

• Common implementations

• Where are we headed?

Page 16: Continuous Integration Then & Now

Release Management

• Forrester Research defines Release Management as the definition, support, and enforcement of processes for preparing software for deployment to production.

Page 17: Continuous Integration Then & Now

Integration for Release Management

Page 18: Continuous Integration Then & Now

Convergence of CI and Release Management

Page 19: Continuous Integration Then & Now

Agenda

• CI Then and Now

• Why is this happening?

• Common implementations

• Where are we headed?