When you buy a new computer, it starts up like lightning for the first year. But eventually you start to notice hiccups. You wait longer for the login screen. The Internet takes its time to load pages. You balance your checkbook while Excel loads. No matter what you do, the computer just seems to slow down. This same feeling of inescapable slowdown can permeate our projects as well, but Eddie R. Williams from TechRepublic writes that the solution to maintaining pace and productivity lies in configuration management (CM), and he wants to help you set it up for your projects.
Firstly, we must begin by defining CM, for which Williams offers:
CM is a process for establishing and maintaining consistency of a product’s performance, functional and physical attributes with its requirements, and design and operational information throughout its life. Effective CM is essential to ensure customer/user satisfaction and develop a quality product. Without CM, it is almost impossible to control the documentation, source code, and other data that describe your system and are used throughout the [systems/software development life cycle].
Whether using waterfall or agile methods, CM can and should be implemented as early as possible in the development cycle. To begin that implementation, configuration items should be identified based on system allocation, application functionality, data requirements, each processor, criticality, source code line sizes, cost and schedule, quality, logistics support, and maintenance. Specify the required documentation for each item according to contract requirements, standards, and specifications. Set up a configuration control library to provide control of master files and documentation. Then set up a change management process that includes configuration control and a means to expedite time-sensitive changes. With all of this done, you can issue numbers and identifiers to configuration items for quick and efficient access.
This is when you can determine and prioritize the deliverables based upon the established requirements. Lay down configuration baselines that dictate times for management, control, and release purposes. Set up QA, validation and verification, or test validation processes that complement your chosen method. And finally, throughout your project, be mindful that you continue to carry out CM practices, evaluate success, and tweak as necessary. With CM implanted in your project firmly at the root, you just might be able to evade that inevitable specter of slowdown.