Mike is currently…

snowboarding in Banff

Pragmatic Version Control Using Subversion

[ subversion book ]

obligatory book plug

[ syndicate ]

rss 2.0 feed for boy meets world

[ contact ]

drop me a line

[ about ]

this is mike mason's weblog

[ eskimoman.net ]

original web pages


Wed, 22 Oct 2003

This is an archived blog post. I've switched to using WordPress as my blogging software and have not migrated all my old posts. I believe strongly in not letting an old link die, so this page continues to work. Please do visit mikemason.ca/blog to read newer posts.

Integrate Often

Agile practices like eXtreme Programming advocate a process called “continuous integration”. This is discussed in plenty of places, notably this paper by Martin Fowler and Matt Foemmel. The basic idea is to enthusiastically commit your code into source control, so that the other people on your team (and your CruiseControl server) can see and take advantage of your changes. This way you get early feedback if you break anything, and merge problems are reduced because everybody is keeping up to date.

Most of the time we focus on frequent commits to achieve CI, but it’s important not to overlook frequency of developer updates from source control. The major factor influencing how often a programmer chooses to get everyone elses changes is the amount of time it takes him to get back to doing useful programming after doing an update. If updating means that you need to sit and wait while your machine rebuilds a few thousand files, drops and reloads your local database, and generally thrashes around, you’re not going to want to update often. If doing an update means waiting 30 seconds while your IDE determines files which have changed and is then happy, you’re much more likely to update frequently.

Continuous Integration is much more than just running CruiseControl. It’s a mindset more than a particular technology. It’s about having developers share their code as often as they can, and as soon as they have something useful to contribute to each other. A fast build and development environment is key to doing this properly, and any project that wants to be agile needs to watch its build metrics.

Posted 20:15, 22 Oct 2003.  

Mon Tue Wed Thu Fri Sat Sun

[ tim bacon ]

musings of an xp coach

[ ian bourke ]

enhancing core competencies since 1976

[ martin fowler ]

a cross between a blog and a wiki

[ alan francis ]

agile != good

[ paul hammant ]

part of the problem…

[ darren hobbs ]

the blog formerly known as pushing the envelope

[ mike roberts ]

on life and technology

[ chris stevenson ]


[ joe walnes ]

joe's new jelly

[ rob baillie ]


Powered by Blosxom

Registered plugins: SmartyPants, antispam, bloglinks (v0.2), calendar (v0+6i), pluginfo (v1.0), and userstatus (v0.1)
This work is licensed under a Creative Commons License.