Testing's Role in the Software Configuration Management Process

your process unless it's automated, and part of an automated continuous integration process. Here's why: SCM is about identification and reproducibility and manual processes are error prone. While manual testing is better than no testing, an automatic, repeatable, testing process is the best way to ensure that your testing process helps to validate your configuration.

Roles (again) 
If testing is part of SCM process, who's responsible for testing? The reality is that the various roles on a software project need to work together for the project to be successful. Everyone has a role in the testing process. The good news is that, by it's nature, testing will help you to understand how well everyone is working together.

We want to emphasize that that testing is effective when it is understood to be a shared responsibility, as everyone benefits from an effective testing strategy. Testing can start with a developer (unit testing), and/ or a QA engineer (integration testing), but the activities need to be supported by the build and release engineers to allow for frequent running of tests as part of the build and correct association of tests results with builds.

Summing Up 
Testing is a cornerstone of agile practices because testing helps provide the feedback that enables agile to work. As we said in our October column, citing Susan Dart, SCM is about ensuring the integrity of a product and making its evolution more manageable. Testing is a mechanism that provides the feedback necessary to ensure product integrity and manage change effectively. Testing is part of the foundation of SCM.

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 an engineer and ScrumMaster at Humedica where he's helping to build next-generation SaaS-based clinical informatics applications. 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.