This blog post described problems with value in testing. The second blog post looked squarely at perceptions of testers as unskilled, non-knowledge workers and the lack of response from a large number of testers. The third post looked more closely at the source of such perceptions on testers being unskilled, non-knowledge. This post is a discussion of what testers can do in response to such perceptions.
How many people do we know who collect a paycheck for "testing software" who can not be bothered to do any more than their collective bosses tell them?
Story 1
I know one manager who is active in the community who went so far as to offer for pay for his team to go to any conference or training event they wanted to go to. He offered to pay for AST's BBST courses (which absolutely rock, by the way). He offered to send them individually where ever they wanted to go to learn, confer, whatever. Not one person expressed any interest.
That is a problem.
Story 2 - one of my own
I remember one team I worked with. I asked them what defects were being reported by customers of the software. They responded with a long list of "Well, there's this and this and this and that and then this weird thing and..." I asked if maybe we needed to reconsider how we tested. UNIVERSAL RESPONSE: "Why would we do that? They are using the software wrong. If they used the software right, they would not have those problems."
Story 3 - another one of my own
I remember another team I worked with. That team, on the first day I was there, not just the boss, but the TEAM said "We have a problem with our testing. We're doing the best we know to do and we catch a lot of stuff but there are still defects getting through and being found by customers. If you have any ideas on how we can test better, let's talk about them."
Guess which team was a lot more fun to work with? Guess which team saw broader product examination and evaluation?
These teams demonstrate precisely what I see as the problem with the majority of people in software testing today, and as long as I have been involved in software. One group wants to learn more, does not know where to begin and dives in headfirst to learn.
The other group is perfectly justified in their minds that they need to change nothing. The boss they had 3 bosses ago said "Just do it like this." They do. Now, several years on, they have not changed. They added more people to do more of the same.
A Problem
In the stories above, the folks in story 1 demonstrated precisely one aspect of the problem. The folks in story 2 demonstrated another. The third group was the antithesis of both - and a hopeful sign.
While many people in many lines of work expect nothing more than they are given, in training, understanding, pay or ambition, others expect to be told precisely where they fit. Anyone looking to develop them as craftsmen was a threat - upsetting the status quo is a, well, problem.
People want to walk in 2 minutes before starting time, do their thing and go home. Ideally, they don't want to think about anything work related until its time to walk in the office door the next morning.
Fine. I can really empathize with that.
I'm not talking about thinking about your job I'm talking about your profession - your chosen trade and craft. Alas, it seems some folks don't think that way.
Upshot of That Problem
If you or people you know are in that camp, I fear you might want to look for another line of work. I might suggest you look for a line of work that requires you to not do outside study, on your own, at your own expense. Off the top of my head, I suggest you not look at these lines of work, all of which require you to do precisely that, if you wish to become good:
- Teaching (anything at any level);
- Law (anything related to law);
- Computer Software (that one is kind of obvious);
- Project Management (more than just software projects, lots of things need project managers);
- Accounting/Accountancy;
- Show Production (Music, Stage, Theater, Television, Motion Picture);
- Advertising;
- Distribution Center Management (that's how to run a warehouse);
- Commercial Truck Driving (or lorry driver);
- Commercial (other) Driver (bus, taxi, car-for-hire);
- Restaurant Manager/Owner (that one is really harder than most folks think);
- Chef (not a cook, but a proper Chef);
- Carpenter/Joiner;
- Construction Contractor/supervisor;
Jobs that require you to do no development on your own are jobs that will go away - at least from you. They may get sent to some other country where labor rates are lower - and low enough to off-set the cost of transporting the components or finished product back to end-market areas. OR it will go away because a machine will do it instead of a human person.
We're big on buggy-whip analogies when we want to make a point about people not keeping up with changing times. Well folks, Swiss Watches fell into the same boat as buggy-whips. Not anachronistic, just too expensive and a function that can be done by a commodity item, instead of the product of an artist.
As I See It...
You can make all the cases you want about what value testing bring to a software organization. You can talk about how your testing improves the quality of the software product. You can talk about all this stuff.
It does not matter.
If someone or something can do the same thing you are doing, with about the same results, and it costs the organization less money, they will replace you.
Ask the thousands of manufacturing workers who lost their assembly-line jobs in the US starting, well, in the 1970's. As the shipyard workers in Belfast and Glasgow in the 1950's and 60's. Ask any of the miners anywhere, mining for anything, that have been displaced by machinery.
And that is the problem.
We, as a profession, have failed miserably in demonstrating that the Tayloristic management theory does not apply to software development - which includes testing.
Why is this?
We have failed to address the solidly formed and closely held management belief that repeated practices will ensure quality products. Concepts developed for assembly-line workers, when applied to knowledge work, fail. Full stop.
Why is that?
Because no human being thinks in a linear manner. We simply are not built that way. Knowledge work requires a level of cognitive insight and practical experience to draw on to inform that insight when it is being done well.
Having everyone think about a problem in the same, precise, linear way is only possible if everyone involved has the same experiences, understanding, thought processes an bias.
Introduce one variable that is different and the wheels fall off. The model fails.
Addressing the Problem
After great thought, many conversations, and now at least four blog posts mapping my consideration of my lady-wife's question, what has been determined?
OK - I've edited this 4 times. This is take #6. And its also the most polite.
The simple fact is, we're pretty clueless when it comes to what testing is, how it is done and why we do it. A fundamental failure. The vast majority of people involved in software simply don't get it. This is true of many people who are supposedly professional testers, their bosses, their bosses bosses, project managers, subject matter experts, developers and - anyone who works with them.
Testers MUST educate themselves. If they rely on the company they work for, that will be a mistake. They don't get it either. They THINK they do, and they usually don't.
I can give my definition for testing. Some of you may say "Ah! He has clearly been influenced by the work of ... a bunch of people." Some of you may say "Pete, you're wrong and here's why..." Others might just say "Meh, whatever."
That's fine. But talk about it. You don't need to agree with everything I say or what someone else says. You do need to think. Then you need to communicate. Then you need to think some more.
Find many, many sources of information - then share them with others. Talk about them - agree, disagree, whatever. Share ideas and learn.
When we as testers limit what we do by some narrow definition or purpose, every project, every time, what are we really doing is boxing testing into a corner.
When we do that, we limit what testing is.
When we do THAT we fail to be true knowledge workers. We fail to think fully, and we walk right into the self-fulfilling prophesy that started this series. Testing is treated as a commodity. Many testers have been participants in that disservice.
When we fail to to broaden ourselves, we limit ourselves.
Broadening Testing
We must broaden ourselves, our profession, our views, our colleagues views, our employers views. We must engage directly in combating the "just test this" mindset. We must confront the "anyone can do this attitude" that is so pervasive in so many circles.
If you are reading this, thank you. I believe that the this is a start. Reading blogs, papers, articles and anything where people are sharing ideas and thoughts around software testing is a start.
Then write your own. Spread the word. Don't care if you are not an expert. I'm not an expert. Most folks I know are not experts. Some people THINK those folks are experts or authorities, and they simply don't consider themselves as experts.
They do care about what they do.
You can to.
That makes you an expert.
If you have a blog on testing, please leave a comment below with how we can find it. Thanks.
Great series of posts that really got me thinking and reflecting on what I do and how I can do it better.
ReplyDeleteI've gone quiet on the online front with my move but now I'm settling in I intend to get back to being involved.
Thanks, Phil.
ReplyDeleteSince SOMEONE did not mention it, Phil blogs at http://expectedresults.blogspot.com/
Thumbs up from me on the article and the sentiment behind it. I could post a link to my blog but I haven't posted since December! It's also not just about testing. Maybe I should start a new testing blog? (Like the world needs more blogs, right ;-)
ReplyDeleteHi Wayne - Thanks for the comment. And YES - I think there ARE more good testing blogs needed!
ReplyDeletePresenting information is challenging - presenting it in ways other people will understand and relate to is more challenging. The more people presenting ideas in different ways, maybe - JUST MAYBE - more people and more organizations will abandon policies, processes and models that simply don't work and will actually think about what is needed.
Hi Pete,
ReplyDeleteI agree that we testers often don't know what testing is. Embarrassing. In fact I've come to the conclusion that it depends on the context of what you're testing, who the users of the software are, what kind of system it is.
I was part of a team developing an object-oriented DB system and the users were software developers, in more cases it was a web application or an native stand-alone application or client app. And wow, testing varied wildly in many aspects…
This makes me thin, that testing may well mean different things in different projects (or for different products). It's not an easy thing to define for a general case, but that doesn't mean it's not worth working on.
Oh, and I'm blogging over at http://seasidetesting.com/.