Interesting post that points to how difficult large scale software development can really be:
The bigger your team, the bigger your company, the more stuff you have going on, then the more powerful you want your SCM tool to be. Even still, Ive run across teams of significant size who prefer to use only the basics. The truth is that concurrent development is hard. Good SCM tools make it easier, but some people prefer to adopt processes which prevent complexity instead of using tools which help manage complexity. But for those who dare, good version control systems offer several ways to maintain your sanity even while lots of things are going on at one time.
This is something that I frequently point out as well. I work hard to implement a solution that is as simple as possible, while still allowing the complex behaviour known as concurrent release development to occur where necessary. If your team can release code in a serial fashion, so much the better for you.
Often however, you can't dodge the bullet. Business needs require us to work on more than one release at a time. Very often development teams and management forget that what they are trying to do is hard. Too often they end up blaming their tools. This often leads to tool churn and the inevitable lost time, money and patience. And of couse, exacerbates the problems because what started out as difficult becomes near to impossible as the tools change out from under the development teams.
|