Skip to main content
Enterprise Agile Planning icon with arrows

This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.

Last Updated Aug 26, 2008 — Enterprise Agile Planning expert

Whither goest thou, Version Control?

Enterprise Agile Planning

In the perennial debate over Version Control, the latest chapter is entitled "Centralized vs. Distributed" (sometimes also known as "Subversion vs. Git", though both flavors have other worthy representatives). For a while, Ben Collins-Sussman has been the lightning rod of the debate (his own fault, for thoughtful side-taking posts like this, this, this, this, and this). Now, a new Ben (Griffiths) steps into the ring with a really trenchant insight into the split.

Although I’m sensible of my inadequacy to comment in this area (not being named "Ben"), I have to say I had a real head-slappin’ moment when Ben tweeted about his new idea last night ("Ben the Second," that is). "Centralized Version Control (CVC) for teams, Distributed Version Control (DVC) for groups" really captures something about the respective situations … several things, in fact … and it’s particularly recognizable at the level of individual experience (as opposed to the compatible but rather stratospheric overview I recently blogged). Where "Ben 1st" didn’t actually say, but brushed perhaps a bit too close to saying, that "people who don’t do it my way are just dumb," the group/team perspective provided by "Ben 2nd" is both less … incendiary … and more useable.

Who doubts that Linux has been a spectacular accomplishment, and continues to be a vigorous, progressive movement?  (Hands, please?  Anybody? No? Thought not.) Who doubts that it’s largely powered by independents, that the workflows support and encourage the maximum possible "heads down in your own corner" contribution? And, if you haven’t thought much about it, give it a thought now: the version control tools, and the release management process, created and nurtured and built up and solidified that culture. It’s a group. It is, in fact, a group of groups.  Ben 2nd is right: Git is all about fostering such a community. You could do it with a CVC tool like Subversion, but no more effectively than you can remove wheel lug nuts with a hammer, if that’s all you have.

Conversely, if you want the benefits of resource planning, early warning when something goes sour, and commitments to roadmaps, features, and schedules, a CVC system will help you in ways you’d have to engineer for yourself atop DVC. Where DVC (and "The Linus Process" in particular) bias towards keeping work invisible to the rest of the world until it’s good enough to accept, CVC biases towards making everything visible from the beginning.

If you’re in the position of choosing a system for your project, maybe Ben 2nd’s "groups vs. teams" idea will help you decide.

More from the Blog

View more Government Cloud
Apr 12, 2022 Government Cloud receives FedRAMP Authorization through sponsorship from the United States Department of Veterans Affairs

Enterprise Agile Planning
Flagship Agility solutions can effectively scale agile deve ...
Read More
Nov 22, 2021

What are the qualities of highly effective agile teams?

Enterprise Agile Planning
A team is the core unit of productivity in an agile organization. Wher ...
Read More
Nov 15, 2021

How an open-first attitude revolutionized government tech development

Enterprise Agile Planning
Public perception of government is often that it is slow-moving, reluc ...
Read More
cross functional
Nov 08, 2021

6 best practices for building resilient cross-functional teams

Enterprise Agile Planning
Agile frameworks prize the quality of resilience within every facet of ...
Read More
Contact Us