Wednesday, July 6, 2011

Developer Survey Results - Part 2

This second part of my walk through of the result of a survey I did recently focuses on practices around source control.

Again this section of the survey started by asking if respondents use source control at all. Luckily most did, 95% (although, what do those last five percent do? -They also answered that they code more than 10% of their time at work).

So looking at the distribution among source control systems, the results were:


This is not to be seen as an indication of the popularity of each of these vcs's in general, just as background on what the respondents to this survey use. And, as can be seen, this is an SVN crowd. That may very well have an effect on the rest of the answers in this section.

How often do respondents commit, then? -I think this an important indicator of how developers work. Do they take small focused steps, or big leaps of faith? Well, here are the results:

All the time3%
Several times an hour6%
About once an hour or every other hour18%
About twice a day34%
About once a day23%
About once a week3%
About once a month0%

So the weight here is around the twice a day answer. Some a bit more often than that, and some a bit less often that than. That's OK. I've seen shops where the norm was committing once a month. Awful. But these result do - on the other hand - leave room for improvement. I don't think commiting once an hour is unreasonable for the vast majority of development tasks. And more often if you're using a distributed version control system.

Last question in this section was about how the VCS is used in terms of branching and the likes. Results are:

Feature branches39%
Experimentation branches35%
Release branches59%
None of the above15%

Don't know what to say about this. People use some amount branching generally it seems, but I suspect some of these would differ if most respondents had been Git users instead of SVN users. I don't know.

Next section of the survey was about continuous integration. I'll cover that in my next post.