Convergence of Software Project and Configuration Management

[article]
Summary:

Whereas Project Management (PM) is a widely accepted, highly visible discipline, Configuration Management (CM) is too often seen as a low-level, technical discipline - a back-room activity that, while essential, does not command management attention.

While CM’s lot as a “poor relation” to PM is not a universal view, it is a pervading attitude that is especially evident in software development organizations.  Even where CM is seen as an integral management discipline, as in the military domain where it was first formalized, CM can have an administrative and retrospective quality.

The fact is that CM is always necessary but less often desired. The common view is that CM is a passive discipline that does nothing to help (and can sometime hinder) projects deliver on time and to budget.

The increasing complexity of development projects and the reliance on pre-existing components or (legacy) systems have forced PM to consider the change management issues that are at the foundation of CM. Few projects today do not rely on or impact existing systems and components, making project managers more attuned to the requirements of CM.

For its part, CM has evolved to address more directly the activity-based issues that give rise to a changed configuration. Recent approaches to software CM have made some important terminology and conceptual shifts that have brought the CM world closer to the mainstream PM thinking.

Certainly the need for improved and convergent paradigms are never more evident as the crossover between CM and PM is also at the epicenter of the stresses and dissatisfaction that represent development in today’s environment.

This paper attempts to highlight the converging concepts and introduces a release-centric approach to CM that is aligned with PM terminology, offering a shared language and a richer, more unified management perspective for software development.

The CM – PM Nexus

While PM identifies and manages the activities necessary to achieve a project’s objectives, in software projects these activities commonly produce, modify or indirectly impact the systems that support business operations.

The discipline of PM provides the familiar techniques for planning, organizing, resourcing, scheduling and statusing the project, using tools like the PERT, Work Break-down Structure, Critical Path Method and Gantt charts. But the PM discipline confines itself to activities, traditionally leaving the management of the systems impact to CM.

This division of responsibilities between CM and PM has become increasingly blurred as projects have moved from single, independent efforts to the highly complex, distributed and interdependent activities conducted across a number of sub-systems we have today.

So while the current management paradigms that support each discipline are being tested and are evolving in response, the inescapable fact is that projects impact systems – it is the nexus between the disciplines of CM and PM.

As a maturing discipline, CM has proven to be more fluid and is increasingly extending it scope to the development activities that relate to configuration changes. CM tools have evolved from static repositories that managed the source configuration, to providing integrated work areas for developers’ code and unit test activities, and more recently to providing process support that assists the promotion of a configuration through a defined lifecycle.

This evolution of CM has changed the once back room, administrative and passive nature of the discipline and made them more pertinent to the activity oriented, nature of projects. Modern CM repositories increasingly hold more than simple configuration information; they provide metadata that includes tasks, roles, releases and lifecycle states – attributes that relate directly to the execution of a project.

CM information is not confined to the rich, historical records that provide traceability of past activities. Rather, CM environments now offer current status of development tasks and releases that, with suitable abstractions, can be used as a predictive tool to gauge project trends and delivery confidence.

Evolving Paradigms

The evolving

Pages

About the author

Louis Taborda's picture Louis Taborda

Louis is the managing consultant and founder of the Alinement Network, operating out of Sydney, Australia. He has been chief technologist formulating the ALM vision for a leading tool vendor and works across the project lifecycle to streamline processes and bridge the business - technology divide. With over twenty-five years of software and systems experience he recently completed a PhD that applied Configuration Management (CM) and agile principles to managing change and architectural complexity. This work provides the foundation for the release-centric lifecycle described in his book, Enterprise Release Management: Agile Delivery of a Strategic Change Portfolio, published in late 2012 - see enterpriserelease.com

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!