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

Über Conf

June 14 - 17 - Sessions titled Turtles and Architecture and Patterns of Modular Architecture

Catalyst

July 26 - 30 - Two sessions on rich mobile applications and one on agile development. Half day tutorial on software process improvement.

Tweets @ Twitter

re: #apple event "We sold more iPads than any PC manufacturer sold of their entire PC line." 2012-09-12

re: #Apple Event ""Our notebooks now rank #1 in the US in Market share in the last three months." 2012-09-12

Right on. I just won a Best Buy drawing worth $1000. Either that or I won a shiny new virus by clicking the link. Hmm...what to do. 2012-08-29

The #osgi alliance response (http://t.co/KrN8XNWg) to the @mreinhold #jigsaw announcement (http://t.co/9YvcDdqC). 2012-08-29

Good Q&A with @mreinhold on project #jigsaw. http://t.co/9YvcDdqC. Modularity will change the way we design and run apps! 2012-08-28

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