Sunday, March 10, 2013

The Real Enemy

Lior Friedman asked whether a tester should know how to program or become obsolete. Lanette Creamer said the same fate awaits programmers who can’t test.

This kind of discussion only happens in the dark corner of the software world. Within our small community.

In most companies, nobody thinks about this.

Human Resources

“When we hire a tester, make sure he does only that. God knows we don’t want to pay him like a real programmer.”

“When we hire a programmer, we don’t want her to spend her time testing, that would be a waste.”

Companies still hire to fill positions. Programmers have a very different job description than testers.  Job descriptions, however,  don’t help with fulfilling the business’ mission.  

It starts with hiring, but doesn’t stop there. Let’s say this company is one that really believes in “our employees are our most valuable assets”. How does it train its employees? Of course, programmers are encouraged to learn more programming and debugging techniques. Testers are trained in deeper testing methodologies.

Changing Roles

The agile manifesto talks about collaboration and interaction. Scrum talks about the team. Neither talked about testing and programming roles.

Extreme programming, you say? Doesn’t mention roles. But does talk about programming and testing.

The reason there’s no squabbling over roles in agile land is that role separation is really none of the business’ business. Agile methodologies are about making the business money by building quality software fast. All the process you need is already there, anything else just puts wasteful constraints on the system.

Software needs to be of high quality. For that it needs to be programmed and tested. It doesn’t really say who does what. Make it so.

And yet we’re still attached to these titles. Asking if programmers can test, or tester can program is reinforcing titles over skills.

What we’re actually doing is reinforcing HR’s role in the organization.

We’re All Developers Here

Programmers should know how to test their code. Without testing they are going to waste both theirs and the company’s time on bugs.

Testers need to program. Without automation, they are going to waste both theirs and the company’s time on manual rote work.

We all value working software over comprehensive job descriptions.

We’re all software developers.

Who hate HR.

2 comments:

Phil said...

Testers need to program ? Do they really need to ? Sure, I agree that doing repetitive manual work is a waste but why not get the programmers to do the coding, they know how to do it much better and efficiently than a tester leaving the tester free to use his skills to do exploratory testing ?
( I'm an ex-dev who turned to testing btw )

Do you really hate HR and consider them the enemy ? or are you just trying to get some readers - why not educate HR into the sort of people you want ?

Gil Zilberfeld said...

Hi Phil,

Thanks for the comment!

Should testers program? yes. Are they in making effective use of their talent? maybe, maybe no. Since we're relying on teams to self organize, we're assuming teams will do that in the most effective way. That means automating the boring stuff, and leaving the interesting stuff to do manually. Are testers the only ones who should do testing? No. I'd like a programmer to make sure her software is tested. That way the tester gets a cleaner version, and can have time to test more effectively.

And I'm using the same "role" words that make up the division.

As for hating HR, I don't hate all HR. Just bad HR. Which is mostly out there.
HR (just by it's name) represents the entire way a company does business. It boils down to ineffective and inefficient processes, putting restrictions where creativity and opportunities can help the company. It's used outsourcing effective management. And that's bad management.

Bad HR will be the first to tell you "you can't do that".
Well, usually we you can. And at least me, don't usually listen. But many people do. And the company shoots itself in foot once more.

HR people are not inherently bad, they are just sucked into a system that promotes these things.

The cure is an organizational transformation, but the organization needs to want and be prepared for that. Including HR.

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon More