Defining Agile SCM: Past, Present & Future (2008)

[article]

Interest in, and articles about, Agile SCM seemed to grow slowly at best from 2000-2004. About the only other folks writing specifically about Agile/XP and SCM were Darcy Weber (CM Strategies for RAD), Christensen (Tracking Change in Rapid and eXtreme Development), and Bendix & Ekman (see the ASCM project). The CMCrossroads community & portal sprouted at that time, as did the CMWiki-web. There were some initial exploratory (and heated) discussions there on some of the forums (and also the version-control mail list, when it still existed). In April 2003 the CM Journal had its first issue devoted to the topic of Agility and the following month gave birth to the regular "Agile SCM" column.

Somewhere near the end of 2004, there was a small spurt in articles on the subject (by authors other than articles and presentations by Steve, Brad, and Rob, and the annual CM Journal issue devoted to that particular subject). Several SCM tool vendors strarted to enter the SCM+Agile arena at that time and offered whitepapers and marketing geared towards an Agile audience. Since 2005, interest in "Agile" SCM has been growing a bit more quickly, no doubt due to the popularity of the "Agile" buzzword becoming more main stream and making its way into more organizations and SCM tools marketing.

Also in 2005, the greater project management community began to build momentum toward embracing Agile techniques and values, and their manifesto-like Declaration of Interdependence (DOI) was born. Since software CM has close ties with both project management and development, the DOI helped strengthen connections between CM with agile and project management, and Scrum is quickly becoming the most widely adopted Agile method. Increased economic trends towards globalization have also increased the focus on collaboration & feedback across geographically dispersed sites. The subject of scaling agile methods became the most popular in the Agile community during 2005 and 2006. So it is clear that much more "Agile SCM" history no doubt remains to be written.

What is Agile SCM?
Our definition of Agile SCM has not changed dramatically over the past 5 years. It is more than just CM for an Agile project, and encompasses attaining agility within the CM process itself. In addition to enabling an Agile project environment, true Agile CM requires taking on an Agile mind-set embodied by the Agile manifesto, applying that with Lean principles and techniques (including Theory of Constraints, and even parts of Six Sigma) and combining it with the principles and discipline of configuration management. The challenge of Agile CM comes when attempting to reconcile apparent conflict between Agile/Lean values and principles with CM principles and discipline. A synergistic balance must be achieved that attains the goals of both without compromising the values of either one.

"Agile" names a family of methods (rather than one particular method), that includes Feature-Driven Development (FDD), Scrum, Extreme Programming (XP), Crystal Clear, DSDM, and others. Some of the various agile methods have very significant differences, but they all share the common values and principles of the Agile manifesto. Very often people use "Agile" as a synonym for XP and/or think that all agile methods are more-or-less like XP (because XP is what they typically hear the most about, and often has the most "attitude" to go with it). FDD and XP for example are markedly different, yet both share the values and principles espoused by the Agile Manifesto.

About the author

Brad Appleton's picture Brad Appleton

Brad Appleton is a software CM/ALM solution architect and lean/agile development champion at a large telecommunications company. Currently he helps projects and teams adopt and apply lean/agile development and CM/ALM practices and tools. He is coauthor of the bookSoftware Configuration Management Patterns, a columnist in The CM Journal and The Agile Journal at CMCrossroads.com, and a former section editor for The C++ Report. You can read Brad's blog at blog.bradapp.net.

About the author

Steve Berczuk's picture Steve Berczuk

Steve Berczuk is a Principal Engineer and Scrum Master at Fitbit. The author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, he is a recognized expert in software configuration management and agile software development. Steve is passionate about helping teams work effectively to produce quality software. He has an M.S. in operations research from Stanford University and an S.B. in Electrical Engineering from MIT, and is a certified, practicing ScrumMaster. Contact Steve at steve@berczuk.com or visit berczuk.com and follow his blog at blog.berczuk.com.

About the author

Robert Cowham's picture Robert Cowham

Robert Cowham has long been interested in software configuration management while retaining the attitude of a generalist with experience and skills in many aspects of software development. A regular presenter at conferences, he authored the Agile SCM column within the CM Journal together with Brad Appleton and Steve Berczuk. His day job is as Services Director for Square Mile Systems whose main focus is on skills and techniques for infrastructure configuration management and DCIM (Data Center Infrastructure Management) - applying configuration management principles to hardware documentation and implementation as well as mapping ITIL services to the underlying layers.

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!

Upcoming Events

May 04
May 04
May 04
Jun 01