Identity Crisis

Experience Reports, Software Testing

Everybody’s a tester.
Product owners, developers, stay-home moms, anyone who buys any kind of application,…
You have tested some kind of complex application before. Some of us do it professionally, others subscribe to a Crowd testing program and even others just buy an app, toy around with and discard it after seeing the first sign of issues.

If testing is so easy that anyone can do it, why are there still professional testers?
Just pick a person from the street, give him the specs and say: “Now Cross-check this with what we’ve made. You can read can you? Can you click? Alright, you’re set!”

A friend and me had a very detailed discussion today about testing in ‘an agile project’, without much further context.
He’s working as an iOS developer and my experience is mostly in big, slow, complete business solutions. There is quite a difference in perspective, but these kind of discussions are always interesting.

Apparently, in the projects he works in, there are no full-time Testers, nor functional or business analysts,… There are however a few ‘Proxy’ people working on these projects. To me this sounded completely foreign, but I assumed this was another word for a kind of Product Owner. The description kind of matched. A proxy is an FTE who writes the User Stories and specs, checks with the customer and tests the application.

The reason these people are called Proxies and why they do just about anything but develop is that they are easily replaceable. One proxy falls ill? Another leaves the company? No matter, we’ve got more lined up.

Resource = Resource
I find this disturbing. I see no added value in having everyone so easily replaceable and generalist. If I’d had to be this omnipotent IT-wizard that body-shifts from product owner to change manager to developer to tester to developer and back to tester and so on,… I’d be terrible at everything. There’s a reason why I became a professional tester and I am content to be one.
I’m terrified of a Proxy writing code for the specs she agreed to with the customer and afterwards testing it. (This sounds awfully 1960-ish to me.)

People are not easily interchangeable. It always comes at a cost of knowledge, convenience, team spirit, time and budget…
Imagine good old Larry who you’ve been working together with for 1,5 year, occasionally shared meals with and who you’d ask all questions regarding finance functionality to.
Now imagine him leaving the firm and being replaced by Anna, who’s worked in a bank for 20 years and has a unibrow. Are you sure you’d work with her as smoothly as with Larry?
Even a change within a project requires a flip in mindset, or maybe even in skillset if it requires you to switch language (Java –> .net?) or from technical to functional. It is incredibly tiring and time inefficient.

When talking purely theoretical, it’s easy to look at your colleagues as 40-ish hours a week. But it’s wrong.
You can very well be called a Proxy. You can even be a Proxy. Hell, I’ve been a Proxy for a few months. But I know I’m not a good Functional Analist. I know I’m certainly not a developer.

You are not your job description
I am first and foremost a tester, but can fulfill coördination tasks, analyst tasks, Client management tasks and many more, if required. I also know that I can not efficiently do development tasks, or Test automation that goes further than a replay, nor will I do ‘Testing tasks’ that some people would expect of a ‘standard testing profile’, such as writing test cases with test steps for every single thing you can think about.
Take advantage of the different people in your team, don’t categorize them by their job title.

I’m not saying I’m against the idea of Proxies, nor will I advocate specified roles per person are the way to go. I do believe that both could work in different contexts and that some kind of combination of the two will surely work as well.