Software configuration management identifies and controls all changes made during software development and after release. It organizes all information produced during engineering into a configuration that enables orderly control of changes. Some key items included in a software configuration are management and specification plans, source code, databases, and production documentation.