The goal of this article is to provide a strategy to mange SCM for a
project using the Agile (SCRUM) methodology.
- Create for each User Story a branch from the trunk to contain the changes
- At the end of each Sprint, create a new branch to contain the merge of all finished and validated user stories. This branch is used for Spring Review to make a demo only for finished work.
- After sprint review and before starting a new sprint, the sprint branch is merged to the trunk.
- When all developments for the current release are finished, we create a new branch from the trunk to contain the stories ready for the release. This branch is used to do the final tests before starting QA cycle. If bugs are detected, fixes are reported to the trunk, otherwise we create a tag from this branch
- If bugs are detected and fixed on the trunk, fixed could be reported to release branches concerned with correction. A new tag and release could be done to patch older versions.
The number of branches doesn't affect the
performance of Subversion. For continuous integration, the Build Job
workspace could point to the trunk, changes are detected and integrated only at
the end of each sprint after the sprint review demos.
No comments:
Post a Comment