1) Each release of software, documentation, database, etc., should have a unique version number. Changes should be incorporated through new versions of the program. There should be a process for moving versions in and out of production on prescribed dates.
2) Procedures should exist for maintaining the production and source libraries. They should address when to add to the library and when prior versions should be deleted. Care should be taken to regularly review libraries for obsolete programs, as large libraries can negatively impact operations performance.
3) Project documentation such as requirements specifications, design documents, test plans, standards, procedures, and guidelines should also be identified with version numbers and kept under version control to ensure the project team is working with the latest, approved documents.
4) Other environmental considerations to keep under version control are the operating system and hardware, as changes to either of these have the potential for impacting the project.
Last but not the least, Configuration management has a number of important implications for testing. For one thing, it allows the testers to manage their test ware and test results using the same configuration management mechanisms, as if they were as valuable as the source code and documentation for the system itself. Also, configuration management supports the build process, which is essential for delivery of a test release into the test environment.