Anti-Patterns of a Private Workspace

[article]

Anti-Pattern Name: Lazy Merge

Problem

·         Where do I merge my code with the latest code in the project integration stream (active development line)?

Context

·         The programmer has made changes in the private workspace and is ready to move it to the project integration stream (aka, active development line).

Forces

·         The programmer has a list of new work changes they must start.

·         The release date is getting closer and the pressure is building to get the changes in.

·         The merge process is not well defined and understood.

(Poor) solution

·         Merge the changes to the project integration stream (aka, active development line).

Consequences

·         When merging to the project integration stream, any changes to code in this baseline are not tested (or rebuilt) to validate that the changes still integrate well with the full baseline of code.

Better solution

·         Merge the changes (e.g., take the latest code) from the project integration stream (aka, active development line) into the programmer’s private workspace first. Then reconcile (e.g., rebuild, retest). This will ensure that the programmer’s latest changes do not break the latest baseline of code which everyone depend.

·         Establish clear guidance in the SCM checkout/check-in process including merge steps. Educate programmers on this process.  

About the author

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!