Transferred from rational South China User Group
Zhu Yonggang
When it comes to software configuration management, it is essential that software personnel are engaged in it. To truly implement configuration management, I should have a necessary understanding and understanding of the significance and importance of Software Configuration Management.
Software Configuration Management (SCM;
In software configuration management, a key part is change management, and the foundation of change management is the determination of configuration items and version management. To understand these problems correctly, we cannot simply use SCM as a management tool or fulfill the obligations stipulated in the project negotiation and execution. In this case, it is easy to turn this kind of work into a bureaucratic stumbling block. When we launch projects, many contracts have clearly defined requirements for configuration management, the purpose of configuration management is to provide support and help for different roles in the software development process to control and track and manage their own work.
Many problems encountered during software development are caused by poor configuration management. The occurrence of these problems takes time to determine, and many of them may be repeated. Some are unnecessary. For example, if a difficult software error that has been solved with a large amount of effort and costs suddenly emerges, a feature that has been developed or tested disappears, A fully tested software system suddenly fails to run. Configuration Management helps us reduce and eliminate these problems by generating work products for different people in the same project. The problem is mainly reflected in:
-- Currently, most projects are developed in a stacked, progressive model. When one version is delivered, another version may still be tested, while the subsequent versions for synchronous development may still be in the design and development phase. In this cycle, if the customer finds an error, it is not only necessary to modify the customer's error in the current version, but also reflected in the subsequent versions. In addition, if a new problem is found during testing or development, you need to consider modifying the versions that were previously in use. During the development of a large system, there are many versions of the problem and the problem of modification, which is prone to confusion.
-- CoreCode, Or public components and code. In the process of system development, when modification to public components or code is involved, it is necessary to make everyone involved with this need to know. If there is no effective code management and reporting and coordination mechanism, there is a problem in how the modified Code can be notified by related personnel.
-- Most of the current software projects are completed by a group collaboration. In this case, the work or output of the last person may easily damage the work of other related personnel. For example, in a system development process, the data process is intensive. If the interface changes, it may cause many changes in related areas.
These problems are caused by lack of standardized management in the software development process. It takes us a lot of effort and time to deal with it. So how can we form an effective solution to these problems? We need to clarify the following issues:
-- In the company, what is the current configuration management and what has been done?
-- What is the current state of the company's configuration management?
-- How to control configuration change items?
-- How do I notify related individuals and groups of configuration changes?
-- What types of changes do the company's software projects have?
-- Will changes made by others in the company or the same project team affect the software you write?