Glossary: Software Configuration Management

Configuration Management is a term from conventional manufacturing. The dictionary definition of a configuration is something that results from a particular arrangement of parts or components. In custom software, the parts are things such as program source code, images, and datafiles. A big difference for software is that all of these parts are different. When you make widgets you may use a million bolts, but they’re all basically the same. If you lose one, you can easily get an equivalent part. In software, each part is unique and can’t be replaced.

Once you have all of your software “parts,” you have to arrange them to produce your product (also known as software design). Each part may have to go through a number of steps or transformations before being assembled into the final product. We are now talking about many thousands or million of steps to build a software product.

This combination of software parts plus processing steps is called a Software Configuration. If you sell several versions of your product, for example, a domestic version, export versions or a “lite” version, you will then have one Software Configuration for each version.

Software configurations are also influenced by the environment into which the software will be deployed. Custom business software is normally subject to commonly accepted accounting practices, as custom eCommerce software is subject to search engine and web browser standards. Software development companies creating software integration solutions are often dependent upon API and SDK software interfaces.