Whose Responsibility Is Quality Assurance Anyway?
Killer question; one I hear mixed answers in response to.
“The Test Manager…”
“Test Analysts…”
“Just the Test Team…”
For me, the answer is always the whole project team and I’ll explain why.
Coming from a background in team sports, I’ve learned to appreciate the personal attributes and nuances that contribute to multiple factors of teamwork. Within a fast-moving project, some of the nuclear project family includes SMEs or key business stakeholders, test and data migration experts, as well as developers and/or technical consultants – generally all underpinned by the Project or Programme Manager. Indirectly or not, each team member has a duty and responsible in ensuring quality throughout the project. For example, with data migration, the consultants work with the business to qualify the levels and history of data to be transferred into the new system. The quality of data has to be initially checked and validated, before being verified by the business stakeholders or user acceptance group. With testing, we coordinate and facilitate numerous phases and levels of testing to weed out any impurities. As for the Project Manager, why, they enable the team and help establish the standards in the blueprint. The best ones often act as a buffer and protect their team from other executive pressures, too!
When it comes to testing and all things associated, the main quality considerations certainly fall within that remit. The test strategy overarches and outlines a pathway to achieving high standards which bolster the quality of a) the project delivered, and b) the system to be implemented.
If deadlines earlier in the software development lifecycle lapse, say, in a primary phase such as design, and the project timelines aren’t able to be delayed or altered, then the delay will inevitably impact each activity further down the line. These lags can accumulate and if past the point of recovery, the delays will no doubt impact the final stages of a project lifecycle in a big way. In our scenario, that final phase is testing.
From a quality assurance perspective, in most projects I’ve seen, testing has been heavily impacted in terms of time or environment availability. When this hits, the role of the Project Manager and Test Manager (Lead) is to take a sensible, risk-focused approach. For example, we may have aimed to target all business processes within the system, and to test a variety of permeations, however, this is no longer possible. Instead, our new risk-based approach will focus on more well-known, problematic areas plus new functionality. We also focus on areas that are considered high risk. In terms of high risk, we need to decipher which failures would result in huge damage to a client – either in terms of confidence, reputation or financially.
So, how do we achieve quality as a unit?
Honest and open conversation, cultivated by a Project Manager who appreciates the need for individual expertise as well collaboration. From personal experience, advising team members about impending deadlines that look likely to be missed or unavoidable difficulties allows other colleagues to address their workloads and adapt accordingly. Everyone has a role to play when it comes to quality assurance, and by setting and aiming for standards in each individual stream aside from testing, the success of a project can be decided by the incremental 1% wins.
Remember, as the proverb states, “if you want to go fast, go alone. If you want to go far, go together.”