To ensure the integrity of the deliverables, software and hardware components, and supporting documentation that are necessary to support development or maintenance of the end-products, throughout the project life cycle.
Select the specific project items that will be controlled as configuration items. Include such things as the contract, the product specifications, process specifications, and project plans as well as the specific hardware and software components that make up the delivered system. Make sure that each configuration item is uniquely identified. Use an automated directory (at minimum a spreadsheet) to list each configuration item, or group of configuration items, and its status.
SOFTWARE ITEM DIRECTORY
The automated software item directory should identify:
• name of system,
• name of subsystem (if applicable),
• name of unit/module,
• build status, for example:
• Designed (completed Detailed Design),
• Developed (completed Coding),
• Unit Tested (completed Unit Testing),
• Int. Tested (completed Integration Testing),
• System Tested (completed System Testing),
• Acc. Tested (completed Acceptance Testing),
• Production (in production).
• date of status change,
• current person who is working on the software item,
• Change Requests and Fault Reports which currently apply to the software item.
Establish the configuration management environment. Create independent environments for each version of the system. Make sure that simultaneous updating of any configuration item by more than one person is prohibited. Use configuration management software to promote and demote software through the test libraries.
STANDARD TEST ENVIRONMENTS
Create independent test environments for each version of the system including, as a minimum:
• Unit Test (for use by the programmer), which may be in the programmer's own directory,
• System Test (for use by the System Test team),
• Acceptance Test (for use by Acceptance Test team),
• Production (for code in production).
For projects of more than 15 developers, create an independent Integration Test environment.
Include in each environment except Unit Test, the following software items:
• Source code,
• Object code,
• Database schema,
• Screen maps/images,
• Test data,
• On-line help text.
Systematically control the official versions of the configuration items. Make sure that work proceeds on baselined items only when there is either an accepted Change Request or a Fault Report. Formally approve any changes to the configuration items. See also:
Systematically manage all physical inventory items of hardware or software received by the project to prevent misuse, damage, deterioration, or loss. See also:
Identify and report on the status of configuration items as part of the weekly and monthly status reporting process. See also:
• Standards and Procedures for Configuration Management
• Standards and Procedures for Handling and Storing
• Standards and Procedures for Packaging and Shipping
About the Author:
Craig Borysowich has over 18 years of Technology Consulting experience with both public and private sector clients, including ten years in Project Leadership roles. His extensive background in working with large scale, high-profile systems integration and development projects that span throughout a customerís organization allows him to help consulting organizations world-wide to deliver better quality projects more consistently.