a·gen·tic a·gil·i·ty

Guidance - Branching for each Sprint

Explains how using a separate version control branch for each sprint in Scrum improves code stability, release management, and team collaboration over using labels.

Published on
4 minute read
Image
https://nkdagility.com/resources/hPGpt57lpYZ
Subscribe

There are a lot of developers using version control these days, but a feature of version control called branching is very poorly understood and remains unused by most developers in favour of Labels. Most developers think that branching is hard and complicated. Its not!

What is hard and complicated is a bad branching strategy. Just like a bad software architecture a bad branch architecture, or one that is not adhered to can prove fatal to a project. We I was at Aggreko we had a fairly successful Feature branching strategy (although the developers hated it) that meant that we could have multiple feature teams working at the same time without impacting each other. Now, this had to be carefully orchestrated as it was a Business Intelligence team and many of the BI artefacts do not lend themselves to merging.

Today at SSW I am working on a Scrum team delivering a product that will be used by many hundreds of developers. SSW SQL Deploy takes much of the pain out of upgrading production databases when you are not using the Database projects in Visual Studio.

With Scrum each Scrum Team works for a fixed period of time on a single sprint. You can have one or more Scrum Teams involved in delivering a product, but all the work must be merged and tested, ready to be shown to the Product Owner at the the Sprint Review meeting at the end of the current Sprint.

So, what does this mean for a branching strategy?

We have been using a “Main” (sometimes called “Trunk”) line and doing a branch for each sprint. It’s like Feature Branching, but with only ONE feature in operation at any one time, so no conflicts Guidance - Branching for each Sprint

Guidance - Branching for each Sprint

Figure: DEV folder containing the Development branches.

I know that some folks advocate applying a Label at the start of each Sprint and then rolling back if you need to, but I have always preferred the security of a branch.

Like:

Don’t Like:

Why take the chance of having a problem rolling back or wanting to keep some of the code, when you can just abandon a branch and start a new one?

It just seems easier and less painful to use a branch to me! What do you think?

Technorati Tags: Scrum   SSW   TFS 2008   TFS 2010   ALM   Branching   Version Control

Smart Classifications

Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.

Subscribe

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Schlumberger Logo

Schlumberger

Genus Breeding Ltd Logo

Genus Breeding Ltd

Kongsberg Maritime Logo

Kongsberg Maritime

MacDonald Humfrey (Automation) Ltd. Logo

MacDonald Humfrey (Automation) Ltd.

ProgramUtvikling Logo

ProgramUtvikling

Deliotte Logo

Deliotte

DFDS Logo

DFDS

Lean SA Logo

Lean SA

Flowmaster (a Mentor Graphics Company) Logo

Flowmaster (a Mentor Graphics Company)

Alignment Healthcare Logo

Alignment Healthcare

Qualco Logo

Qualco

Boeing Logo

Boeing

Sage Logo

Sage

Akaditi Logo

Akaditi

Microsoft Logo

Microsoft

CR2

Slicedbread Logo

Slicedbread

Higher Education Statistics Agency Logo

Higher Education Statistics Agency

Washington Department of Transport Logo

Washington Department of Transport

Ghana Police Service Logo

Ghana Police Service

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

New Hampshire Supreme Court Logo

New Hampshire Supreme Court

Washington Department of Enterprise Services Logo

Washington Department of Enterprise Services

Nottingham County Council Logo

Nottingham County Council

Higher Education Statistics Agency Logo

Higher Education Statistics Agency

Brandes Investment Partners L.P. Logo

Brandes Investment Partners L.P.

Flowmaster (a Mentor Graphics Company) Logo

Flowmaster (a Mentor Graphics Company)

Capita Secure Information Solutions Ltd Logo

Capita Secure Information Solutions Ltd

Emerson Process Management Logo

Emerson Process Management

Bistech Logo

Bistech