Part 8 and part 9 were two of the toughest parts of being a Big Swinging Developer. It just so happens that part 10 is the easiest. So easy in fact that you can start immediately with no additional training, reading, or practice. If you’re just joining The Big Swinging Developer Test, start with part 1 to learn about the parallels to The Joel Test: 12 Steps to Better Code.
The Joel Test:
10. Do you have testers?
The Big Swinging Developer Test:
10. Do you treat testers as partners?
I like to think of a "development unit" as a subject matter expert (SME), a developer, and a tester. Put these functions together and you can crank out quality software. One of the benefits of creating products for yourself is that you are the SME. If you are doing medium-to-large scale development, however, chances are you’ll have one or more SMEs that you work with and they may be labeled SME, Program Manager, Product Manager, Knowledge Worker, or whatever term is fashionable at the time. If you’re doing contract work, you’ll almost certainly have an SME since you’re being brought in to build someone else’s vision. As for testers, while developers should always test as much as they can, if you’re doing anything other than "side project" work, you’re going to have a tester or test team to work with.
Over the past few years I’ve observed a strange and unfortunate phenomenon: Developers tend to partner with the SMEs, but they treat testers as second-class citizens. To me this is like saying, "It’s important to know what we’re trying to do, but not important for it to work well". You and your SME are responsible for delivering a product that meets the customer’s needs. You and your tester are responsible for delivering a product that works well. Every defect found by a tester is one that the customer won’t have to endure. How is that not valuable? A defect found and fixed should be celebrated just like a feature designed and implemented.
Okay, let’s leave the Idealismville for a minute and get down to some good old fashioned self-interest. If you partner with your tester, if you guys are "in it together", you’ll see fewer of those bullshit bugs that annoy us all to no end. You know, the ones that make you ask, "Why are you wasting your time on this instead of testing the real stuff?" Some devs may point to the bullshit bug behavior as the reason that they don’t respect their testers. Um, yeah, does, "He started it!" sound like something that should leave the mouth of a six figure developer?
The good news is that you can have it all: quality software, quality defect reports, money, and (until more developers start acting their wage) fame! All you have to do is treat your tester like a partner. Trust me, I’ve seen it both ways and you’ll be much more valuable and happy if you take the partner route.