My Islamic studies professor in college frequently told this ancedote on the first day of class (or whenever he got an opportunity). It started out like this:
When the ancient muslim armies invaded other countries, they normally issued an ultimatum: Convert, Die, or Pay a tax. This usually resulted in the question: So how much is this tax?
It’s no surprise that the muslim armies were able to invade many territories without bloodshed.
We need something similar in Software Development. Too many companies cling to Enterprise-y Version Control Systems that make even the smartest developer cringe when the subject of branching and merging is brought up. Management clings to these systems without logic, and we suffer for that decision. It even pervades to our project management and defect tracking software (I’m looking at you, Test Director).
It’s time to issue our own ultimatum:
Convert, or pay the productivity tax.
We must stand up against the tyranny of idiotic version control. Not being able to branch and merge? What’s the use in having Version control? Not being able to commit code until it’s bug free? Sacrilege.
There is a better way.
Joel Spolsky has written up an excellent tutorial on Mecurial and how it differs from traditional version control systems. Read it. Pass it around the office. Hound your manager. Light Pitchforks and Raise torches. Do whatever it takes: DVCS’s are free. They’re better than tradtional VCSs.
Why aren’t you using them?