Continuous Integration: evolving to the next release

  • Presenters: Sven Gorts & Vera Peeters
  • Type: Interactive presentation
  • Duration: 60 minutes
  • Audience: developers, testers, project managers, coaches
Objectives

The session gives a detailed explanation about the Continuous Integration practice. Our session will be an nontechnical one. The focus is on the things developers do in order to make Continuous Integration work. In our opinion Continuous Integration is far more than a team with an automated build system.

Abstract

Continuous Integration is an agile software development practice which encourages developers to integrate their work frequently. Code development happens in small increments and each integration step requires that all the unit tests and other automated tests pass. To keep the codebase in 'releasable' condition all the time requires discipline. A lot of discipline. This requires quite some effort, and has a serious impact on the team dynamics.

However, this effort easily pays back in terms of rapid detection of programming errors and reduced integration problems. In their presentation Sven and Vera discuss principles and related practices and talk about the benefits that Continuous Integration can bring to your team.

Benefits of attending

During this session attendants will learn about the benefits of keeping the codebase in releasable condition and working in small increments. This session is not only interesting to developers. The developers have to "do it". Testers will find they have to adapt the way they work. Managers need to understand what this is all about, so that they can support the team's decisions.

Each participant is encouraged to contribute to the session by sharing ideas and experience.

What will the organisers learn

We want to learn about: how widespread the adoption of Continuous Integration as development practice is, what the enabling or impending factors are to adopt Continuous Integration and finally what people did to introduce Continuous Integration in their team.

Session Outline

Our session will be a lecture with room for interaction.

  • Integration (10 min)
    • What is integration ?
    • Why the need for integration ?
    • Integration Problems
  • Best Practices --if you have to integrate (20 min)
    • Stable Environment
    • Version Controlled
    • Utility Scripts
    • Self Validating Code
    • Automated Build
    • Single Codebase
    • Integrate Early
    • Working Software
    • Releasable System
  • Continuous Integration (15 min)
    • Benefits
    • Examples
    • Brainwashing
  • 15 minutes discussion
History
  • Sven and Vera have already presented this session at the BeJug ‘Continuous Integration Workshop’ , April 2006 in Brussels