Anti-Patterns of a Private Workspace


Anti-Pattern Name: Lazy Merge


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


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


·         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).


·         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 a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.