Examine complexity and quality metrics

Completed

While there are many quality metrics, here are some of the most important ones.

Complexity metrics can help measure quality. Cyclomatic complexity measures the number of different paths through a program's source code. Another way to understand quality is through calculating Halstead complexity measures.

This measure looks at:

  • Program vocabulary
  • Program length
  • Calculated program length
  • Volume
  • Difficulty
  • Effort

Code analysis tools can check for security, performance, compatibility, language usage, and globalization. These tools should be part of every developer's toolbox and software build process.

Regularly running a static code analysis tool and reading its output is a great way to improve as a developer because the issues found by the software rules can often teach you something new.

One of the promises of DevOps is to deliver software both faster and with higher quality. In the past, these two goals seemed opposite. The faster you went, the lower the quality. The higher the quality, the longer it took. But DevOps processes can help you find problems earlier, which usually means they take less time to fix.

We've talked about some general project metrics and KPIs before. The following is a list of metrics that directly relate to the quality of the code being produced and the build and deployment processes:

  • Failed builds percentage - Overall, what percentage of builds are failing?
  • Failed deployments percentage - Overall, what percentage of deployments are failing?
  • Ticket volume - What is the overall volume of customer or bug tickets?
  • Bug bounce percentage - What percentage of customer or bug tickets are reopened?
  • Unplanned work percentage - What percentage of the overall work is unplanned?