Every company wants to build a quality product.
Any product developed and launched is exposed to a very exigent scrutiny. In a world with a fierce competition to catch customers attention, quality plays a key role that can make the product succeed or on the contrary either fall into oblivion, lose customer trust or badly damage your brand reputation.
Why measuring the software quality of a product?
However, measuring the software quality of a product is hard. The meaning of quality can change depending on the company, the business or even teams. It is a wide term that can be very subjective and seen from different perspectives:
How do we measure the Product Quality Benchmark?
So how do we measure the quality of a product? How can we ensure that our next product release will meet expectations in terms of quality?
The possibilities are endless. So one could start by defining what quality means at a company level and the metrics to track and measure it. It is advisable to agree on monitoring just a few rather than covering too many and potentially losing focus.
Benchmarking helps understanding. By benchmarking these metrics, whether with industry wide references or with internal goals, you will understand where you stand and apply the necessary corrective measures.
When it comes to Code Quality, Quality Clouds generates dozens of metrics to expand your quality KPIs.
Quality Clouds is inspecting code and structure to produce metrics related to bugs and complexity and it is also capturing information about configuration changes done in the platform. Issues detected in configuration changes are especially useful to monitor quality of low code/no-code developments in SaaS platforms such as ServiceNow or Salesforce.
This can definitely help, offering precise and reliable measurements for you to acquire new insights when tracking the quality of your SaaS platform.
For some of the relevant metrics, Quality Clouds is a calculating benchmark from other environments in the Quality Clouds ecosystem.
Below you will find a few examples of quality metrics generated by Quality Clouds from your SaaS platforms.
The metrics are categorized in two main groups or types:
Quality Clouds raises issues searching for adherence or its lack to the Quality Clouds ruleset for both code and configuration changes.It categorizes the issues by severity and impact area – Security, Scalability, Manageability and Performance.
All the issues related metrics from both code and configuration fall in this category : number of issues, technical debt, code quality ratios, etc
3 Metrics and insight in quality process
Quality Clouds provides a comprehensive group of metrics of your platform’s structure, such as number of lines of code, number of code elements, number of integrations, etc
These metrics will help understand and provide insight on the complexity of the product.
Metrics at platform level
Code quality and configuration – Adherence to best practices
Quality of Cloud and breakdown by Impact Area
The Quality of Cloud shows indication of the overall health of your instance. Healthy instances range between 80% and 100%. Those between 70% and 80% need close monitoring about further developments. A percentage below the 70% figure means that the cloud needs remediation work
Number of issues in the platform and its breakdown by severity, impact area and group
Issues detected by Quality Clouds scans according to non-compliance with a best practice/rule
Technical Debt and breakdown by Impact Area
It represents the implied cost in hours of development effort needed to solve the issues/violations detected in the platform due to non-adherence to best practices
Ratio of elements with Issues
The ratio of Configuration Elements (CEs) affected by one or more issues shows how easy it would be to do remediation.High ratio means that the issues are all over the code which means it will be difficult to remediate. Low ratio means that issues are concentrated, which, in turn, makes them easy to rework
Code quality is defined as the number of issues for every 1000 lines of code.
Code quality- Inventory and complexity
Lines of code and number of elements
Total number of lines of code and configuration elements in the platform. The product offers multiple breakdowns for these metrics, allowing a more detailed analysis when inspecting changes inventory and complexity wise.
As an example, you might need to control the growth of lines of code of certain types of elements or avoid the creation of specific objects that from your view, could be a symptom of poor quality.
Number of Open Source libraries detected
Number of integrations
It lets you understand how configured is your platform
Tracking quality metrics through evironments
In an ideal world where a strict SDLC process is followed, the environments involved should be aligned from code versioning and components perspectives. The reality is that, quite often, we use shared environments for different projects and it is quite common that they diverge in some aspects.
Quality Clouds gives the ability to compare quality metrics between different environments easily, in order to mitigate and track these differences. As an example, any of the metrics mentioned above can be used when comparing environments:
Tracking quality metrics of a specific developments /project
Quality Clouds allows to isolate a development for a particular project or release using the Quality Gates functionality.
Once Quality Gates is enabled, it will be possible to track the issues related metrics- number of issues/Technical Debt and breakdowns – only for the developments started right after the activation.
These are very valuable and useful metrics if there is the need to track quality at these levels
These are just a few examples of the multiple metrics that Quality Clouds generates.
At Quality Clouds, we recommend benchmarking your quality by at least using the big quality metrics where the benchmarks are available in the product, so that you can compare with other similar platforms: