Configuration Management is the process by which a software project identifies all work products that need to be brought under version control, defines a system for identifying and controlling those items, and manages all changes to those work products. Work products can consist of process descriptions, requirements documents, design specs, test plans, source code, software tools, and project documentation.