The Decline and Fall of Agile SCM—and the Rise of Lean SCM

[article]
Summary:
There are definite signs of Agile methods (with a capital A) may be losing mind share or, at the very least, suffering from a certain amount of perhaps over-hype or over familiarity. Or maybe it is just the rise in cases of AFS (Agile Fatigue Syndrome). For some, agile is giving away to the rise of lean software development. Where will it end?

Conceived in 2001 by members of the Agile Manifesto, Agile had a tempestuous upbringing. She became well known development circles as the new bright young thing. Admirers were always at her feet. She was cited as the inspiration for major successes and also for bringing some fun back in to development. Gradually the apparent novelty factor began to wear off, though, and became colored by a certain corporate greyness, and began to fade into the background.

Alistair Cockburn presented a similar theme in his presentation at the Agile 2009 conference, “I Come to Bury Agile, Not to Praise It”:  (http://www.infoq.com/presentations/cockburn-bury-not-praise-agile):

Agile has spread to large, globally distributed commercial projects and affected the IEEE, the PMI, the SEI and the Department of Defense.  In last year’s review column, we touched on the Agile Backlash.

There are many signs that Agile has “crossed the chasm” and become mainstream. Many organizations, and perhaps a majority, now claim they are “doing Agile” in some shape or form. How successfully it’s being done will, of course, depend on many factors. There remain, perhaps, misunderstandings of the discipline required for successful Agile development.

There is a relatively common sequence of steps for the adoption of new ideas:  First comes, “That’ll never work!”  As some examples of success come in, this changes to, “It’ll never work here!”  This implies the belief that each set of challenges differ too much for a set way of doing things to.  Finally, “We’ve always done it that way!”

Regarding Agile SCM, we feel that the same sequence has been followed with practices such as iterative development, continuous integration (and all that means for the improvement and repeatability of the build process), test-driven development, and patterns of working.

Some CM people objected to the term Agile SCM, thinking of it is as simply “SCM for Agile development teams” and that calling it "Agile CM" suggests it is somehow different from CM or a "separate branch" of CM. Mario's Moreira's blog-entry The Chicken (CM) or the Egg (Agile)is a clear example of this. It treats the meaning of "Agile CM" as that of "CM for Agile projects", and maintains the status quo of CM thinking.  This suggests that one really doesn't have to do or think about CM in any genuinely different way nor in any legitimately different style in order to accommodate agile projects. From this perspective, it's another buzzword development method and we only need to make some tweaks and tunings here and there. And it's still the same CM as before.

We have always maintained that Agile CM is CM implemented "Agile style" in the agile mind-set, according to the agile values and principles. Our contention was that the phrase “Agile SCM” did not imply throwing away sound CM principles, but rather focusing on satisfying those principles and requirements in a slightly different way by emphasizing collaboration, flow, and working results.   There has been raging disagreement and very little acceptance of this in the SCM community. With the aforementioned "agile backlash" and every ALM vendor and product marketer touting "Agile wares", everything is now "agile".  The term has been so commoditized and watered down that it has lost much of its original meaning and impact.

There has, however, been agreement that SCM has needed to respond to Agile methods and principles, by using Kanban or continuous improvement principles to reduce cycle times, smooth friction in the development process, ensure appropriate automation while still being able to satisfy traceability requirements, etc. We feel that there is a different reason to, perhaps, let the term Agile SCM just be subsumed into SCM, so we will assume that all SCM is agile.

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 book Software Configuration Management Patterns, a columnist for the CMCrossroads and AgileConnection communities at Techwell.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

Sep 22
Sep 24
Oct 12
Nov 09