January 29, 2014

TFS Branching Strategy With Scrum Agile

I am writing this blog in order to share my experience regarding with implementing Branching Strategy using Team Foundation Server. As you can see in the below picture there are 4 branches at all and I am going to explain all of them one by one. Branching Strategy 1- Main Branch: This branch always involve all functionalities that have been implemented by development team. All the done user stories from the scratch until now are located inside this branch.

Main Branch Features:

  • Contain whole functionalities
  • Without any BUGs
  • Ready to publish on Real or Test Environment
  • Ready to demo to customer
2- Development Branch: Working environment for developers that able them to do anything they want for implementing their tasks. Development Branch is a child of Main Branch.

Development Branch Features:

  • Working Environment for Developers
  • Unreliable Version, may contains Bugs
  • Ready to Publish on Test Environment
3- Main Release Branch: if your customer is going to ask you to publish some specific done user stories rather than the latest version, this branch seems necessary in our branching strategy. In other word, this branch is playing a dispatcher role for publishing application to different customers.Main Release Branch is a child of Main Branch.

Main Release Branch Features:

  • Ready to Publish on Production.
  • Contain the latest Version of Published functionalities and also Hot Fixes.
  • The bridge between each Release Branch and Main Branch.
  • Ready to receive full or specific functionalities from the Main Branch to publish
4- Release Branch: when we are going to publish a new release version of application for customer(or different customers), we will create a new release branch with a proper version number. Release Branch is a child of Main Release Branch.

Release Branch Features:

  • Contain a stable version that had been published
  • First┬ábranch for implementing Hot Fixes
  • Separate functionalities for different customers

In a PowerPoint file that has been attached at the end of this blog, you can see all steps of agile scrum process using this branching strategy.

Download PPT File of Branching Strategy with Scram Agile