The Software Testing Draft: Skipping Certain Players and Reforming Others

[article]

Assembling a great software testing team isn’t just about finding the right players; it’s also about reforming or perhaps weeding out the not-so-great players. Squashing certain negative traits found on the team (or preventing those traits from entering the team in the first place) is vital for everyone’s success.

Zappos.com CEO Tony Hsieh says hiring mistakes cost Zappos over $100 million. “(T)here’s a temptation to just get warm bodies in and hire as quick and fast as possible,” he says. “…What we learned is instead of trying to hire quickly and fire slowly, really, it should be the reverse. We should hire slowly and fire quickly when it’s not the right fit.”

Many people bristle at the idea of excluding anyone in the workplace, but exclusion works magnificently in other settings; the best sports teams have exclusion down to an art. Throw one too many bad pitches and the pitcher, no matter how much the coach or the fans like him, will be replaced on the mound. If NFL players don’t reign in their hot-shot attitudes (think football stars Chad Ochocinco, Terrell Owens, and Randy Moss), the players can be traded or cut, and the fans are happy to never see them again.

In the movie 42, the biographical film about Jackie Robinson, several Dodgers players band together to refuse to play with a black teammate. In a scene that is apparently historically accurate, Dodgers manager Leo Durocher, wearing a bathrobe, wakes his players from their beds and lets them know that Jackie Robinson will be playing if he’s good enough to help the team win, and anyone who doesn’t like it can find somewhere else to play. Three players ask to be traded. The rest is history.

Sometimes what a team needs to succeed is pruning. As a manager, how do you know when you’re at that point with someone on the team?

I was once hired to work with a group that had a couple of testers who were feuding through deadly looks, snide comebacks, and territorial shenanigans. My manager and I started work the same day and dove into helping this team corral their two sets of disparate test cases and get some checks automated. Only, it never seemed like enough work was getting done, and we had to keep repeating instructions. The day one of the testers emailed the other one to say “stop typing so loud” was the day our manager realized that attempting to reform these testers was wasting time and money. The tree was pruned, and the team was able to grow with new hires who had better attitudes.

Other times test teams have players who are impeding work but they can be reformed because they genuinely care about the success of the team; somehow they either got off track or their personalities just lend them to some sort of inefficiency.

One behavior related to personality that managers can address is lack of direction. Some people do good work and have good attitudes but fail to see what needs to be done or could be done. They may continually look to the manager for direction or just wait for direction to come down. Managers can help the team by encouraging members to be self-managing when it comes to their own work and monitoring their own progress. Ask questions that get team members thinking not just about the happy path, but also about what might go wrong in the course of their testing work. Help them think through contingency plans if, for instance, a certain test box goes down, a data insert necessary for automation checks fails, or a product manager needed to flesh out a story is on vacation. Give team members high-level responsibilities with hard dates for completion rather than open-ended timelines, but coach them if needed in how to break tasks down into chunks of work rather than doing all the planning for them. Give team members who have difficulties activating their individual initiative long-term goals, such as the investigation of a new technology or tool, so that they always have some task in waiting.

On the opposite side, another behavior related to personality that can impede team success is the tendency to take on too many tasks. Often this is an honest mistake—things become slow, and capable people get asked to take on more work. Perhaps they have a hard time saying no, or they have an irrational confidence in their abilities to get everything done, or maybe they think, “I’ll work as much as I have to if it helps the team and myself succeed, no matter what.” Whatever the reason, being spread too thin means things slip, and it’s often the quality or completeness of the work. Managers can help these team members by getting them to focus on a manageable set of tasks to be completed in an organized, timeboxed manner. Start with a drastic reduction of tasks, and then give one or two at a time until the person begins showing evidence of better self-management.

Finally, what does a manager do to help a team member who’s obsessed with metrics at the expense of actually building and testing the product, or the person who always seems to talk a big game but produces very little? Inform both types that the core task of the test team is to provide value. Walk through the big talker’s arguments point by point, asking questions to extract details that demonstrate whether this person has anything of real value to provide. Ask for a prototype, a working program, or detailed documentation to separate poetic boasting from reality.

To team members who obsess over metrics, liken metrics reporting to preparing an abstract of a scientific study: Only the most important details that impact the status of the project need be included. Let the team members know that concise reports are sufficient unless there is some severe problem, at which point more details would be needed and on a more frequent basis.

Like any sports team, the software testing team is put in place to win—not to relax in a “you win some, you lose some” sort of mentality, rest on the laurels of a superstar, or merely look good in uniform. Teams who win employ a generous amount of discipline to reduce their weak points, and they judge the success of the team based on the record, not personal feelings. Test managers who work to prune and refine their teams will see the fruits of their labor in greater team self-management, fewer dropped passes and less show-boating—all of which translate into more wins for the test team and ultimately everyone who consumes the product.

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.