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

[article]

Customer Collaboration over Contract Negotiation
SCM can facilitate communication and interaction among stakeholders and help manage expectations. The appropriate tools and processes can provide customers with visibility into the status of a project and allow them to contribute to the project where appropriate.

We value transparency and traceability that is maintained by the tools without overburdening the practitioners

Responding to Change over Following a Plan
SCM is about facilitating change, not preventing it. Use SCM policies and structures that allow your development team to progress at an appropriately rapid pace, but without losing control. Don't attempt too rigid a process or procedure. In conjunction with the first section on the importance of individuals, don't legislate for every last scenario in your process (all possible exceptions), but instead allow suitable experienced and trained individuals to make decisions in accordance with sound SCM principles.

Agile Principles
The full list is at: agilemanifesto.org/principles.html

We have selected and adapted those that we consider the most relevant:

·         Our highest priority is to satisfy the customer by maintaining the integrity of the software throughout its lifecycle, and making early and continuous delivery easy and simple to achieve.

·         We welcome changing requirements because we can manage and control them in a light-weight, but consistent, way to harness change for the customer's competitive advantage.

·         Change and configuration management are the responsibility of everyone involved in the project from business people to developers. SCM people must work with the rest of the team on a daily basis.

·         Give individuals appropriate tools and environments to perform effective configuration management throughout the lifecycle.

·        While agile processes encourage conveying information face-to-face, SCM requirements lead to some level of easily recording, tracking, and managing change to that information, preferring automation to   manual processes.

·        Working software is the primary measure of progress (not SCM metrics!).

·         Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

·         Continuous attention to (SCM) processes and systems enhances agility.

·         Simplicity - the art of maximizing the amount of work not done - is essential.

·         The best architectures, requirements, designs and SCM processes emerge from self-organizing teams with SCM responsibilities devolved.

·         At regular intervals, the team reflects on how to become more effective in their SCM processes and procedures, then tunes and adjusts its behavior accordingly. This includes taking incorporating ideas from Lean thinking, Theory of Constraints and other such initiatives.

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!