Wednesday, October 14, 2009

Some Observations on Real World Software Development Life Cycle, pt. 1

While TFS is a pricey solution to source control it worked well for our agile development team of coders and QA in the shop I manage. We have a big mature code base and our typical routine to move fast is for coders to check in and out source files several times a day, doing new builds for QA.


So we decide to upgrade to VS 2008 for the next round of development projects and since Corporate has mandated that every shop in its portfolio shall use Subversion for source control, we migrate over source control.


We already knew TFS’s quirks, and knew it would take time to get acquainted with Subversion’s. Now, I can’t speak to the 2008 version of TFS, but we sorely miss good old TFS. Both are rock solid for reliability, but TFS is database based and subversion is file system based. Doesn’t make much difference it your repository numbers its files in the hundreds, but our repository numbers its folders in the hundreds.


Now doing commits and updates, the equivalent of which in TFS would take seconds, burns minutes…each time. (A small commit will move faster, but updates are hopeless.)


So I talk to the guy who runs a sister shop which has been using Subversion all along. (They don’t do agile development and have more developers spread-out geographically.) Come to find out they don’t even try to merge staging branches back into the development trunk. That means double updating of ensuing staging code changes. And of course they have a full time guy who manages subversion.


Subversion has been worth every penny we paid for it.

No comments:

Post a Comment