Software Configuration Management

Software Configuration Management first appeared in military contracts, in which part of the delivery was software. Configuration Management as a discipline is much older, relating to manufacturing. Configuration in this discipline is primarily concerned with assembly of a product.

In an industrial perspective: for example building a military jet. To be able to assemble and maintain the aircraft the parts need to be catalogued, so replacement parts can be ordered. Software components dominate flight control. Although fighter jets are robust, and tolerant of failure they operate in hostile environments; the maintenance schedule can be demanding. In this environment the military demanded that contractors be able to delivered known versions of software.

The Challenge

Configuration Management is particularly challenging for software. Software is very malleable, systems are often build with unclear interfaces and the configuration information that can be exported for a system can be very detailed. Software systems that are friendly from a Configuration Management view present a kind of aesthetic to which the software should conform.