Establishment of enterprise software metrics
Author: Sha Jin: Shenzhen BroadenGate Network System Co., Ltd.
Keywords: measurement metric cmm
Summary: Software is not a new topic, the main purpose is to organize software processes and products in depth, which enables organizations to make decisions and develop towards organizational goals. For software companies, metrics are usually equivalent to collecting and reporting data and mainly in the form of numbers. The purpose of this paper is not to provide an interpretation in software metrics and origin, and focus on the establishment of the enterprise software metric process.
From the viewpoint of software companies, software measurements are measured by various elements in the software life cycle, which can provide project managers to provide various important projects. Information is also the basis for most evaluation activities.
Usually the metrics are implemented by some software engineering groups in the organization, and this decision-making means for quantifying the software process can actually bring benefits to people or departments involving software:
Project managers have benefited from decision-making when planning and controlling software projects; project members can focus on work improvement; software configuration management groups can focus on product integrity; software quality assurance groups can focus on process assurance; of course Users about the ultimate use of software products; other than other functions involving and concerning software processes and products can make relevant decisions.
Since software metrics can bring benefits to all aspects of the business organization, how should we design and implement this metrics in business organizations? This article will be expanded herein.
First, let's first understand the main architecture of the design software metric:
Develop a metric process and make it a part of the standard software process in the corporate organization; the process plan for project and related procedures is customized by customization and integration of various process assets; the implementation of the planned plan and related procedures is implemented; The process is improved when the project is further mature and the metrics require changes to improve the process.
According to the above points, the SEI of the Carnegie Mellon University proposes the following software metric process:
Figure 1: Software metric process architecture
Let's analyze the above architecture:
Process plan
The plan to develop a metrics includes two aspects of activities, one is a confirmation range, one is defined program steps:
Confirmation range: This activity is based on the size of the metric demand to define a metric that is suitable for the needs of the company itself. Because the entire measurement process is a limited resource such as human material, it is necessary to reflect the demand for actual results, and the need for the reliability of the metric and the ability of the company. Defining program steps: After confirming the scope, you need to define the steps of the operation and measurement process, which should be a literary case while constructing. The main tasks include define intact, consistent, operable metrics; define data acquisition methods and how to perform data records and save; define related technologies that can be analyzed on metric data, to enable users to obtain the results behind them according to metric data.
Process implementation
The implementation of the process also includes two activities, one is the acquisition of data, one is the analysis of data:
Data acquisition: This activity is collected, recorded, and stored according to the defined metrics. In addition, the data should also be verified to confirm the effectiveness. It should have certain targetedness when performing this activity, which is different for different items or activities, and it is also very important to track the active status. Analysis of data: This activity includes analyzing data and preparation reports, and submits reports, of course, is necessary to ensure sufficient indement of the report. These program steps may need to be updated because the report may not provide useful help or users do not understand the content in the report, in these two cases, the metric should be given and updated to perform data analysis. Process improvement
The improvement of the process contains only one aspect of activity, that is, the optimization process:
Optimization process: This process activity is used to dynamically improve the process and ensure a structured manner and process multiple problems involving process improvements. In addition, the activity evaluates the measurement process itself, and the user reports feeds back to the validity of the data. These feedbacks may come from other activities, but generally dissolve into the life cycle of a new round of metrics, new confirmation and definitions for the metric process.
Now, we have basically understood the architecture of design a software metric process, then how should we implement it? This is also what we are going to be discussed below.
If the corporate organization determines that it is necessary to start or improve the software measurement process, it is necessary to form a metrics, and the company should provide determination and necessary resources to the group to make it work. After completing the appropriate preparation, we can start experiencing a process of implementation.
Confirm the goal: Enterprise organizations must have clear, realistic goals, and finally the ultimate is currently improved. If the group cannot determine the improvement goal, all activities are volatile and the organization is not good. Understanding and evaluation of current capabilities: Correctly recognizing that the software capabilities currently in the enterprise organization are very important, in different stages, the organization can obtain and analyze the data is limited, and the analysis technology is It takes a process. The metrics should be able to design a balance point for the current software capability design metrics. Design metric process: This part of the work is part of our discussion in detail above. Process prototype: Metrics should use real projects to test and adjust the metrics, and then apply this process to the entire organization, and the Group should ensure that all projects understand and perform the metrics and help them implement them. Specific details. Process Document: At this point, the group should return to the first step to review the measurement process to meet the goal needs of the company, and the documentation management should be performed after further confirmation, so that it is part of the process of corporate organization software standardization, while defining work Templates, roles, and responsibility. Process Implementation: In the case of completion of the first few steps, a metric work group can be developed to implement the metric process, which will be implemented in accordance with the already defined metrics. Program Extension: This step is the last link in the lifecycle of the implementation, continuously supervising according to feedback, and improvements are the necessary factors starting in this lifecycle.
At this point, we have clearly appreciated the complete establishment of the software enterprise metrics, like CMM, which is just a norms and framework, and the specific implementation will be different depending on the different enterprise organizations. Although there is no special software metric in SW-CMM, it runs through other critical process domains, but a special key process domain is defined in the SW-CMM's successor - CMMI: Measurement and analysis.
references:
1. Establishing a Software Measurement Process, CMU / SEI, DONALD R. McANDREWS, JULY 19932. Goal-Driven Software Measurement - A Guidebook, CMU / SEI, Robert E. Park, August 1996
3. Software Measurement Guidebook, SEL, NASA, JUNE 1995
4. Object-Oriented Software MeasureS, CMU / SEI, CLARK Archer, April 1995
5. Software Quality Measurement: A Framework for Counting Problems and Defects, CMU / SEI, William A. Florac, 1992