Branch Reference Diagrams

The last of nine (9) Version Control topics provides reference diagrams depicting various aspects of how branches relate to one another.  Note that these diagrams depict the Modified Gitflow approach, which is recommended for the most complex Solution, or for those which will be delivered by two or more Teams.

Branches, Environments & Task Responsibilities

On This Page
    Add a header to begin generating the table of contents

    Branches & Responsibilities

    The figure at right depicts a summary of the Branches, the Environments to which each Branch is deployed, and the responsibility for various tasks related to each Branch.

    The table which follows provides more detail about the tasks being carried out by various Solution Delivery members during each Build cycle and each Candidate Release cycle.

    Branch Responsibilities

    Task Sequence

    Solution Analyst / Developer Tasks

    Test Analyst Tasks

    DevSecOps Tasks

    QA Tasks

    For each Build Release:

    • When starting work on a Story / Bug, create a Story / Bug Branch from the parent Build Branch.
    • Merge work-in-progress and completed Stories to Work Branch at least daily, preferably twice or more so changes are available to Testers and potential conflicts with other changes can be identified quickly.
    • Build & Deploy Work Branch to DEV1
    • Following an approved Pull Request, merge ‘Desk Check’ approved Stories to the parent Build Branch.

    For each Candidate Release:

    • When starting work on a Release Bug, create a Bug Branch from the parent Candidate Release Branch.
    • Following an approved Pull Request, merge ‘Functional Review’ approved Bugs to the parent Release Branch.

    After each Release Planning Event:

    After the last Sprint of each Release:

    • Create new Cadidate Release Branch.
    • Merge ‘Accepted’ Features to new Candidate Release Branch
    • Deploy new Candidate Release Branch to TST2

    Ongoing (or Automate):

    • Deploy Build Branch to TST1

    As requested by QA:

    • Deploy Candidate Release Branch to DEV2.
    • Deploy Candidate Release Branch to QA2, executing a mock 'Move to Production'

    Note: If the Solution does not have any active Teams, then DevSecOps will pick up all Team tasks.

    After each new Candidate Release (i.e., new Candidate Release Branch is created):

    • Smoke Test Candidate Release Branch deployment in TST2 to validate new Branch and deployment tasks.

    After Smoke Test passes:

    Once enough Integration Tests pass:

    Branches & Environments

    The diagram at right provides an alternate reference perspective of the Branches and the Environments to which each is typically deployed.

    Branch Environments
    Scroll to Top