Quality Assurance management requires an understanding of the elements that go into the system under test and the QA tools/approaches that are useful to test them. That’s not the same as being able to sit down and write code to be used in the system itself.
A developer’s understanding of the system code is very useful to a QA engineer. That individual must be able to look at the system under test and follow defect symptoms back to their source. A QA manager has to be able to track and direct the QA process. This means using management skills to assign and oversee QA technicians and engineers as they verify functional features and test system performance. This requires a different skill set.
The manager has to maintain an overview of both the development and QA processes in order to keep them synchronized. This demands a level of technical expertise in both the system under test’s design and in the QA tools used to test it. Without both, the QA management process lacks the necessary oversight to track and manage results. The level of technical expertise necessary to do this is one that supports that overview.
At QualityLogic, a QA manager is also a test project manager with additional layers of responsibility. As such, that person has to work with our client companies to understand their QA requirements and process, as well as managing communications between the project staff and the client. This includes managing the initial project startup, to coordinating the QualityLogic team’s work with the client’s development project, to oversight of the project’s financial status. A QualityLogic QA manager ensures that our test deliverables meet the customer’s requirements from start to finish.
While an engineering/development-level understanding of code isn’t essential for maintaining that level of system awareness, a basic technical understanding and well-honed management skills most definitely are.
What are your thoughts?