Policy Branch

Synopsis::A new branch is created for each operational policy.

Intent
To allow developers to fork development and apply appropriate codeline policies to their working environment.

Motivation
Multiple developers are working on a branch that has a codeline policy applied. This policy is felt to be inappropriate to a subset of the developers. A new branch is created to support a more appropriate codeline policy.

Applicability
Typically used on larger, multi-team projects where one codeline policy may not cover all of the teams' operational concerns.

Also known as
also known as::Branch on Incompatible Policy,

Structure
A branch is made from the original (base) branch and a new codeline policy is enforced.



Participants
The new policy branch is created to support the teams needs. This may arise in an open environment where the teams are largely independent of one another, but more typically it arises in an organisational context where two teams are working toward a common goal but have different operational concerns (for example, they are using different development methods).

Collaborations
With policy branching there is an increased need for co-ordination between the branches..

Consequences

 * Increased need for inter-branch merging to ensure that the two policy branches do not diverge.

Known uses
Common in large organisations or where substantial parts of a development project are outsourced to external teams.

Related patterns
The following patterns are related to the pattern.
 * related pattern::Codeline Policy
 * related pattern::Codeline Ownership