Change Control allows an organization to maximize the number of successful service and product changes by managing the change schedule, authorizing changes, and ensuring that risks have been properly accessed. As Information Technology departments in small- to mid-sized organizations mature, they incorporate more of the processes and constraints previously seen. This is mainly in large companies including a change control mechanism that attempts to manage control procedures to the infrastructure on which the company is so dependent with minimal disruption. Change control is a necessary management process to ensure that systems are stable and reliable in an increasingly complex environment.
1. Plan / Scope
2. Assess / Analyze
3. Review / Approval
4. Build / Test
5. Implement
6. Close
Problems arise from introducing a not insignificant workload, often leading to delays that can, if not managed properly, drastically negatively impact the productivity of development initiatives designed to improve those systems.
By using some of the new tools at our disposal we can make provisioning of test and development systems much more automated whilst still conforming to sensible rules and providing adequate traceability and auditing. A developer can trigger the restoration of a development database or the rebuild of a test server on request without requiring any other human effort at all.
The first steps in change control are to properly segregate the production, test and development systems, and apply sensible rules to each environment. It is still very much the case that a developer or implementation consultant for an application that has a database at its core HAS to know enough about the database itself to be able to determine when and how it should be maintained in a development environment. Without that knowledge, how are they going to create an adequate application that will perform with any level of satisfaction in the production environment? This means that we should not be reliant on the production database management staff to manage the development database and should be able to give much more control to the developer to manage their environment.
If we provide the right change control tools to perform provisioning and maintenance of the development environment in an automated way the developer can perform all the necessary functions on their own by triggering the automation on demand and be very much more productive.