In a recent blog post, James Bach discusses the essence of heuristics. A heuristic is a fallible method for solving a problem or making a decision. When used as an adjective, “heuristic” means fallible and conducive to learning. James ends the post by introducing a number of questions in order to test whether someone is teaching you a heuristic effectively. Meeta Prakash, in the comments, remarks “Your questions sound so much like my idea and interpretation of a ‘leader’.”
Yes, Meeta, the asking of those questions sounds like leadership to me too. What is leadership? Leadership is “creating an environment in which everyone is empowered” (that’s Jerry Weinberg’s definition). We believe in that. We believe that excellent testing starts with the skill set and the mindset of the individual tester. Other things might help, but excellence in testing must centre on the tester.
Discussion of the Method is Billy Vaughan Koen’s book on engineering. He describes the engineering method as “the use of heuristics to cause the best change in a poorly understood situation within the available resources”. He notes that the individual engineer, the engineering organization in which he works, and the engineering discipline overall each has a state of the art, which he abbreviates as “sota”. These sotas overlap one another in some places and cover new ground elsewhere. Each leads and lags the others in certain areas. The overall discipline has a sota that is more advanced than that of the organization and the individual in some places. The organization’s sota is aware of things that neither the individual nor the discipline has yet recognized. Each individual’s sota contains some knowledge that is unknown to both the organization and the discipline.
Each sota may advance before that of the other two, and the advances are ongoing. Each sota evolves in a different context. For each stage of evolution, we can’t be certain about what factors might be relevant to success or failure. Thus no practice nor method nor approach can deemed to be best. We don’t know, can’t know, whether some method is best; we don’t know, can’t know, whether someone might invent a better method. We don’t know, can’t know, whether someone has already invented a better method. What we can do, however, is to create environments in which everyone is empowered to discover and apply new heuristics along with those that we already know. That’s important because the discipline and the organization never advance on their own. They advance when someone has the inspiration, the initiative, the courage, and the opportunity to try something new, uncertain as to whether the new approach will work.
Organizations and individuals can foster initiative by empowering people (or at the very least, by leaving them alone). The overall discipline tends not to encourage initiative much, so it seems. With prescriptive, restrictive standards, disciplines often discourage innovation. Why would disciplines do this? One reason is that disciplines are typically led by experts who, as McLuhan said, are heavily invested in their own expertise, and therefore resist change that would threaten that investment. Propaganda and the threat of unemployment are among the crude tools that experts wield. Want evidence for that in testing? You need look no further than the “experts”, the certifiers, and the standards enthusiasts in our craft; their narrow and flawed models of evidence and measurement; their intolerance of uncertainty; and their resistance to acknowledging the exploratory mindset. Yet without exploration, progress in any domain ceases while the rest of the world rushes past.
“All is heuristic,” declares Koen. That’s an absolute statement which appears to declare that there are no absolutes. But rather than denying the paradox, Koen embraces it. All is heuristic, he says, including the heuristic that all is heuristic. The notion that all is heuristic is pretty robust. Koen points out that even algorithms have contexts in which they work and contexts in which they fail, and that algorithms must be chosen by people applying judgement and skill in uncertain conditions. Yet he leaves open the possibility that someone, somewhere, some day, might discover an infallible method for solving a problem.
James, our colleagues, and I deal with a similar paradox when we contend that all testing is heuristic. There’s no test for infallibility! It might be that there are some occasions when there are infallible methods for testing. It’s just that we’ve never seen one, and that we can’t currently imagine a case in which a process or a standard could—without the application of judgement or skill—be guaranteed to solve some testing problem. That’s because skilled testers (let’s call them “we”, without claiming expertise, but asserting that we are students of the craft) have specific advantages over process models, methods, and tools (“they”):
- We have situational awareness (they don’t).
- We work from the assumption that we’re fallible (they don’t).
- We have the capacity to make judgements on questions of cost vs. value (they don’t).
- We have the ability to apply a stopping heuristic at any time (they don’t).
- We have the intelligence to choose which heuristics are applicable and which are not (they don’t).
- We have the opportunity to consult, in real time, with our clients (they don’t).
- We have the inventiveness to work around a problem (they don’t).
- We have the sensory appartus to determine when a heuristic is failing (they don’t).
- We have the humanity to notice something unexpected that might be a problem for people (they don’t).
- We have the capacity to learn (they don’t).
And that’s only a partial list. A couple of notes: every one of these capabilities is itself heuristic; and it should be clear that I’m not talking only about skilled testers, but about any skilled discipline.
It’s not that bodies of knowledge or process models or standards never have anything interesting to say (although, in my experience, most of them do tend to be written in a style that induces immediate and profound slumber). It’s that none of these tools have any intrinsic relevance or value unless and until they are applied by people. If the tools are to be applied effectively, we need to recognize that they are all heuristic. We must test these heurstics and their validity with questions like the ones James poses. We must also recognize the people applying them must have the skills to know how, when, and when not to apply them. To develop those heuristics and those skills, we need to create an environment in which everyone is empowered. That is what we believe.
Thank you Michael !
This is a very crisp and neat post that concisely puts all the ideas together. I’ll use them in one of my sessions.
Please do.
My belief lies in the fact that “the skill set and the mindset of the individual tester and excellence in testing” are the plinth of the world where testing is essential element; whether undertaken due to a planned & foccused need or unknowingly to validate.
For Leadership- ’empowerment without faith’ will not lead to developing leaders.
I very strongly believe that there is nothing existent in this world that does not have a context involved with its being. Hence ‘heuristics’ become a necessary evil to support whether you want to know the unknown or explore the known further.
What do you mean by “necessary evil”? There’s nothing inherently evil about heuristics.
While a post on Heuristic is highly useful and makes a very good reading, I am struggling to see the connection between heuristic and leadership apart from the fact that questions about heuristic based teaching /appear/ to be having /something/ common to demonstrating leadership (creating an environment where everyone is empowered). I feel the connection is rather remote and unconvincing.
Take this post for example, most of it covered heuristics rather than interplay between heuristics (development and application) and leadership.
Am I missing anything here?
Maybe. It seems to me that heuristics and leadership are entangled in this sense: leadership lies in acknowledging that no method (for testing or for management or for leadership) is perfect. Leadership, management, and testing all alike are informed by decision-making under conditions of uncertainty. All is heuristic. We don’t have a guarantee of the right approach to anything; therefore people should be given room to experiment and diversify. In this view, leadership means relinquishing control, empowering people, granting freedom while requiring responsibility.
This, I would argue, is far less a set of ideas about teaching than a set of ideas about learning. It’s focused on exploration and discovery. I hold that it’s central to optimizing the quality of our work. When we overstructure management of anything (especially testing), turn people into objects and waste human potential.
Does that help?
Shrini
There is one sentence in this post that makes me scratch my head in disbelief:
“We don’t know, can’t know, whether someone has already invented a better method.”
Is that really the case? Isn’t that the whole point of going to conferences and find out if something better exists that I can copy or apply partially to my own work?
Yes, I argue that’s really the case. We can’t be aware at every moment of everyone’s activity at every moment, neither in an organization nor within a discipline. We can certainly learn something about what they’re up to eventually. But there’s another issue too. The world is a complex and messy place, and whatever method someone has invented to solve a problem may work where they are but not where you are. There may be cultural, social, technological, logistical, and other contextual factors in the picture that would lead to amazing success elsewhere, but not in your organization, or not with your current skill set, or not with your current mindset, or not with your current team, and so forth. The notion that you might take something better than what you’ve got and apply it partially, synthesizing something that’s better yet, underscores this.
Michael you wrote: “In this view, leadership means relinquishing control, empowering people, granting freedom while requiring responsibility.”
IMO, many vocations that do not require a great deal of skill could use a balance between freedom and responsibility. As a college student I work a mundane sales clerk job in a national chain clothing store. I am told where to put merchandise and expected to do as I’m told. However I often think of alternative ways to merchandise but am not allowed to implement them.
I wonder if they’re really watching carefully enough to notice. You might want to remember Grace Hopper’s famous law, “It is better to beg forgiveness than to ask permission.” Along with Frank Zappa’s: without deviation, there is no progress.
Without the “expert” title my say has little to no value.
A damned shame, isn’t it? There are some employers that seem to give their people lots of freedom and responsibility. I can assure you that pays off. When I visit the States, I go to Nordstrom’s. A couple of years back, I tried to buy a particular shirt in a particular colour. They were out of stock. I was only in town for a few days. The salesman arranged to have the shirt I wanted Fedexed from a store in Houston to the store where I was in Baltimore. I bet they lost money on that sale. What they may realize (and what other retail chains don’t, presumably) is that since then, I’ve bought three more shirts at Nordstrom, and pretty much refuse to shop anywhere else.
As for your own say: I bet you’d have something interesting to tell the Merchandising Overlords about what your customers actually want, right here, right now. For my part, I’d like to remind them of this: in February in Toronto, I’m sure many people are excited about the Spring Collection that has just moved into the store. But it’s still cold outside in February, so you might want to consider that it’s a little early to be taking the hats and gloves off the shelf.
Remember, though: you don’t have to work for that retail chain. There are others. You’re really self-employed, even though you may not know it. If they don’t value your smarts, I’ll bet there are stores that do. I hope to meet you in one of them—or in a test lab or testing class one day!
[…] Rapid Software Testing teaches serious testing skills by empowering testers in a martial art approach to testing. Not by being nice and hug others. By teaching testers serious skills to talk about their work, say what they mean, stand up for excellence. RST teaches that excellent testing starts with the skill set and the mindset of the individual tester. Other things might help, but excellence in testing must centre on the tester. […]