The Signs that You Need Software QA Process Audit and the Approach to Performing It
Editor’s note: Victor explains when you should consider turning to the third-party QA process audit and shares ScienceSoft’s approach to performing it. Read on for some tips, and if you realize you need a deeper engagement of QA consultants, consider studying our dedicated service.
At ScienceSoft, we believe that mature quality management requires a structured QA process tailored to the specifics of a particular company, project, and software. However, businesses often overlook the importance of a stable QA process or lack expertise to set up a QA process that meets their project’s needs. As a result, they struggle to achieve their quality and efficiency objectives.
If you find yourself in one of the following situations, I recommend you to perform a QA process audit:
- You have no clear visibility of software quality or experience process bottlenecks.
- Your project workload increases, but your current QA process doesn’t allow scaling.
- Your current QA process prevents you from transitioning to a different development methodology, taking a different approach to infrastructure management or rolling other process changes.
- You need to pass a product/process certification and want to make sure your QA process complies with the requirements set by a corresponding standard.
ScienceSoft’s approach to the QA process audit
When performing third-party QA process audits or investigating QA at the start of long-term engagements with the customers who decided to outsource testing to ScienceSoft, we carry out the following activities:
Assess the current state of QA
We gain an understanding of software under test and determine the current state of quality assurance at the software and process levels.
I start with analyzing the software under test, determining its type, the domain it will be used in, the specifics of the user flow in this domain, target users, available functionality, and other information. I use a project specification, functional and non-functional requirements to software, mockups, and other project documentation as the source of data, as well as interview key project stakeholders.
As the next step, I look in the project in question and study such factors as its development methodology, approach to infrastructure management, and frequency of releases. Then I closely analyze the test process, as well as project management, risk and incident management, change and configurations management processes to reveal inefficiencies hampering the current state of QA. Analyzing the test process, I study the presence of a structured test strategy, the accuracy of test estimation, the approach to test environment provisioning, the approach to test design, the appropriateness of tools used for test management, the frequency and accuracy of test reporting, and other factors. Based on that, I identify current QA-related problems, their root causes, and the risks they pose to the software quality.
For instance, at this stage of a QA process audit for a company providing software solutions for the international car retail industry, I identified that one of key problems was the absence of adequate mapping between the test cases and software requirements. As a result, the discovered defects were difficult to trace back to the requirements, which prolonged and complicated debugging.
To structure the acquired knowledge, I may refer to such QA process maturity models as TMMi and TPI.
Define a model QA process for a project
ScienceSoft’s team defines the desired state of QA for a project and creates a roadmap for its implementation. As a rule, when drafting the roadmap, I rely on the stages of mature QA processes, combining them to meet the needs of a particular project.
I prioritize the problems identified during the current QA process assessment and analyze the limitations that may hamper addressing these problems. I also forecast what risks the implementation of changes may trigger and design a risk mitigation strategy.
Another important part of this stage is planning KPIs. In our projects, we monitor such indicators as the defect count per project/iteration/functional module, the ratio of critical defects to the total number of defects, testing effectiveness per project/iteration, the ratio of reopened defects to the total number of defects, and others. To learn more about KPIs critical for monitoring software quality, you are welcome to check this article by my colleague Boris Shiklo, CTO at ScienceSoft.
Design a detailed plan for the implementation of a model QA process
With an overall approach to the QA and testing processes organization designed, it’s time to get down to smaller, tactical tasks. I define the roles and responsibilities of the QA team members, state technical resources required to bring a new QA process to life, update current document templates (e.g., test design specifications, test reports, etc.), and propose tools to support a revamped QA process (e.g., a defect tracking system).
Don’t let inadequate QA limit your project’s success!
My practice shows that the introduction of a stable QA process increases software testing velocity by 25% and improves software quality by at least 30%, thus enhancing the chance of a project’s success. However, introducing changes to a current QA process bears risks and requires sufficient QA expertise. My colleagues and I are enthusiastic about companies striving for continuous QA improvement, and we’ll be glad to support you at your QA process audit and revamping journeys. If you think you might use our assistance, leave us a request.