REVIEW - Software Configuration Management Patterns - Effective Teamwork, Practical Integration


Title:

Software Configuration Management Patterns

Effective Teamwork, Practical Integration

Author:

Stephen P. Berczuk, Brad Appleton

Publisher:

Addison-Wesley Professional (2002)

Pages:

218pp

Reviewer:

Chris Oldwood

Reviewed:

April 2014

Rating:

★★★★☆


Reviewed: November 2012

I’ve been blessed in that right from the start of my professional career I’ve always had a Version Control System behind the codebase I’m working on. Naturally in the intervening years I’ve formed my own opinions about codelines and good SCM policies. So why buy a book? Mainly I was looking for a deeper understanding of the forces that drives the need to isolate and join codelines and also a dictionary to help ensure I understood the correct meanings of the terminology I appeared to be using.

This is a neat little book weighing in around 160 pages after you’ve ignored the aging appendices, so slips nicely on the shelf. Like many books of its era, it takes a patterns-style approach to describing the various concepts, but only after going through some background notes. The first 3 chapters are all about getting a fluid development process in place and putting some key terms into the right context. I suspect most of this is de rigueur these days but the books listed in the further reading sections are all sound recommendations that you probably already own.

The meat of the book is a language of patterns that are both specific to the SCM world, such as ‘Mainline’, and also tangential like ‘Unit Test’. The reason for this is that they are all part of the larger context which is the developer’s Workspace – the sandbox that we play in day-to-day. Hence ‘Private Workspace’ is introduced early on as the pattern language loosely follows the timeline of changes from sandbox, to branch, to build system. ‘Integration Build’ on the other hand tackles the post-commit side of the process.

There are seven patterns that directly relate to branches of various kinds, each of which has a different policy. Curiously ‘Codeline Policy’ – the meta-pattern if you like – doesn’t get documented until you’ve already met three of the concrete types. Then there are five patterns covering the build and test side which may seem out-of-place but really it’s about promoting practices that ensure commits are solid as you’re effectively publishing your changes at that point. This just leaves a couple of other miscellaneous SCM patterns to shore up the good practices, e.g. ‘Task Level Commit’.

Sadly the two appendices highlight how far this subject has moved on in the last 10 years because although some of the main URLs in Appendix A are still valid, the list of SCM tools in Appendix B is pretty hopeless. There isn’t even mention of Subversion (only CVS) let alone any of the more well-established Distributed VCSs like Git or Mercurial.

I came looking for a book that discussed branches and merging in a bit more detail than the bigger general-purpose development books cover – which I found


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.