As World Quality Report states, the role of software quality assurance (QA) has changed from just defects detection to one of the IT strategy’s most acute objectives. Global IT leaders see high software quality as a way to ensure customer satisfaction, cybersecurity, higher ROI, and achieve other business goals.
The more ambitious this objective becomes, the more considered approach its fulfillment requires. Now, software quality management (QM) comprises a comprehensive set of activities aimed at achieving a consistent high quality of software across the enterprise. QM includes quality assurance, quality planning, and quality control measures. Even if there is no established QM strategy in your company, some QM activities are surely executed anyway (often limited to just testing). However, the mere QM existence won’t ensure your software is quality and competitive enough. Quality management needs continuous improvement.
If your in-house QA human resources aren’t sufficient to provide effective quality management, you can try to outsource QA. And if your QA team is numerous enough, here’re some effective ways to level up quality management without reaching out for external expertise.
What exactly should be improved in QM?
Quality assurance is a process-oriented part of QM. BAs, project managers, developers, and, of course, test teams are a part of this process and should contribute to delivering high-quality solutions. Thus, mature quality assurance can be seen as an indicator of QM proficiency of your company.
To understand whether your company’s QA maturity level is sufficient, you can turn to one of the most popular QA maturity models: TMMi or TPI. According to these models, the highest levels of QA maturity presuppose that you have:
- An effective defect-preventive QA process involving the efforts of all stakeholders
- A common set of software quality standards (compliant with ANSI, IEEE, and ISO requirements).
- A general enterprise-wide software quality plan and detailed project-level quality plans.
- A comprehensive and multi-level array of quality control activities, including functional (unit, smoke, sanity, API, and regression), non-functional (performance, security, usability, compatibility, disaster recovery, compliance), and user acceptance testing.
- The regular measurement of testing efficiency against relevant KPIs.
- Continuous optimisation and advancement of the existing QA process.
Knowing your current QA maturity level, you can consider the opportunities to ramp it up. For that, an appropriate quality management strategy is needed. It should explicitly state how QA development should be organised and what employees should be responsible for the process management and implementation. So, here are the two options for your consideration.
QM corporate program
A quality management corporate program is a better option to level up QM in small and medium-sized companies, where the number of project teams is manageable.
The quality management corporate program introduces new quality objectives, QA and testing process amendments, measures to improve testing KPIs, conventional test management and test automation tools to project teams you already have.
A CIO initiates the corporate program and chooses a dedicated program manager responsible for software quality enhancement through the whole company. This person defines actual QA improvement measures and activities, assigns them to different project teams, monitors and evaluates their success. It is quite a complicated task that requires QA maturity assessment, deep understanding of what current QA issues and their root causes are, knowing the actual results of testing KPIs. Following a thorough analysis of this information, a program manager should develop an enterprise-wide quality plan and provide each project manager with a tailor-made QA enhancement plan.
The main benefit of this option is that it doesn’t require any changes to the current organisational structure, no additional employees or positions are required. So, less investment is needed, and its introduction doesn’t interfere with established work processes.
The main limitation of the QM corporate program is that it greatly depends on your organisational culture. Such a corporate program requires devotion and active involvement from all stakeholders. However, project managers may ignore the program manager’s recommendations. Thus, before delegating QM to the program manager, the CIO should analyse the current readiness of stakeholders to perform independently still with regard and respect to required improvement measures. If necessary, the CIO should empower the program manager with relevant administrative support.
Testing Centre of Excellence
TCoE is a good option to get higher on a QA maturity ladder for large enterprises with numerous departments, as its setup and evolution requires significant time and financial investment.
TCoE is a separate organisational unit created to centralise silo QA resources assigned to project teams. Though QA professionals don’t change their location, they become subordinate to TCoE managers and the head of TCoE. These new positions should be introduced to be taken by either newly employed professionals or suitable available personnel. TCoE managers aggregate best QA practices from different project teams, analyse them, and establish a unified QA process. Additionally, they develop a comprehensive quality plan, manage all testing processes, measure their efficiency, and advise test teams on improvement measures.
The major benefit of TCoE is that you have a complete team of professionals focused on software quality excellence within your company. Comprising a distinct organisational unit, they can introduce a somewhat “external” view based on QA as a business priority.
Another TCoE advantage not to be missed out is that its managers have enough administrative resource to manage QA professionals in project teams, advise on the improvements in the testing process and its results, relocate QA and testing employees from one project to another for no one to stand idle.
The main limitations of this option are numerous administrative changes to the company’s current structure, time and financial investment. Additionally, TCoE can hinder test and development collaboration vital for Agile and DevOps/Continuous Delivery projects. Test engineers turn out to be a part of a TCoE team, and at the same time, their QA activities are baked into project life cycles. Sometimes it may come to contradicting demands of TCoE and project managers. So, test engineers have to adjust testing standards promoted by TCoE to the current issues of a software development project.
On a final note
Depending on the size and available resources of your company, the number of project teams, and the specifics of your organisational culture, you can choose an appropriate way to advance your quality management. Either a QM corporate program or TCoE can be implemented relying solely on your internal QA teams. Still, in case your in-house professionals require external guidance and support during QM advancement, you can turn to QA consulting.
Andrei Mikhailau, Software Testing Director, ScienceSoft