My Stuff

2010 Conferences

OSGi DevCon @ JAX London

February 23 - Keynote titled OSGi in the Enterprise: Agility, Modularity, and Architecture’s Paradox

EclipseCon

March 22 - 25 - Tutorial on Modular Architecture

Tweets @ Twitter

Just got my copy of "OSGi and Equinox: Creating Highly Modular Java Systems" by McAffer, VanderLei, and Archer. #osgi 39 mins ago

New Blog Entry: Agile Animations - Big Teams http://bit.ly/96MP80 <- Purely animated blog entry. Feedback very welcome! 1 day ago

Apple plays architect. Will tell you what type of application you need. http://bit.ly/b5otnY 1 day ago

Macs are more expensive than PCs. But I'd argue that TCO is much lower. In general, the software you need is much less and maint is near 0. 1 day ago

Macs in the Enterprise. http://bit.ly/amk2Ym 1 day ago

LinkedIn Profile

The opinions expressed on this site are my own, and not necessarily those of my employer.

Benefits of the Build

Filed Under Agile, Development |  

In browsing through some of the articles I’ve written, I stumbled across Benefits of the Build, which was published in the March 2005 issue of Software Development Magazine. SD Magazine was rolled into Dr. Dobb’s a while back, but I found the article is still on-line, and still very relevant. That article also forms the foundation of a very successful talk I’ve given at various conferences.

I’m continually amazed by the number of development teams that don’t practice continuous integration. IMHO, it’s the most important technical practice you can employ, assuming you leverage the fact that you’ve got a functional product. I’d highly recommend that any team start today.

Since the time I wrote that article, I’ve learned a lot and developed a stronger sense of what it takes to employ a successful continuous integration strategy. Here are a few guiding principles and rules that help maximize the benefits of the build.

  • The Prime Directive - Strive for a system that always compiles and tests that always execute successfully. In other words, make sure the system is always in a functional state.
  • The Golden Rule - Anytime a build fails, it must become the priority of the team to fix it before doing anything else.
  • The Synchronization Rule - Developers should release and update their code at least once per day with the master source repository. More is preferable. Waiting any longer increases integration risk.
  • The Release Rule - Before releasing code, developers should execute all relevant test cases locally to decrease the possibility of introducing a breaking change.
  • The Defect Rule - Anytime a defect is discovered, developers should strive to first write a test case that recreates the defect.

The image is a wordle of the text in Benefits of the Build.

Comments

One Response to “Benefits of the Build”

  1. Agile 2009 - Day 3 : Software & Technology @kirkk.com on August 27th, 2009 6:36 am

    [...] the team keep the system functional, and minimize their technical debt. I’ve called this the prime directive of software development - always have a functional system. Because of this, the team had a fully integrated system at the [...]

Leave a Reply