Earlier this month some very useful guidance documentation was published on Codeplex.
The topic? Build and versioning guidance, from Microsoft’s ALM Rangers group.
The guides are broken down into a number of PDF files. In the main documentation archive (which you can download from Codeplex) are a number of files:
- Branching and Merging Guide – Cheatsheet Advanced Plan.pdf
- Branching and Merging Guide – Cheatsheet Basic Branch Plan.pdf
- Branching and Merging Guide – Cheatsheet Picking a Strategy.pdf
- Branching and Merging Guide – Cheatsheet Standard Branch Plan.pdf
- Branching and Merging Guide – Cheatsheet Terminology.pdf
- Branching and Merging Guide – Illustrations.pdf
- Branching and Merging Guide – Illustrations.pptx
- Branching and Merging Guide.pdf
Which, all said, cover a fair amount of material.
Also packaged are some Hands on Labs which provide a useful set of demonstration examples, and can be used with the Beta version of TFS.
According to the main PDF (Branching and Merging Guide.pdf) the following bullet points describe the new content covered in the beta documentation:
- The guidance will have some new verbiage and recommendations around some of our existing branching
plans, as well as add some coverage for new branching plans.
- This guidance introduces you to local workspace which is a new concept in Team Foundation Server 11.
Local workspace enables you to continue working even when network access is intermittent or
unavailable thereby providing increased bandwidth availability and client optimizations.
- We provide new guidance around effectively managing shared resources in source control by discussing
various common scenarios and describing the pros and cons with each approach. This guide lays a solid
foundation for implementing sharing for your development efforts in your Team Foundation Server
- Branching and merging with database projects is discussed in detail.
- There is in-depth coverage of merge improvements in Team Foundation Server 11. There has been
enhancements made to the product that brings a whole set of improvements in the area of merging,
primarily fewer conflicts that require user interaction when merging, new merge tool for conflict
resolution in merging, new file comparison tool, baseless merging from the UI, and merging available on
- Different scenarios for baseless merging are discussed in this release of the guidance. Baseless merges are
not ideal but may be required on occasion. The Pros and Cons of baseless merging are pointed out with
coverage on the enhancements made in Visual Studio 11 around baseless merging. You can now perform
There are separate diagrams within the “Branching and Merging Guide – Illustrations.pptx” PowerPoint side deck, enabling ease of access for reuse.
You might recall, I published my own (similar) version of this diagram here on Sanders Technology not that long ago:
This diagram is an excellent representation of how to branch and merge for multiple feature sets, keeping the main trunk in synch, as well as the features in release order.
The diagrams get quite a bit more sophisticated, here is another which illustrates my own rules for dev/branch and patch management:
What I quite like about these diagrams is that it underscores how important merging and branching are to a mature development lifecycle.
This model allows parallel development as well as maintenance on the released product.
I won’t go into too much detail – there’s a lot to read – suffice to say that if you have a vested interest in learning or understanding application lifecycle management (be it on Team Foundation Server or an alternative), this isn’t a bad place to start.
The guidance could easily be applied to other source control and lifecycle management tools.
Download the Team Foundation Server 11 Branching and Merging Guidance
Download the Visual Studio 11 Beta
Download the Team Foundation Server 11 Beta
Download the Team Foundation Server 11 Beta Power Tools