In a recent post, we offered some guidance on how to tell the difference between software testers who are potential superstars and those who most likely aren’t. We’re absolutely convinced that if you build a QA team following those guidelines, you have the highest chance of creating a world-class QA team, an essential step toward building a world-class product.
Of course, hiring the right QA people won’t do you any good if you don’t also hire someone great to lead your QA team. More importantly, if you start by hiring the right QA manager, that person will build a great team for you, allowing you to spend your time on other matters. Unfortunately, a bad hire where QA management is concerned can do a lot of damage to your organization before you realize it.
Recruiting a great QA manager is even tougher than finding a great tester. Finding someone who is really good at managing projects and at motivating & mentoring people is hard enough for any management position. But from this already narrow field of candidates, you then have to find someone who understands the unique challenges of QA, can recognize the qualities that make great test people, can motivate a team to stay focused and productive under extreme pressure, and can maintain a positive relationship with development while constantly appearing to be the bearer of “bad news.”
In our experience, the QA managers you want to avoid may have impressive-sounding experience and will probably be just as confident in themselves and their approaches as the good ones. So while you may easily weed out a few that lack the confidence and thick skin to survive in a fast-paced, high-pressure environment, you could still find yourself with someone who wastes your money, delays releases unnecessarily, damages morale, and allows you to release buggy software – raising your support costs and risking your reputation.
Before you hire a QA manager, make sure you know what a great one looks like.
Great QA managers:
- Know that software testing is a profession that requires skill, experience, and discipline and therefore always do their own hiring. Great QA managers never accept development rejects as test team members. Nor will they accept “development trainees” as temporary test team members.
- Measure and reward bugs found per unit test time, never the number of test cases written or run. But in measuring the number of bugs found, they go beyond just the pure quantity of bugs and consider the quality of bugs found as well, where quality can include such things as severity, number of customers impacted, difficulty to isolate, etc.
- Understand that scripted testing (either manual or automated) finds very few bugs per dollar spent and should only be done for regression testing – and even then should only be done once all of the non-scripted manual testing that can be done against new features and bug fixes is being done. [Please note that automated unit testing is not in this category.]
- Never advocate automated testing just to placate employees who are bored or who want to add automation to their résumé. They resist requests from management to use automation when it doesn’t offer the best return on investment for the company, project or product.
- Know that the best place to start automation (if and when it is ever time to start it) is with automated unit testing by the development team. They also ensure that any additional automation is specifically justified for their company, project(s), and goals and that the expected ROI is clear and measurable so that they will know whether or not the stated goals are being met.
- Know that good testing requires, above all, the right temperament: intense focus; high level of curiosity; determination to find bugs; ability to remain focused while bored; and high levels of creativity. They hire accordingly and keep their team as free from distractions as possible so that they can remain focused.
- Know that finding bugs is worthless unless they can be reproduced, so they hire only testers who can write clear bug reports that make bugs easy to reproduce and fix.
- Develop a complementary relationship with the development manager and the developers, never an adversarial relationship. They encourage testers to work independently of development to find real issues but to be collaborative in finding solutions.
- Never require documentation as a management crutch.
- Focus on the few key metrics that are truly vital to the product’s success and use them to motivate continuous improvement in both product quality and team productivity.
- Can find a way to make his/her team productive in any environment with any level of maturity and any level of documentation. They do not complain about missing requirements from marketing or development and do not tolerate such complaints from their team. Great QA managers work collaboratively with marketing and development to create any truly needed processes and documentation to improve the quality and productivity of the entire team.
- Are honest about their assessments of the quality of the software they test. They are clear about the risks of releasing software early, making their recommendations and then supporting the decision of management.
- Are also honest about their team’s performance, capabilities, and opportunities for growth, always listening to valid criticism and looking for opportunities for growth.
- Always advocate for the end user of the software.
- Last and certainly not least, great QA managers appreciate QA superstars and let them know that they are appreciated, giving them the tools that they need to do their best work and rewarding them in accordance with their contribution to the success of the project, building a culture where QA is just as valued as any other contribution.
Poor QA managers:
- Think testing is easy and hire accordingly, hiring cheap labor and accepting any washouts from other departments the company throws their way.
- Create an adversarial culture with development and management, complaining about missing documentation and deflecting blame for missed bugs that get released.
- Require and/or generate lots of unnecessary documentation that nobody needs or reads.
- Emphasize number of tests written or run as a measure of the performance of his/her team and require unnecessary scripts or other documentation as a way to gather this data.
- Generate a lot of useless metrics in an attempt to appear smarter, busier, or more informed.
- Distrust their team members and require them to document their tests to prove that they did them.
- Advocate automation as a way to build a more “professional” team or to keep their team members from being bored and leaving, regardless of its value to the company or product.
- Alternatively, advocate automation as a way to “save money” (which, by the way, it never does).
- Rely too heavily on development or on written requirements to know what/how to test.
- Allow their team to be treated as second-class citizens by developers or development managers, failing to shield them from distractions and undue criticism that diminishes their focus and performance.
- Alternatively, set themselves up as a single point of communications failure for the entire QA function, depriving their team members of opportunities to experience customer feedback and/or to grow by working collaboratively with developers or support organizations.
- Argue about bugs or features beyond an objective assessment of the quality of the product, overstepping the bounds of QA and inappropriately into product ownership.
If a lot of these points sound familiar, it’s no accident. Almost every point above is very similar to the positive and negative attributes of software testers that we listed in our previous article. The critical point that we’re trying to drive home is that a QA manager will hire and manage according to his/her philosophies. Only if those philosophies are in line with what you want out of your test team will you get the team and performance you’re looking for.
A bad manager, one who will hire any “warm body” to execute scripts that were obsolete the second they were written, can break the spirit of your best testers, not to mention the damage that such a manager can do to your reputation by allowing bugs to escape into the wild. On the other hand, great managers hire only the best testers and enable them to do their jobs. They help to create a positive, collaborative relationship, not only with development but also with customer support, marketing, and sales. With a great QA manager, your QA team will support the true mission of your company to generate revenue by making your customers happy.