Ensuring software quality is one of the key performance indicators for a software architect. That’s why having a strategy to ensure software quality is an essential aspect of software architect’s key responsibilities.
Essentially you can apply Pareto Principle (80/20 rule) to manage Software Quality:
20 % of your focus on Software Quality can bring 80% of effects in delivering better Software
Use the below three steps to make your software quality management strartegy effective and operational.
Step 1 – Plan – What to measure?
There is no prescriptive way of list of metrics – it is applicable as per the context and the environment you are delivering the software. Essentially there are three areas to choose from
- Code/Build Quality Metrics: Ensuring code passes through all standard quality check meeting non-functional requirements
- Delivery Quality Metrics – Ensuring program delivery parameters are being adhered to (for example – if you can’t deliver on time, on budget, it does not help the customer or the organization)
- Functional Quality Metrics – Ensuring functional requirements are being met as per business needs. Even if code quality is top-notch, if it is not meeting the intended business need, it does not help.
Step 2 – Measure – How to measure?
It is not essential that you use automation to ensure your effort is not being spent on measuring it manually. There are plenty of tools or technologies available to measure these metrics such as (note that this is not a comprehensive list of all tools – the idea is to provide you pointers towards it):
- Sonar – For code quality and issues discovery – can easily be integrated as part of code pipeline
- Apache JMeter or Blazemeter– for Performance & Load Testing
- Application Performance Monitoring tools for non-functional such as Opensource Apache Skywalking, Elastic or licensed products like New Relic, Dynatrace, Splunk, Datadog, etc.
- Google Lighthouse – for UI Performance. You can also use online tools like web.dev , GTMetrix
- Cast Software – comprehensive code quality management platform like
Step 3 – Visualize & Act
The last but not the least is to visualize (considering the number of metrics, visualization helps) and then act on metrics not meeting the desired SLA.
Continuous measurement and incremental improvement is key to build the desired software quality
A conceptual software quality dashboard (can be realized by tool/technology):
To conclude, software quality is not an afterthought, and putting the quality strategy since inception helps to build better software. Doing it in a continuous manner and making incremental improvements goes a long way!