Chapter 3 my country Small Software Enterprise How to Realize CMM Repeat
3.1 Five factors affecting the successful implementation of CMM
The application of CMM in small software companies in my country has been affected by five aspects: the five aspects: the needs of the market, the understanding of decision makers, the level of employees, and the specific techniques of CMM.
In these five aspects, the funding problem is the primary and is decisive. Other aspects can be considered after having sufficient funds. The market demand is the driving force of CMM, only the market has demand, the company will power. The understanding of the decision makers and the level of employees are the internal factors of the enterprise to implement CMM, and the specific techniques of implementing CMM are external factors.
3.1.1 Fund issues
The funding problem is the main problem of restricting the development of small software companies in my country. Analysis of the status quo of small software companies in my country can be seen that most small software companies have an annual income of about 150, and the funds of enterprises are not particularly sufficient, but they are also rich. How to use limited funds to implement CMM is the problem that small software companies should consider.
The implementation of the implementation of CMM to enterprises is mainly three aspects: increasing employees, increasing workload, technical support. Implementing the CMM repeating level requires the corresponding working group, increasing the staff will bring the investment of funds, how to configure the workgroup, making the least funds, which is the problem that the company should consider. Implementing CMM requires additional documents and workflows, which may be done before companies, which increases the workload of the company, thereby increasing investment in funds. Technical aspects, due to the improvement of process capabilities in the process of implementing CMM, it requires external technical guidance, which will also bring business overhead.
Small software companies should actively see the funds. The funding problem is inevitable. It is impossible to reduce the increase in funds to zero. We should study, it is necessary to find a balance point in successful implementation of CMM and fund investment. CMM repeat level requirements.
From the three aspects of the increase in funds, there are several principles. When configuring the workgroup, try to use the company's employees, which can reduce the cost of new employees's salary and training costs. In addition, when adding new employees, they should try to hire more familiar CMM. Increasing workload is almost inevitable, CMM is using increased workload to regulate work processes and improve engineering capabilities. Crops for CMM are methods for reducing workload. Cropping is quite important to small businesses, it is the most effective way to reduce capital investment. The method of cropping will be explained in the specific method of implementing CMM below. Technical support, you can get through consulting companies. If there is a free channel, you can provide the next expenditure for the company.
3.1.2 Market needs
The ultimate goal of all companies is to make profits, and profitability is achieved through the needs of the market. The fundamental power of software companies implement CMM is the market demand. Only CMM can bring profits to enterprises, and companies will have a power to implement CMM.
From the example described above, India's Atos Origin India (AOI) started from implementing CMM, in financial and all aspects have achieved good results. CMM can bring huge benefits to software companies, which has been verified in developed countries in the software industry. In my country, the software industry is moving towards maturity and needs to learn from foreign success, and CMM is a good choice.
Product quality is the main factor in market competition, and the CMM system is unique in quality. CMM emphasizes the software process, and believes that only a good process will only have a good result; at the same time, the mature software process will inevitably bring good products. Because the process improves the content of the quality assurance itself, CMM is also quite effective in quality assurance.
CMM is an evolving system that is very suitable for software companies in my country. At the same time, this system is also a template for guiding software enterprises. My governments also provide corresponding policies to encourage my country's software companies to implement CMM. From an external environment, society has created a good atmosphere for software companies. 3.1.3 Understanding of decision makers
Enterprise implementation CMM is a major event of the entire enterprise, and policymakers must fully recognize the importance of implementation, and have the necessary requirements for implementation. The decision makers must provide sufficient budget, satisfaction, and funding requirements for implementing CMM. It is also possible to train employees to make companies' employees have a deep understanding of CMM. The process improvement itself is an improvement in management. The focus is the improvement of management, and the company's leadership is the most critical part of CMM.
The leadership must truly learn the importance of understanding software process management and improvement, personally leaders and participate. In response to the implementation of CMM, the backbone personnel who have managed, organizational capabilities, and software development capabilities are required, and the personnel to ensure process management have indeed made this work as a major event of enterprises and developments.
3.1.4 Horizontal of employees
The level of employees determines the actual implementation effect of CMM. Employees who do not know deeply to software engineering often counter the work outside the code. They don't understand the importance of software engineering, just think of software development is a very casual thing. In fact, this is also an immature software organization. Important features. Increase training for employees, enabling them to understand the work of the company's improvement process so they can actively cooperate, improve their enthusiasm.
In addition, employees should also have a good understanding of the CMM system, so that employees have a certain understanding of the work they have to do. In actual work, the employee will be guided to further improve the level of employee.
3.1.5 Specific technology to implement CMM
If the first four conditions can be achieved, in particular the first two hard conditions can be achieved, the technical problem of implementing CMM is a more easy problem. At the same time, the specific method of implementation will also have an impact on the issues such as funds. If reasonable technology is used, it will save considerable funds.
There are many consultations on CMM in China, which provides a convenient service. If the funds are allowed, you can contact your consulting company. But there are two disadvantages: funds and quality.
Choosing an advisory company is an additional capital investment. This is to combine the actual situation of the company; many unregulated consulting companies will blow up three months over-repertrous level, this kind of practical approach, and ultimately damaged or software companies themselves.
Here are questions about the implementation before implementation:
Develop plan according to enterprise conditions
Small software companies, personnel and funds are very limited, so it is necessary to formulate plans according to the actual situation of their own business.
During the implementation of the CMM repeat level, which practices are not suitable, unsuitable practices do not have an impact on the final assessment. In the order of completion of key practices, it should also be combined with the actual situation of their own enterprises.
Ideal model
Ideal is an abbreviation for initiating, diagnosing, establishing, acting, and learning, providing a way to improve process in accordance with the CMM model. It emphasizes the steps necessary to perform successful process improvements. Figure 4. Please refer to the document [1] and literature [3].
Figure 4: Idael model diagram
Configuration Working Group
During the implementation of the CMM, the establishment of the working group is a key step in CMM. There are several important organizations that are essential, including software engineering process groups, software engineering groups, system engineering groups, system testing groups, demand management groups, software project plan groups, software project tracking and supervision, software configuration management Group, software quality assurance group, training group. In the implementation of the CMM, the organization's setting must be improved, but it is not equal to that every institution must be independent. Some organizations have been appropriately merged, and members can count their jobs. However, the organization must be very careful when the key practice is required. For example, the independence of the software quality assurance group must be considered, otherwise the deviation in the technical or mechanism will affect the correctness of software processes, project quality, and risk decisions. Here is some point here, that is, physical groups and logical groups. There are two organizations in CMM, a physical organization, which is objective, such as project group, technical department, etc., there are many full-time staff; another named logic organization, that is, its personnel can be part-time, Many logical groups can only be one or two people. 3.2 Implementing CMM Repeat in accordance with CMM requirements
CMM repeat levels include six key roles, which are: demand management, software project plans, software project tracking and supervision, configuration management, software quality assurance, and software subsidiary management. For details on these six KPAs and their key practices, please refer to [1]. This section will combine the practice of the CMM duplicate level in connection with the Lenovo Group Software Business Department. The implementation method of five KPAs of CMM repeat level is specific (because the software substructure management is not applicable to most small software companies, this article is no longer discuss).
3.2.1 Requirements Management (Requirements Management)
The purpose of demand management is to establish a consensus between customers and software items that handle customer needs. During the project implementation, the most prominent phenomenon is that the project team members do not fully understand demand, software demand is unstable, customers often change demand, unable to control demand changes, demand changes often result in project extension and cost overrun. The basic flow of the requirements management of the CMM repeating level can be shown in Figure 5. This process describes that the software engineering group has begun to obtain primitive requirements, summarizes system requirements, allocation system requirements, review software requirements. Software demand must document, form a demand document, this document must be reviewed by the relevant group and individual review, then incorporating the configuration management, establish a baseline for the demand document.
Figure 5: Demand management workflow
According to the flow shown in Figure 5, the specific work is arranged in accordance with the specific circumstances of the company and the project, and the following steps are generally required:
1. Through interviews, the original demand is obtained from the client to form a demand document.
2. Analyze software requirements form documentation, jointly confirm the demand, to display documents to customers, and get customer recognition. 3. Establishing a baseline requirement must pass the relevant group review, including: system analysis group, design group, coding group, test group, quality assurance group, configuration management group, document management center, and individual. 4. After review, the demand document is incorporated into the configuration management, and the baseline is created for the demand. 5. If the customer is confirmed, if you need to change, the project team member will indicate the impact of changes, and it is possible to increase the cost and time, try to control the needs of customers. The process of demand change is performed by the change process of configuration management. 6. Once the demand changes, the project plan, activity, steps are changed, and the relevant groups and individual review are resubmitted. 7. The documentation applied in the actual project demand management is: project requirements management process definition, project requirements review process definition, project requirements and status tracking process definition, demand acquisition table, demand status report, demand review report, demand change report, demand tracking report. Lenovo Group mainly includes 3 processes when implementing demand management:
1. Assignment requirements confirmation. Its purpose is to confirm it before the distribution needs are incorporated into the software project. This process should be performed before the software engineering group is officially conducted. Panels participating in this process include: software engineering group, test group, quality assurance group and configuration management group. The entry condition of this process is that the distribution demand manual has been obtained. The process of this process is shown in Figure 6:
Assignment requirements review
Responsible person approved allocation requirements
Group coordination with groups that are allocated by system requirements
Allocation requirements enter the baseline
Fail
Figure 6: Lenovo Group's allocation requirements confirmation process
2, allocate demand control. Its purpose is to ensure that allocation requirements are consistent during software development. The premise of this process is this stage working product drafted, modified, and passed through the SQA review. The main activity of this process is to review the work products in this stage, and the review activities must be involved in engineers who will be judged as an engineer who works.
3, allocate the changes. Since the allocation requirement is configured to be included in the baseline after the determination is configured, the process of change the dispensing requirement should be changed. Lenovo put this part of the part of the configuration management.
3.2.2 Software Project Planning
The purpose of the software project program is to establish a reasonable plan, implement software engineering and management software projects. Software Project Planning Management is in a very important position during software development, it reflects the understanding of customer needs, is the basis for carrying out project activities, and is the basis for software project tracking and monitoring. The CMM Repeater Software Project Plan provides project estimation based on the components of the configuration management, and forms a project plan document. The project plan document is incorporated into configuration management after review, followed by project developers, and tracks the execution of the plan accordingly. Project plan documents In review, if the project plan is insufficient or other issues, there is a need for project plan documents to obtain support for project groups and senior managers.
In the process of project implementation, the more common situation is that the formulated software project plan is simple, and it cannot be specifically to each iteration or weekly, which varies too much; or develops a detailed software project plan, but actually execution Not implemented in accordance with the plan. The actual application model of the software project program is as follows: 1. Develop project plan documentation, scheduled schedules. 2. The project manager is estimated based on the project software requirements, determines the life cycle, project size, the required person, the required person, the required person, the required person, the required person, the required person, the required personnel, time, progress, resources, risk and other content. Form an estimated result to estimate process documentation and formulate a software development plan. 3. Software Development Plan content includes: software project plan, iterative plan, schedule, configuration management plan, quality assurance plan, demand management plan, project evaluation plan, risk management plan, product acceptance plan, problem solving plan, test plan. 4. Estimate process documentation and software project plan documentation must pass the relevant group review to obtain relevant groups and individual support, including: system analysis group, design group, coding group, test group, quality assurance group, configuration management group, document Management center and individual. 5. After the high-level manager review, the project manager specifies the personnel or participates in the other parts of the developed software development plan, and reviews the relevant groups and individuals. 6. Configure managers incorporate software development plan documents into configuration management. 7. Documents applied in the actual project are: formulate project planning process definitions, project estimates process definitions, project evaluation forms, resource evaluation forms, software development plan templates, schedules, and designing software development programs.
The Lenovo Software Division regarding the software project plan has the following procedures:
1. Develop a software project plan and project tracking and supervision plan. It includes the following sub-activity: task division, estimation, listing work product list, resource description, proposing quality plan, project management system, proposing a review plan, proposing training programs, raising a risk management plan, institutional project tracking and supervision plan. Finally, the project manager or the designated personnel make a complete project plan.
2. Peer review. Peer review is the key role of CMM3. When many companies have implemented peer reviews when implementing CMM repeated levels. Implementing CMM to flexibly formulate plans based on actual conditions. Lenovo uses peer reviews to discover and correct the defects of "Project Plan" and "Project Tracking and Supervision Plan". The evaluation team consists of project manager, project team core member and 2-3 other project project managers. The form of formal conference may be a formal meeting or in the formual exchange, and the defect is recorded and corrected in a timely manner. Finally, a peer review report is generated.
3. Specify other related plans. Including the Software Configuration Management Plan, Software Quality Assurance Plan, "Subsidiary Plan" and "Test Plan", all plans to submit project managers, and get all the members of the project team and the identity of the relevant groups.
4. Review. The review team consisting of the deputy general manager, project manager, the relevant group leader, and the user is reviewed.