CMM2 implementation technical issues analysis in Xiaol (this paper reproduced from Software Engineering Expert Network www.21cmm.com) For most domestic software companies, CMM implementation is still in its infancy, and companies that are ready to implement CMM2 levels account for the vast majority. Therefore, analyzing problems in the implementation of the CMM2 level will help these companies find the implementation of the company as soon as possible. Some companies that are implementing CMM2 level have found a lot of repetitive work. What is the reason? Did not do demand development is the main reason for this problem! 1 Demand Management and Demand Demand Development and Demand Management is two parts of the demand engineering. If there is no need to develop, it will appear from repeatability from the perspective of demand management. The main reasons why the demand development is poor has the following: ◆ Lack of good demand specifications Description Writing template Analysis Some Enterprises CMM implementation process, from the surface, they indeed follow the basic selection principles of the first recommendation plan again, However, due to lack of experience, the actual selected program often lacks objectivity, while lacking the methods and processes of practical feedback in the engineering engineering and management mechanisms to constantly improve the original solution. In general, everyone will work together, it will form a "tacit understand", which is likely to bury a lot of hidden dangers to future projects and management work. Once the opinion is different, this tacit understanding is no longer exist. If you press CMM, a large number of repetitive work will appear. One of the improved methods is to maintain the consistency of the document and product throughout the project and management, and the extent to which the demand specification changes are reversed, and the demand specifications are written. ◆ Currently ignoring non-functional demand, domestic software customers rarely initiate non-functional demand, but with the gradual maturity of customers, software customers' non-functional demand for software will become higher and higher. A higher requirement is put forward on software developers. Can't do a well-defense demand, write work, also caught in a large number of repetitive work. If a specification of non-functionality needs will make some basic issues until the medium term of software life is discovered, which will result in a large number of documents and products to be changed, resulting in serious engineering and management problems. One of the improved methods is to call the preparation of the senior personnel involved in the pretty software debugging and maintenance background, and their rich experience is often better able to make up for the shortcomings of design developers in this regard. ◆ Lack of configuration management of demand documents with two demand specifications, write templates are a good practice: a copy to software customers, one for the software development group, the former's goal is to make customers easier understanding, The latter is more specialized. In this case, both requirement specifications should be incorporated into the scope of configuration management to maintain its consistency from the perspective of management. This is not enough. From the perspective of engineering perspectives, companies should also form a set of conversion rules from the former to the latter. Although these two templates may be a natural language, an as rigorous rule will greatly reduce the space-free space during the conversion. It should be noted that the establishment of this rule should start from a project, starting from the foundation, gradually improving. For example, first determine the basic nouns and verb collection of the project, and specify the statement writing rules. ◆ Demand Specification Description Lack of measurability In several features that should be required, do you pick up a measurable? In the demand statement, the subjectivity has a large impact on other features, and an independent and experienced test group is from the test document from the requirements specification. From the perspective of testing, many demand illustrates are unspeakable, which requires rewriting these demand instructions until the deterministic is guaranteed.
The test group is often a simple and accurate description, which is precisely one of the developers do not have a good aspect; on the other hand, both domestic market or enterprises, not paying enough attention, software Business rarely recruit testers. In fact, excellent software testers are very important to ensure software quality, in general, the manager of the test department should be served by software development experience, software development management, and has considerable test experience. The relationship between treatment of design and testers is a problem that many domestic software companies should pay further. ◆ Lack of better demand specifications Description Transformation specification requirements Specifications Transformation The purpose of converting the demand for natural language writing into a more accurate intermediate form, which is also known as "software modeling". In general, modeling can make certain aspects of demand, and keep the design more clearly to maintain demand. Typically, do not do demand specifications, transformation or lack of better demand specifications, conversion specifications, will cause loss of different degrees of demand, thereby increasing the difficulty of subsequent management work. The fundamental purpose of demand management is to establish baselines and maintain consistency of relevant and derivative documents and product and demand for future projects, so demand engineering has a great impact on the workload of demand management implementation. 2 Configuration Management and Work Products Transformation Software Configuration Management The purpose is to ensure that the product generated in the software lifecycle is integrity, it requires a better tool, when you can't find a better business software tool overwrite this key domain In practice, many foreign software companies will develop some tools to make up for insufficient, and have achieved good results. Domestic software companies use some tools when implementing this critical domain, but existing problems are: there are too many SCCBs (Software Configuration Control Board) activities. Configuration Management is to establish and identify software work products in the software life cycle and control the baseline changes, which will guarantee the integrity and consistency of software work products. However, software work products as configuration items / unit identifies are typically a work product in a typical software lifecycle, which has a common feature: a product is usually converted from another product. From some business configuration management, the main problem is the lack of better conversion. Here, "better convertibility" refers to the conversion rules that have been specified when converting a product into another product, and its purpose is to maximize a working product to be faithfully converted to another. Work product form, thus minimizing the possibility of omissions and error interpretation in the transformation process. When implementing this critical process domain, the company should record the changes of work products and the causes of these changes, which can help companies find problems. In general, there is a main reason for the cause of similar problems: the demand specifications are not well prepared; the work product template is not well defined; the transformation between work products lacks normative definitions. 3 Project Planning and Data Collection and Analysis Project Plan is that CMM implements the key process area involved in implementation and ultimately relatively perfect, which mainly includes software scale estimates, working module plans, human resource programs, schedules, and other resource programs. Before the relatively stable practice of other key process areas, the practice of the project plan is always in the state of the need to change. In general, it is expected that there is a reliable project plan at the beginning of CMM implementation, as this requires the implementation of several projects to obtain valid data and develop future projects. We know that configuration management can ensure the integrity of the product generated in the software lifecycle, so in order to better implement the project plan, we can put most of the data used for the project plan in the corresponding work product configuration management. Next, it is necessary to further refine the work product to ensure the accuracy of the corresponding project plan data.
After the project is completed, we should also collect and analyze the data of the project plan. On this basis, the accuracy can be greatly improved when the next project plan is set. Through the same practice to several projects, the project manager has a relatively reliable data to develop future project plans. Typically, project tracking and supervision implementation is a large extent due to the frequent performance of the project plan, and lacks a good project tracking tool to make project managers' interest in tracking projects. 4 Quality Assurance and Practice Feedback Practice Feedback is a driving force for quality assurance system to operate effectively. Enterprises should establish a feedback channel from SQA to project managers and higher managers. Practical feedback is the process of communicating with high-level managers, and the SQA group reports to the high-level manager to communicate with the project group, so that the project group can improve the work as soon as possible; When discovering the coordination between groups, the high-level manager should be reported in time, and the coordination of the high-level manager will be corrected in time. Some project managers think that they have a plan in their hearts. As long as they can be prepared on time, they can complete the project on time, but this is not the case, and the role of high-level managers is very obvious on the coordination problem between the project group. If only the demand of CMM is designed, the high-level manager is unsuitable, because in this way, practical feedback is incomplete. The SQA group is like a judiciary in CMM practices, but it is not enough, it should also provide resources for improved process management. The SQA group does not necessarily consist entirely of full-time staff, and some people who are good at software development methods and software process management are also subject to the main SQA activities. 5 Peer reviews Theoretically, the implementation of the key domain of peers is not difficult, but most companies have not good enough, mainly in the following: ◆ Too many or too little between the time of review The problem is different in different companies. The survey shows that there is more controversy that the input / output of work products is unclear, and there is a public platform between the groups. Therefore, there is only more discussion and even debate to clarify the needs of other groups. Regrettably, everyone did not sit down and carefully discussed how to improve the form of the original work product or the form of expression, and thus cannot fundamentally solve the problem. Another more extreme case is to review a group of work products, other groups rarely comments, although some issues are very obvious. Through the development of development, this is actually a problem with corporate culture. A common idea is "When we do actually do it, it will be clear", but the actual situation is often violated, which makes the company's work efficiency discount, but it is not easy to be realized by management. No matter which case, the final reason is: "The project and even the awareness of continuous improvement process management." ◆ Lack of psychological training to do a good job in peer review is to overcome psychological barriers. Simply put, peer reviews are wrong or picking others by others. Therefore, the review will be like a defense, you must be fully prepared. When the role is interchanged, when you become an error, you should see the reviewed work products as yourself completed earlier, now make a revision, and after the modification is completed, you have to take it to the review. reply. It will gradually adapt to this psychological role in this case. If everyone does this, the peer review will form a good atmosphere, which will promote the development of healthy corporate culture. ◆ Competition and cooperative awareness is not sufficient from another perspective, and peer reviews are the best performance places and forms of competition and cooperation. Anyone who has a speech in this occasion is gradually become a core character of the team. In this competitive environment, cooperation is the foundation, and the purpose of peer review is to eliminate the defects in work products as soon as they are in the premise of cooperation. Grasping the scale of competition and cooperation will be beneficial to the development of corporate culture, otherwise it may have a malignant cycle.