In order to develop a high-quality product, multiple metrics in all phases of a software project for reviewing and control. There are three types of metrics – product metrics, process metrics, and project metrics, different according to what is quantified in order to reduce the degree of compliance of pre-defined objectives and, yes, to take countermeasures according to results. Meeting.
In this blog post, it is indicated by answering 4 “W” questions explains how software metrics are practically introduced into the project can be used.
1. When will the metrics be used?
Software metrics serve as an important tool for control and make them more transparent to the following activities.
- Project process: Planning and management
software metrics are available to project managers to follow the progress of the project and have a clear understanding of the what has already been done and as in the previous stages of a project. Appropriate software metrics form a basis for taking timely action on to update the planning and respond properly to changing requirements. to react.
- Task prioritization
Software metrics provide a good way to define in which order the tasks are to be performed in order to maximum benefit. Low user satisfaction can point out, for example, that the highest priority is to identify, analyze and correct probable causes, instead of adding new features.
Each software project is subject to numerous changes (for example, in terms of how to do this, selected tools, or development anasatz). In order to monitor the implementation of changes and to Metrics can also be used to assess the impact of change. They help understand exactly what benefits can be expected and how it can be used with the investments are correlated.
- Service-level agreement (SLA): Control, monitoring and adaptation
SLA is considered to be one of the most important documents between a client and a IT outsourcing provider. The The use of metrics enables a client to outsourcing process in a more transparent manner, agreed results with delivered, assess the productivity of the team and assess SLAs. if necessary. A provider, in turn, may make improvements clear.
2. What can be measured?
For each software project, an individual combination of metrics that address specific questions from stakeholders or monitor progress in achieving objectives in a qualitative way.
- Code quality: Complexity and size
The development teams, project managers and Project managers would like to know how good or bad the quality of the provided codes. For this reason, team leaders are interested in Architects and developers for KPIs that have a unified picture of the technical part of the project.
Possible metrics: Lines of Code (LOC), Halstead metric, McCabe cyclomatic complexity, maintainability index, coupling between classes, depth and width of the inheritance tree, number of services, number of classes, number of unnecessary dependencies, code duplication, and more.
- Quality of the delivered solution
According to ISO / IEC 25010, the quality of modern software can be with eight characteristics: functional requirements, reliability, maintainability, compatibility, efficiency, portability, security, usability and performance. Each of the attributes can be set in a number of other properties and requires the use of relevant metrics to ensure quality characteristics to measure.
Possible metrics: test coverage, averageoperating time betweenfailures, averagetimeto recovery, the total number of failures, charging time, error density, the relationship between actual and target functionality, duration oftraining, Number and severity of security incidents, number of clicks when performing certain activities and much more.
- Process quality
Project managers are primarily involved in the pursuit of costs, schedules of human resources. You also need to understand how productive the team is, how efficiently the defined development processes as well as how large the error stream is.
Possible metrics: actual cost vs. planned cost, actual date vs. forecast date, cost development index, lead time / cycle time (in agile projects), speed of a team or a developer, number of errors after each phase us much more.
- Project quality: User Satisfaction and ROI
Increased user satisfaction and acceptance. is the main goal of any software project. Only satisfied users will continue to use the created software product, which will result in pay off investments.
Possible Metrics: Customer Effort Score (CES), Customer Satisfaction Score (CSAT), ROI Metric.
3. Wie kann man Metriken richtig auswählen?
To create a list of appropriate metrics, a project manager or a QA engineer (if necessary in cooperation with with a project owner and other project stakeholders) to define which factors for the success of software and of the entire project of the greatest importance. After analyzing each defined property, you should specify that by which measurements they can be evaluated and only defined if which metrics are best suited for this. For the derivation of objectives and the definition of metrics often comes the procedure Goal Question Metric (GQM).
Supposethat a company has defined the quality goal, the availability of its e-commerce solution, because their unavailability of even 10 high sales losses of up to 20,000 euros. Since the factor availability in a closely related context with such factors as Robustness and recoverability these 3 factors together determine how reliable a system is. What is the availability? Of the total number of and the duration of failures, average time to recovery Etc. This determines the required metrics. As a result, the companies attach great importance to such quality characteristics how reliability should be laid, to achieve success.
Once appropriate metrics have been selected, the an organization will do the following steps for implementing metrics:
- One Those responsible determine and decide, with to whom the measurement results are shared and how often they should be reported.
- Select metric formula. You can use use a standing formula for the calculation or custom Create formulas that are particularly relevant to complex properties. Some metrics do not require complex calculations using formula such as e.g. the number of features delivered via a sprint.
- Required for the measurement identify data and decide where exactly the identified data should be used. The required data is often used as measurement data or measured values and may be collected in various ways. (data jellyfish, for example, are used to store reports, logs, source code, various tools for project management, CI and CD tools, BI tools as well as survey forms, checklists, questionnaires and much more more).
- Create a damage limitation plan if the measurement results are unsatisfactory.
- Adjust metrics regularlyif you don’t get scheduled results.
- Analyze and interpret collected data. It is important to always consider the context when interpreting metrics. To illustrate results, different techniques for visualisation are used. Interpretations help to draw conclusions as to whether defined measurement targets have been achieved or whether adjustments have been made necessary.
Although the use of software metrics promises to help evaluate the quality of a product and a project, simply collecting data is of little use. To use software metrics wisely, decision makers must define measurement goals, create a measurement plan, and select appropriate metrics to implement that plan. In doing so, we must also be prepared to ensure that adaptations to the situation are not excluded in order to achieve set objectives. If measurements are introduced into the project from the outset and carried out in a goal-oriented manner, the necessary improvement measures can be taken in good time, with a positive impact on customer satisfaction and an increase in sales. This was a guest article. Take a look at the homepage of ScienceSoft.