VSTS Source Control tree structure which support Concurrent development & Versions management
Sequential development simply means that each step in the development lifecycle happens in sequential order—new feature development, followed by defect fixes, followed by a release. The obvious drawback is that new feature development must be stopped in order to fix defects.
Concurrent development shortens the overall development timeline by developing new features and fixing defects in parallel while working from a common code base.
Last week we implemented SCM project which support Concurrent development at one of our customers. How we did it? In a nutshell: branching!
- We created a baseline branch (name: MainLine).
- After development for the first release is complete, a feature freeze branch is created (name: Product 1.0).
- Feature development for the next major release continues in the MainLine branch while some developers fix defects in the Product 1.0 branch.
- Critical defect fixes for the release are made in the Product 1.0 branch and promoted to both the Product 1.0 and MainLine branches.
- After the product is released, the Product 1.0 branch was configured as read-only and a snapshot branch called Final Release 1.0.0 was configured to ensure the released code is captured.
A feature branch named FeatureX can also be created from MainLine. This process of branching and promoting changes continues for all minor and major releases. For example, a branch named Product 2.0 is created from MainLine when development on the next major release is complete.
The tree & Branching screenshot: