Continuous integration
One of the pitfalls of waterfall methodologies is that integration of the codebase often happens weekly or monthly. Often, new defects are revealed as code is integrated, and additional time has to be spent fixing bugs and reintegrating. With infrequent integration, feedback is not as tight as it could be. Agile promotes much more frequent integrations -- in 3Q's case this means integrating once or twice a day.

Most teams elect to have a build machine, where pairs of developers can check in completed code that has been written in the test-code-refactor cycle. Each pair is confident that their code has been tested and refactored prior to being integrated into the code base. Once checked in, the automated build machine compiles all the code, runs all the tests and displays via a monitor (out to the team) -- whether the build needs attention -- for example: did the newly checked in code break anything?

This does two things:

  • Creates the smallest possible time lag between code that is integrated and to the team realising there is problem.
  • The build monitor radiates information to the whole team -- either the integration was successful -- or needs attention -- allowing the team to reprioritise right away.

    Integrating this frequently means that a working build of the software is always available for anyone. Significantly for this to work as well as possible, the build needs to be automated to make integration as easy as possible. Below is an example of 3Q's build monitor that radiates information to the team.




    As the pictures demonstrate, the build monitors can provide additional information to the team.

    Critical success factors

    • Automation -- this needs to be an automated process. Otherwise you have to have one developer who runs the build -- not a fun job. Get the environment, equipment and automation set up first.
    • TCR and Pairing -- for this level of integration to work, the team must be working in a test-code-refactor cycle so that they are confident that the only defects are coming from the integration. Without the TCR cycle, this part of the process will be difficult.
    • Take one step at a time -- as with all of this, start slowly and simply and build up over time -- especially areas such as coding standards.

    Maintaining effectiveness - step three
    As we said in part one, Agile processes are intensive ways of working. Add to this that software development itself can be very pressurised, and the team's potential to burn out is quite high.

    Sustainable pace recognises that the development team is and will be working very hard. Overtime is not something we want to encourage, although at times it is necessary. If a team does have to do overtime, we want to try and minimise this to say one to two weeks of overtime rather than a month or more at an unsustainable pace. Again, Agile is a very intense way of working; pair programming requires a lot of interaction and attention, as does the test-code-refactor cycle. While Agile brings out the best in our teams, we need to be aware of the risk of burnout in cases where lots of overtime is required.

    Critical success factors
    This is one area managers have to be very aware of. It will largely be their responsibility to ensure the team keep a reasonable pace throughout the project.

Related links

Leave a comment

You must read and type the 6 chars within 0..9 and A..F

* indicates mandatory fields.

Log in


Sign up | Forgot your password?

  • Staff Microsoft shows off IE9 preview

    This week, highlights from Microsoft's MIX10 conference and more in the Roundup. Read more »

    -- posted by Staff

  • Chris Duckett IE9's H.264 vote killed Ogg

    In a split decision by the judges, the winner of the W3C/WHATWG video codec consensus is H.264, taking home the future of video playback on the internet while loser Ogg goes home with nothing but thoughts of what might have been. Read more »

    -- posted by Chris Duckett

  • Staff Google launches Apps Marketplace

    Google launches and app store, while Mozilla plans to re-write its open-source license. More of this week's news in the Roundup. Read more »

    -- posted by Staff

What's on?

  • Optus Deal

    Broadband + home phone + PlayStation®3 in a single package price!