Surfing around this morning I found a podcast that talks about Subversion. I’m in agreement with all of the points he makes in this podcast. As anyone who reads this site somewhat regularly would know, I am a big Subversion fan since the early pre-release days. It was cool to listen to someone who gets as excited about this product as I do.
An outline of some of the things talked about:
- Challenges encountered in using CVS with Java
- Early Adoption – Version 0.18
- The Subversion Teams’ Process Maturity
- API and database format compatibility commitment
- Compatibility between clients and server versions of software
- Recommendation of the Pragmatic Version Control with Subversion
- Quick description of TortoiseSVN
- Subclipse Eclipse Plugin – discussion of features
- Reasoning behind running Subversion on the Apache Webserver
- Integration with Apache Authentication Modules (specific example was integration with ActiveDirectory)
- ViewCVS – Repository Viewer
- Tool set growing around Subversion
While this podcast focuses explicitly on the Subversion tool and ViewCVS module, there are a number of other tools that you can use in your environment to lower your cost and increase your productivity, such as CruiseControl.
In a recent study I performed on my development groups process improvement over the past 5 years, we found that we had cut the cost of managing our build and release process by approximately 92% by incorporating Subversion and related tools like CruiseControl, ViewCVS, and other custom software (and major process changes that accompany them) to integrate and automate our release management processes. This savings does not include the reduction in licensing costs that come with using Open Source Software in lieu of proprietary software. They are time and people costs only. Now, this has been our experience. Your individual mileage may vary.
If you’re looking for a new version control tool, this podcast could be a source of information that can help you in your decision.
Check it out.
We’ve adopted an automated build process with CruiseControl and we’re in process of rolling it out to all our web projects including the smaller 1-2 developer projects. I’d love to see a post explaining how you got to the figure of about 92% cost reduction. Being able to quantify these practices is always a big help.
Pingback: Mark W. Shead
The calculation is a labor calculation and signifies the reduction in man hours required to manage a build and deploy process for a rather large software application that was, for all intents and purposes, extremely manual. The amount of automation we added was significant, and included software we wrote internally that works alongside the CruiseControl and Subversion programs to manage the actual deployment of the software and provide the ability to abstract and wrap in a GUI the functions of branching the source base and keeping track of what build is in what environment at a given time.
Unfortunately, we do not have the ability to release these applications as open source, even though I would love to. However, the supplemental software was written in a mix of open source languages including PHP, PERL, Python, Java/Tomcat and C (all of which figure into another calculation of licensing cost avoidance that has not been done as of yet). The eclectic use of languages reflects what I or one of my direct reports were actually learning at the time the software was being developed.
When you have a highly manual process with a lot of wasted man hours, its pretty easy to hit a 92% number.
The effect Subversion had on our environment is documented on the Subversion Testimonial page. This is still pretty non-specific as to the activities we actually performed, but does give some more information as to the advantages we found in Subversion over CVS, including the reduction in build times we experienced.
Subversion and CruiseControl weren’t the full solution that enabled the labor reduction, however they were key components.
Thanks for the fuller explanation. Sounds like it was a really nasty manual process. This just pushes me a little further towards swapping out Subversion for CVS in my shop.
We have a much simpler build/deploy cycle for even our largest products so we probably wouldn’t see a 92% improvement, but any little improvement helps.