Metrics

Measurement is commonplace in the world of engineering.

Software engineering is far from developing a widely accepted standard measurement with results free from subjective factors. There are disagreements about what to measure and how to evaluate the results obtained from the measurements.

Software metrics make it possible to perform one of the most fundamental activities in the project management process: planning.

From this, one can identify the amount of effort, cost, and activities that will be necessary to carry out the project.

From a measurement perspective, software metrics can be divided into two categories: direct and indirect measurements.

We can consider the cost and effort applied to the development and maintenance of the software and the product, the number of lines of code produced, and the total number of defects recorded during a given period of time as direct measures of the software engineering process. However, the quality and functionality of the software, or its maintainability, are more difficult to assess and can only be measured indirectly.

We can also divide software metrics, from an application standpoint, into two categories: productivity metrics and quality metrics.

Productivity metrics focus on the output of the software engineering process.

Quality metrics indicate how well the software meets the requirements defined by the user.

  • Direct Measures
  • Cost
  • Effort
  • Lines of Code
  • Execution Speed
  • Memory
  • Number of Errors
  • Cyclomatic complexity
  • Indirect Measures
  • Functionality
  • Quality
  • Complexity
  • Efficiency
  • Reliability
  • Maintainability

To better understand software metrics, we need to understand some information :

Measurement

A quantitative indication of the extent, quantity, dimension, capacity, or size of the product or process.

Measurement

The act of determining a measure.

Indicator

It is a metric, or a combination of metrics, that provides understanding of the software process, a project, or the product.

Software measurements can be organized into other classes, which will be defined below:

Productivity metrics, based on the output of the software development process, with the goal of evaluating the process itself;

Quality metrics, which allow us to indicate the level of responsiveness of the software to the explicit and implicit requirements of the client, in relation to what is defined by quality management;

Technical metrics, which include aspects such as functionality, modularity, maintainability, etc.

From another perspective, it is possible to define a new classification of measurements:

Size-oriented metrics, based on direct measurements from Software Engineering;

Function-oriented metrics, which offer indirect measures; People-oriented metrics, which give indications about how people develop computer .

Size-Oriented Metrics

The most familiar software metric is the line count of code.

This metric may seem simple, but there is disagreement about what constitutes a line of code.

The code line count should not include comment lines and blank lines, as this does not affect its functionality. It is strongly tied to the programming language used, making it impossible to use data for projects that do not use the same language.

A set of quality and productivity metrics can be developed using this technique. Function-Oriented Metrics Instead of counting lines of code, function-oriented metrics focus on the functionality of the software.

In 1979, Allan Albrecht introduced an evaluation technique known as Function Point Analysis. Based on the user's business

  • It is independent of the language used and of any technology in general;
  • It doesn't allow you to calculate the development effort, but it generates a variable that can allow its calculation;

It helps the end user improve the examination and evaluation of projects.

Their objectives are:

  • To measure what was requested and received by the user;
  • To provide a measurement metric to support the analysis of productivity and quality;
  • To provide a way to estimate the size of the software;
  • To provide a normalization factor for software comparison.
  • Reasons for measuring software: To indicate the quality of the product;
  • Evaluate the productivity of those who develop the product;
  • To determine the benefits derived from new software engineering methods and tools;
  • To establish a basis for the estimates;
  • Seeking opportunities through refactoring;
  • To help justify the acquisition of new tools or additional training;

Measurement is commonplace in the world of engineering. But for software engineering, a widely accepted standard measurement with results free from subjective factors is far from being a reality.

Undoubtedly, the most significant increase in productivity will be achieved when we manage to establish a meaningful system of metrics for software development results and effectively use it.

Engagement metrics

Methods for measuring how users are interacting with web . Examples of engagement metrics include:

  • Click-through rate
  • Conversion rate
  • Rejection rate
  • Time on page / website
  • New vs. returning visitors
  • Frequency and recency
  • Length of stay

Post comment

Semantic Blog
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognizing you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.