Due to the lack of necessary configuration management processes and tools, many software enterprises may encounter the following problems more or less in their daily development work: the loss of organizational knowledge and wealth in the process fierce competition in modern society, personnel Flow is frequent. If there are no necessary configuration management processes and tools, a large amount of documents, code, and other knowledge will inevitably lack unified management, it may be stored in the machine of the project manager and software engineer at will, and may disappear forever due to hard drive failure or employee resignation, the Digital Wealth of software organizations is lost in vain due to the lack of necessary configuration management.
It is impossible to understand the progress of the project in a timely manner. Modern software engineering thought that the earlier defects and risks are discovered, the less costly the measures should be taken. An important role of CMM is to improve the visibility of the software development process so that problems can be detected in a timely manner. However, due to the lack of configuration management processes and tools, the department director cannot accurately learn the progress of the project, and even the project manager does not know the specific work of each developer, the project progress is random. All problems are often concentrated at the project milestones, which will inevitably lead to huge overhead. The result is often to tolerate some defects or delay the development cycle. All problems can only be solved in the final implementation, so the implementation of the project becomes unable to report, unable to clarify, and never-ending maintenance.
Lack of means to achieve parallel development
In daily development work, parallel development is often required. For example, a project may need to continue to maintain the previous version while developing the new version, or a specific version needs to be customized for different customers at the same time. In parallel mode, different developers can edit and modify a file at the same time. parallel development may produce conflicts, but it can improve development efficiency. Without the support of configuration management tools, it will be very difficult to conduct parallel development. manual operations alone may lead to repeated bugs or several people performing the same work, unnecessary waste.
Low Software Reuse Rate
Software reuse is an important idea in modern software engineering and an important means to improve the production efficiency and quality of software products. Software products are a valuable asset of a company, and code reusability is quite high. How to build a knowledge base and make good use of the knowledge base will have a significant impact on the company's high-quality and efficient product development. However, if there is no good configuration management process, the efficiency of software reuse will be greatly reduced. For example, you have made necessary modifications or improvements to the reusable code, however, you can only manually transfer the changes to all projects that reuse the software. In addition, due to the lack of necessary means for communication, developers are responsible for their own affairs. The written code is not only in different styles, but also out of line with coding and design, which often leads to the development of a large number of repeated codes that are difficult to maintain.
Unable to conduct standardized testing
In the traditional development mode, due to the lack of necessary configuration management and change control, testing is only a subjective desire of people and it is impossible to put forward specific test requirements, in addition, developers often leave the test work behind, and the test results cannot be evaluated or quantified. Of course, they cannot provide guidance for future development work.
Release of Software Versions
Lack of effective management because of the lack of effective management means, it is often unable to determine all components of the version when the product is released, or provide users with incorrect versions. For problems of specific customers, the versions used cannot be reproduced. debugging can only be performed at the user's site. Due to the characteristics of the application software, different customers have different requirements. developers need to manually keep multiple copies, even if they have the same problem, but because they are proposed in different places, different people solve the problem, and their practices are also different. The maintainability of the program is getting worse and worse. These will prolong the implementation period and lead to a waste of manpower and material resources.
The lack of historical data accumulation, the lack of historical data for software development, and the lack of historical data for software development are the key to the failure of most software projects. This conclusion may surprise many people, but that's true. Because the historical data of software development is a scale that reflects the capabilities of software development teams, without this scale, we cannot have a clear understanding of the software development process. Good configuration management is an important source for collecting historical software development data.
A notable feature of failure to effectively manage and track change software is the ease of change. Without configuration management, software changes cannot be effectively recorded, tracked, and controlled.
For more information, visit the http://www.itmarks.cn/