Software Testing Management As the Foundation – Not an Add-on

Posted on Oct 15, 2012 in blogDevelopment

In the quest to create powerful software tools for the market, development firms must rely on a diverse range of different departments. Marketing, sales, accounting, programmers, graphic designers, executive management, HR, and of course, the software testers.

Seamlessly weaving in all of this input is not without its challenges. The more teams (and the larger those teams), the greater these challenges become.

Unless you’re operating a one-man shop in which you wear all of the different hats described above, you’ll invariably encounter any number of communication and technological obstacles. It’s inevitable.

These challenges can be human related. Technology related. Accounting related. The list is truly endless. But ultimately, it comes down to the different priorities that each department has. Marketers, for example, operate in a world of “possibilities” and “potential” – an approach that is often at odds with accountants who must deal with the more practical aspects of financing the marketing department’s loftier visions.

No one is right or wrong. It’s just that each department (in fact, each individual) faces slightly different budget, time, or goal constraints.

Where Does Software Testing Management Come In?

The logistics of managing so many different cooks is overwhelming. Even after years in the industry developing software application testing tools, I’m still amazed that companies manage to meet their deadlines and come under budget. Successfully developing software products is nothing short of a miracle.

How do they do it?
It really comes down to coordination and cooperation:

  • Some companies rely on open structures in which everyone is in the same room on the same page throughout the entire development cycle. I like the general idea, but this approach can get very messy very quickly, and not always effective to best use each professional, for their real benefits.
  • Other software firms hold endless meetings and updates amongst their departments. This can become expensive. Companies (in every industry) have a nasty habit of convening $100 meetings to solve $1 problems.
  • And still other software development companies rely on tools and workflows to make sure everyone is on the same page. It’s a bit impersonal, but when done correctly, the results can be impressive.

Most firms use a combination of the above. But where exactly does software testing management come in?

Based on my experience (and the experiences of many of those who use our software application testing tools), testers are usually at the end or bottom.

In open environments, they’re off in the corner. For meetings, they only come at the end of the product’s development. When coordination happens via tools and systems, software testing management is brought in as the “relief pitcher” at the very end.

With regards to budget, hierarchy, and chronology, software test management typically sits at the little kid’s table. And software application testing tools are the “spellcheck” – a last-minute sweep to clean up everything at the end.

It’s an unfortunate trend that I’ve covered in previous posts. But it’s worth revisiting since the benefits of doing the opposite are so powerful.

Software Testers as Part of the Starting Line-up – Not the Relief Crew

Testers should be involved throughout each project from start to finish.

  • If your company uses meetings to coordinate your departments, software testers should be a part of every meeting at every stage of the process, from design to release.
  • If you use open structures to coordinate, software testers should not be placed on the periphery or in the corner. They should be together with all of the other departments.
  • If you use tools, software testing should be woven into the “application lifetime management” to ensure that rigorous QA testing debugging helps tie everything together.

This isn’t simply opinion. When you consider that 80% of software development costs go to debugging, it seems absurd that testing would ever be an “afterthought.”

No company would ever bring in their accountants only during the last few days to make sure everything is kosher? Of course not. You need them on Day 1 and throughout to make sure there IS a budget and everything fits into said budget.

And what product release could succeed if programmers were only brought in after the marketing department had placed the finishing touches on an ad campaign for a product that doesn’t even exist yet?

And yet, so many companies do this to software testing management – a function that represents the overwhelming majority of the bottom line.

By including testers earlier in the process (and by earlier, I mean from the very beginning), you enjoy several important benefits:

  • Faster time to market. There are many scripts that your testers can begin writing even before the first line of code is written (based on the requirements of the project and the expected functionality of the software).
  • Lower development costs. When you include software testers early on, there’s less back-and-forth. Everyone is on the same page, and your testers can help the developers avoid many common mistakes before they even arise.
  • A better product. Yes – you can definitely have too many cooks in the kitchen. But software testers offer the very type of “culinary” input you need, and rarely does it go overboard. Have you ever complained about someone successfully finding or preventing too many bugs?

Don’t think these advantages are legitimate or worth it? Try it on a side-project. Incorporate your testing team early on in that project. I’m fairly confident that the results will surprise you.