Testers and coders are both developers

This article appeared in September 2009 as an opinion piece on the front page of T.E.S.T magazine’s website. I’m recycling it because I was interested in a discussion on Twitter on the same subject and I’d like to see any comments it might attract. Looking back a year later I’m not sure I was right to focus on Agile. I think my point stands as a general comment about the position of testers in a development team, and I’m not sure Agile changes that fundamentally. Any thoughts?. T.E.S.T magazine

When I was a boy I played football non-stop; in organised matches, in playgrounds or in the park, even kicking coal around the street!

There was a strict hierarchy. The good players, the cool kids; they were forwards. The one who couldn’t play were defenders. If you were really hopeless you were a goalkeeper. Defending was boring. Football was about fun, attacking and scoring goals.

When I moved into IT I found a similar hierarchy. I had passed the programming aptitude test. I was one of the elite. I had a big head, to put it mildly! The operators were the defenders, the ones who couldn’t do the fun stuff. We were vaguely aware they thought the coding kids were irresponsible cowboys, but who cared?

As for testers, well, they were the goalkeepers. Frankly, they were lucky to be allowed to play at all. They did what they were told. Independence? You’re joking, but if they were good they were allowed to climb the ladder and become programmers.

Gradually things changed. Testers became more clearly identified with the users. They weren’t just menial team members. A clear career path opened up as testing professionals.

However, that didn’t earn them respect from programmers. Now testing is changing again. Agile gives testers the chance to learn and apply interesting coding skills. Testers can be just as technical as coders. They might code in different ways, for different reasons, but they can be coders too.

That’s great isn’t it? Well, up to a point. It’s fantastic that testers have these exciting opportunities. But I worry that programmers might start respecting the more technical testers for the wrong reason, and that testers who don’t code will still be looked down on. Testers shouldn’t try to impress programmers with their coding skills. That’s just a means to an end.

We’ll still need testers who don’t code and it’s vital that if testers are to achieve the respect they deserve then they must be valued for all the skills they bring to the team, not just the skills they share with programmers. For a start, we should stop referring to developers and testers. Testers always were part of the development process. In Agile teams they quite definitely are developers. It’s time everyone acknowledged that. Development is a team game.

Football teams who played the way we used to as kids got thrashed if they didn’t grow up and play as a team. Development teams who don’t ditch similar attitudes will be equally ineffective.

Advertisements

7 thoughts on “Testers and coders are both developers

  1. I like your analogy here. I think the testing team has to stand up for themselves (sad but true). They are perceived as negative (wanting to break stuff) to being proud of their work (for breaking) to they have no technical skills. Most organizations its still the development team (minus the testers) who run the show. Testing is considered as bottleneck and changing this image is really important.
    Like you said its team work and that means testing is a contributing team member.

    • Thank you Shilpa. Yes, testing does entail trying to break things. It is also a creative process, not just in the general sense that they are part of the development process.

      Testers have to be creative in finding ways to test the product, rather than following a process by rote, or just doing the same things they did on the last project, and the one before that. They should also be involved in formative testing that will shape the product. That means active, creative, imaginative testing as early as possible in the lifecycle.

      If testers want respect and acceptance then it’s important that they persuade people that they can be creative.

  2. Pingback: Tweets that mention Testers and coders are both developers « James Christie's Blog -- Topsy.com

  3. Hi James,

    Yes, you’re right, this isn’t agile-specific, but maybe agile is one way to help notice this. I work with both development (coders + testers) and separate test teams – and I see it as a challenge to get everyone thinking about the product before it’s released to a customer as being a product under development and as such we’re all developers.

    Getting there is the goal of everyone playing on the same team (to use your analogy).

    You’ve triggered me to jot some more notes on the software development continuum (from complete coder to no coder at all.) Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s