Skip to main content

Software Testing Podcast - Provocative Therapy and Quality Coaching - The Evil Tester Show Episode 002

In this episode we cover Provocative Therapy, the Role of the Tester in Modern Software Development and the role of the Quality Coach

Subscribe to the show:

Watch on YouTube

Watch on YouTube

Interested in sponsoring the site? [find out more]


Show Notes

The book Provocative Therapy has had a big impact on my life as a tester and a consultant. Also I want to discuss the Tester’s Role in Modern Software Development and the current vogue for Quality Coaches (that might be a bit provocative)

TLDR; Provocative Therapy is a great study area. And Quality Coaches might not be the best cure for what ails your modern software development process.

Provocative Therapy

Tester’s Role in Modern Software Development

Tester’s Role

Tester’s role is to find opportunities to test that other people don’t see.

A good tester takes advantage of those opportunities better than other people.

Because… skills, experience, attitude, etc.


Agile has not really changed the tester’s role.

It has offered a new system within which we have to work. So we work differently. So the ’trappings’, the externally observable parts of what we do have changed.

Internally:


Agile. Small team. TDD (mostly). Stories. Some pairing. 2 week sprints. Go. I had to create my role.

I had to improve my programming so that I could pair on TDD. That was good for me. I think it helped writing code.

But we weren’t very good at estimating so we couldn’t pair, and cover all the stuff we said we were going to do.

But we didn’t fix that.

Instead, I changed my role. So that I could hunt down risks and issues as we were building the software. Tested as we went through. Flagged up issues.

In planning, the stories weren’t very good. I pointed out ambiguities, asked for clarification, asked:

I wrote code to help automate the execution of the application so we could use that during our development process to assert on conditions and I could use to boost my testing.

You could generalise that into “On Agile A Tester… blah blah”. I’d rather look at what I did and what led me to doing it. Because I can then do something different on a different project.

I think a tester has a very fluid role on an Agile project and that is why we find it difficult.

Therefore we have to own the role. And we can only do that within the capabilities that we have. And the opportunities that we see.


I think because of the confusion, and because programmers are now doing more testing.

And they are doing testing.

They might not be identifying all the opportunities for testing that a tester can identify. But that’s what a tester is for.

But we have the system dynamic issues that.

Sometimes.

If you have testers and programmers on the team. Then programmers do less testing. Even they can see opportunities for the testing, and can take advantage of those opportunities perfectly well. Because testers are there, the testing falls on them. And then you have the usual:

Testers very often are not using their skill sets effectively within that environment and so their value is obscured.

The temptation then is to get rid of testers. and Create Quality Coaches or Testing Coaches or Test Mentors, or Internal Test Consultants, or SWAT Teams, or whatever.

Basically - take the testers out of the team and make them some sort of advisory capacity.

We change the dynamic on the team such that the programmers then take responsibility for the most obvious testing.

There will still be gaps because they won’t see all the opportunities for testing.

So we will have these advisors work with the teams to fill the gaps.

Sounds great.

Devil’s advocate question time - why do we need a new role to do that?

As an experiment it might be worth trying, but I think people are jumping to a solution to a problem that they created but don’t realise what the problem was and might cahnge the system dynamic to one that does not support this new role.

I’m not against this role, because I’m a consultant, I perform a very similar role.

Question then what is a coach vs a mentor vs a consultant?

When would you use one and not the other?

I get nervous when we take words that have dictionary definitions and then use them differently, and we seem to do that with ‘coach’ ‘mentor’ and ‘consultant;

Dictionary:

I’ll generalise and say that we now have a mixed set of attributes that this role might have:

This is a challenging role. So are the ‘coaches’ you are creating:

The coaching, mentoring, consulting role, is hard.

I caution you, if you can’t get small teams with people with specific skillsets working effectively together, I’m not convinced that creating a coaching role and moving the people who currently perform a testing role into that role is going to save you.

I’m concerned that we might be setting people up to fail. And fail spectacularly.

Think about it carefully. Train your programmers to test. Train the coaches in how to train, coach, mentor and consult.

I think its actually a harder path.

There is no generic solution.

Recognize that people are individuals and create teams of individuals that work together where their unique skills can blend and all can add value.

As an individual. Identify what your skills sets are. What you are good at. What makes you different. And if you are not working as an individual on your team. If you are working as a generic cog doing a generic role, then stop, because you are not adding your value. Do that. And regardless of what happens, you’ll be able to make the most of it.

It puts the responsibility back on each one of us as individuals to do the best we can.

Books Shown or Mentioned