Microsoft Team Foundation Server Branching Guidance
Want to know how Microsoft handles branching and merging? Then take a look at this great guide for doing branching and merging with TFS available on Codeplex.
In particular, read the Feature Crews: How Microsoft Does It section which discusses the feature crew model which originated in the Office team and is now used in Dev Div.
Here are some key engineering approaches that make it effective:
Drive to Feature Complete, not simply Code Complete. Finish a feature before adding it to the product - spec, design, implement, automate, test and fix bugs
Use Quality Gates to provide consistency across the division. Define the divisional requirements for Feature Complete. These Quality Gates must be satisfied before adding a feature to the product
Use Feature Branches to isolate new feature development. Each feature gets its own branch.
Only Reverse Integrate the feature branch into the PU branch (covered below) once each of the following is met:
- The feature is complete
- The Quality Gates are satisfied
All makes sense, right? Still, it's surprising how many s/w projects blur the line between code complete and feature complete in particular, which as the guide discusses makes it hard to estimate project completion dates due to stabilisation issues. Compounding the problem, it's also hard to reduce scope to make a deadline if a feature has been coded but not stabilised.
Comments
- Anonymous
September 28, 2007
PingBack from http://www.artofbam.com/wordpress/?p=3670