My brother-in-law Russ is a professional playground installer who travels all over the country installing playgrounds. For the past three weeks he’s been building a playground in Indy, and I’ve been going over after work to help him. We finished it up last night and here are a few pictures of the finished product.
When I first met my wife and she told me her brother in law traveled all over doing his thing, I was a little skeptical. How hard can it be, right? Why did I think that? Because my initial image of playground building was a couple of guys installing a swingset at a school, or one of those metal outdoor slides that’s just a ladder and a slide. At first it seemed that anyone who could read directions could build one. If you could put together a kid’s bike, you could put together a playground.
That idea is complete crap. My brother-in-law built the playground you see above in three weeks, mostly alone. It would have taken me three months to do that, and I would have screwed it up in a big way. Building a play ground is much more complex than I imagined at first. Had his client tried to build the playground themselves, they would have made an enormous mess of it and wasted a lot of money. I understand that now because I have had several opportunities over the years to observe Russ’s work and to help him out a little bit.
My perception of software testing has taken a similar twist over the years. I admit, I once saw software testing the way many developers do – as an activity you delegated to team members who couldn’t cut it as developers. I don’t see it that way anymore, for the same reason I don’t have the same simplistic view of playground installation I once did. I’ve been exposed to some very fine work in testing, and I’ve been given the task of managing a few testing efforts that have proven to be extremely difficult systems to test effectively.
I wish more developers and project managers had the same experience I have had. Unfortunately, the perception of testing as being an “inferior” role in IT is a self-reinforcing one. Because we see it as a job “anyone can do”, we keep hiring “anyones” to do it. A lot of them. And they do it, although it usually doesn’t work out very well and wastes a lot of time and money. This build the perception that large testing efforts require large armies of “testers”, whose jobs are simply to follow written instructions and note where the application doesn’t do what the instructions say. The result is a large mass of testers in the industry where only a relatively small percentage of them are extremely gifted.
Like my perception of building playgrounds, this idea that testing is an inferior role is also complete crap. IT managers and developers who appreciate the complexity of testing will be at a distinct advantage over their biased peers because they will hire a few gifted testers to do the job of an army of unskilled ones. They will be more efficient at finding bugs, analyzing problems, and developing cost-effective ways of testing applications. As a result, the applications they build will be better. That’s what it’s all about.