We recently gained a clear picture for the first time of how we perform as a company on software quality, compared with a benchmark of many open-source systems built by larger organisations such as Google, Netflix and Spotify. Delivering sound software is normal practice for us, not something driven by how others work. The overview showed that, across the board, we stood head and shoulders above the group. That was pleasing to see, especially because it recognises the effort our developers put in.

Making software quality visible
42's products are near the top of the peer group for maintainability

The blue circles represent products from 42, while the grey circles represent products from other organisations in the industry. The vertical axis shows a product's maintainability, composed of a set of quality metrics: higher is better. The horizontal axis indicates product size. The farther right a product is, the more lines of code it contains — in other words, the larger it is.

Some of our products have lower maintainability. They started as proofs of concept, with a deliberate decision to trade software quality for development speed. This is a valid choice, especially when testing the concept in the market matters more than long-term maintainability. The price is that bringing the product up to higher quality standards later costs more.

Maintainability Cloud

The tool Maintainability Cloud lets you manage the quality of your products. Its strength is that it provides a strategic overview while also allowing you to go a level deeper to investigate a product's strengths and weaknesses. It supports a broad range of commonly used metrics.

To use Maintainability Cloud, first have your products analysed by the open-source tool Sokrates. Maintainability Cloud then interprets and scores those Sokrates measurements based on the aggregated results, providing a comparative quality overview of the systems in your portfolio.

You can then manage the quality of your product portfolio, weighing technical debt , the extent of deferred maintenance, against potentially more pressing business considerations.

Why software quality matters

Readers may reasonably ask why software quality matters in the first place. For us, the following objectives guide our work:

  • low maintenance; keeping the cost of maintaining the product as low as possible
  • reliable; the product does what it should without failing
  • available; the product is always available and does not suffer outages
  • extensible; new features can be added without excessive difficulty
  • understandable; developers understand the codebase's logical structure and design, making it easy for new colleagues to contribute
  • long lifespan; delaying a product's inevitable end by maintaining the highest possible quality for as long as possible
  • job satisfaction; developers enjoy working on a quality product and feel pride in their craft

Our customers will confirm that our products rarely suffer outages and that, when they do, we can quickly identify the cause and resolve the problem. That would not have been possible if we had lost sight of quality. Customers seeking peace of mind have come to the right place.