The Agony and Ecstasy of Configuration Management
暂无分享,去创建一个
This tutorial is designed to expose the agony and ecstasy of configuration management (CM) based on industrial experience in finding a CM solution. The agony comes from the challenges in adopting a good CM solution. Typical challenging questions that companies ask are: how do we know we have a CM problem? How do we get sponsorship to get a new CM tool? How do we avoid politics and affecting production deadlines? Which tool is best? Will engineers accept it? What CM process should be followed? How will the tool support distributed development. And so on. The ecstasies come from the benefits of having a well-thought out and optimally implemented CM solution. They include: improved release cycles, less bugs found in the field, quality control by default, management of change complexity and its evolution, repeatable builds, ability to support more variant baselines, and able to be more responsive to customers' growing need for bug fixes and enhancements. Many companies realize that CM is a vital part of their business strategy. In fact, it is a key part in keeping them competitive as well as expanding their product lines. But, most companies struggle with adopting a CM solution or improving their existing approach. There are many reasons for this. But essentially, it all relates to poor technology adoption practice. Regardless of whether a company is small or large, mistakes are made in selecting the right tool and in its deployment which could have been avoided. This tutorial presents a process that companies can follow in order to successfully select and deploy a CM tool. Such a process involves understanding the CM problems, gathering the CM requirements, and developing various plans such as the evaluation strategy, proof of concept pilot project plan, risk management plan, and deployment plan. One of the initial steps is to understand what CM is. Within a company there generally is a multitude of definitions of CM. This tutorial will look at the spectrum of CM operational elements which includes: version control, build and release management, change tracking, process control, workspace and repository management, parallel and distributed development, and audit control. Highlighted will be the more challenging aspects of CM which include: release planning, change sets, distributed development, people issues, risk management, ties with related tools such as document management, and process issues. An overview of CM tools providing different levels of support will be given. This tutorial is suited to practitioners who want broader exposure to the operational issues regarding CM and for those who seek a comprehensive introduction to CM.