I love it when the crew from Microsoft post up details about their internal processes. This time its Brian Harry who has posted up about their existing source branch structure and what they hope to do when they move to TFS internally.

One thing that they do is break up the feature development into branches to reduce contention and the risk of someone inadvertantly breaking the build of another group in DevDev (Brian outlines some good stats why this is a real issue). If you want to know more about branching you can read my recent posts on the subject (1, 2, 34) which cover off some of the techniques that the guys at Microsoft are doing to control the complexity of building what they do.

Anyway – some of the comments in Brian’s post are worth reading, including some of the critical ones. All in all however I think that once a development team reaches a certain size branching is inevitable and if you ever want to produce patches for your software without slipping in lots of bugs you are going to need it – even for a one man development band!