TFS Branching Guidance - DEVELOPMENT Branches

“Your branch distance from main is equal to your level of insanity” - anonymous

Branching enables parallel development by providing each development activity for the current release its own self-contained snapshot of needed sources, tools, external dependencies and process automation. Such a self-contained snapshot effectively enables each development activity to proceed at its own pace, without taking any dependency on another. It follows that these snapshots are allowed to diverge their respective sources along the particular development activity they are involved with – fixing a bug, implementing a feature or stabilizing a breaking change.

Before creating a DEVELOPMENT branch, make sure you can do the following:

- Select a parent branch – if your changes are focused on your next product release then the parent branch should be MAIN.

- Branch from a recent known good state of the parent – start your branch from the latest successful build of the parent branch. There should be a label associated with the parent build that you can use as a starting point for your child branch. On day one of your DEVELOPMENT branch it should be in the same state as its parent (i.e. build and pass BVT’s successfully).

- FI frequently – your goal should be to be no more than 1-2 days out of sync with main. Ideally you should FI every time the parent branch builds and passes BVTs.

- RI from child to parent based on quality. Minimum RI requirements are
• Be in sync with parent branch
• Build successfully
• Pass BVT’s


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner