CD Survey: How often do you commit code changes to the shared repository?

Today’s question is, “How often do you commit code changes to the shared repository?”

One of the essential practices of continuous deployment is that everyone stays very close to the mainline, typically by checking progress into HEAD frequently. This requires developers to be careful to only make changes that are safe and to only reveal functionality when it is ready for real users. The change of task sequence this requires is an acquired skill, but once mastered results in a low-risk development style.

The data shows that many projects are checking in very frequently:

The question needs followup, as it doesn’t ask whether there is a single mainline that people continually integrate with, and which direction the integration goes.

Tomorrow is the final question of the survey, which asks which practices folks are applying.

Commercial plugs: Check out my new series of screencasts on intermediate test-driven development. If you run unit tests for Java in Eclipse, check out JUnit Max, the continuous testing plugin.

Props to Chartpart.com for the lovely front end for Google Charts.

6 Comments

Dave SmithJuly 7th, 2010 at 6:22 am

The other folllowup this invites is to tease out how many of the “every successful test run”, “hourly”, or “daily” people mean “when the story is done”, as opposed to those who do partial- or micro-checkins. The “weekly” and “monthly” slice suggest that there’s a wide variance in how thinly stories are being sliced.

vvJuly 7th, 2010 at 10:30 am

You also have to consider the fact that the people who submitted their answers to the survey were quite “automation driven”. So they propably have better understanding on the benefits of continuous integration and automated tests (etc.) than the people who haven’t been taking advantage of such practices (or possibly never even heard of them).

[...] Beck has finished up his series on survey results about practices with a post on commit frequency and one on general practices. The general practices one is interesting, showing that about 50% of [...]

Florian ReischlJuly 18th, 2010 at 11:25 am

Nice graphic. I’m currently somewhere between hourly and daily (so I’m on the way but I didn’t yet reach the target ;-) ).

I’m just curious, where those data have been collected. If I missed this information somewhere, sorry. If the information are collected by your fans, I’m just not sure if this is a representative result for other developers. People like me (well, I’m quiet new in TDD, though…) know the advantages of techniques like “test first”, but how about others, who are not yet on this way?

adminJuly 20th, 2010 at 7:33 am

These were collected from attendees to a Continuous Deployment webinar, so the data definitely suffer from selection bias.

Florian ReischlJuly 24th, 2010 at 7:27 am

Thanks for the feedback! Didn’t want to criticize. I just prefer asking over guessing.

Leave a comment

Your comment