Agile SCM: It’s All Related


Finally, the codeline policy is a description of what procedures to follow before checking code in. A release line may have a more restrictive policy than an active development line, for example.

The figure below shows how the patterns fit together. An arrow from pattern A to pattern B means, in effect, that pattern B is necessary to “complete” pattern A. This is a structural relationship and does not have any defined implications about the sequence in which the patterns are implemented. The key is going beyond an active development line and changing the codeline policy appropriately.

Putting it All Together
If you read this far you may be thinking, “Codeline policy and build issues are SCM, but isn’t testing QA?” In a sense that is correct, but the fact that they are separated into two different groups is an organizational, and perhaps historical, artifact. In extreme programming teams, developers write tests and use version control in addition to coding. There is a role for testing experts, ideally fully integrated into the team as either someone who helps customers write acceptance tests or on the development team, helping developers with their testing technique. Likewise, there is a role for software configuration management in an agile project and, indeed, all projects would benefit by a more integrated view of SCM.

In addition to the abstract benefits of understanding the global value of SCM solutions, implementing SCM processes with this in mind will make it easier for the entire team to embrace the SCM and appreciate the value that it adds.

Often we focus on our particular discipline and lose track of the goal of a software project: to build software that serves a customer’s needs. Testing, SCM, and coding should be part of every developer’s toolkit. Some will know more than others about a given discipline, but the disciplines need to work together well.

Acknowledgements: Ron Jeffries provided input into this article. To learn more about xtreme Programming visit




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,  and a former section editor for The C++ Report. You can read Brad's blog at

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 or visit and follow his blog at

About the author

Steve Konieczka's picture Steve Konieczka

Steve Konieczka is President and Chief Operating Officer of SCM Labs, a leading Software Configuration Management solutions provider. An IT consultant for fourteen years, Steve understands the challenges IT organizations face in change management. He has helped shape companies’ methodologies for creating and implementing effective SCM solutions for local and national clients. Steve is a member of Young Entrepreneurs Organization and serves on the board of the Association for Configuration and Data Management (ACDM). He holds a Bachelor of Science in Computer Information Systems from Colorado State University. You can reach Steve at

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

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