Good morning, class. Today, we are going to learn a new word â€“ Heuristication. Heuristication is a state of sophistication in dealing with and applying Heuristics as an element in an overall test methodology.
What does Heuristication look like? How can you identify it? Well, in order to answer those questions, first we have to understand what heuristics themselves are.
A heuristic is a fallible method for solving a problem. â€œFallible?â€, you may ask, â€œWhy would I want to use something thatâ€™s fallible?â€ Well, lets look at a slightly different wording of that same ideaâ€¦a heuristic is a general rule of thumb that works most of the time. Now we can begin to see the value. It is general, and works most of the time, so it can provide a solution quickly, without thinking very hard or very long about it.
Here is an example of a good heuristicâ€¦15% is a good tip for your waiter. Now, a waiter may immediately argue that 18% is more appropriate, but the point is to solve a problem quickly without having to think too hard, and 15% is much easier math. On the other hand, if you are wining and dining a major client in the fanciest restaurant in town, 15% may not be even close to appropriate. So in that case the rule fails. So it is a general rule that supplies a fast easy solution to the problem most of the time, but it may not provide the right solution all of the time.
So if that is a heuristic, then what is heuristication?
The first symptom of heuristication in a tester is the displayed ability to draw from a long list of heuristics they carry around in their head. Depending on the tester, they may display this very emphatically as they test, for example â€œI canâ€™t reproduce that bug right now, but the Dead Bee heuristic tells me I canâ€™t just ignore it until I have strong evidence that it has been repaired.â€ On the other hand, they may apply heuristics in a way that is not obvious to the observer, but when questioned about their tactics, can immediately justify them. For example, when given a product, with little experience with that product, and scant documentation, and being asked to ascertain itâ€™s suitability for release, a tester may embark on a series of seemingly random activities; but when you ask him why he is doing what he is doing, he will reply â€œWell, I am applying a heuristic that says if I validate every functional claim made in the marketing material and on the web site, since I have no other better source of information to tell me what the application should do, then it is suitable for release to end users, who also will have no other more specific guidance.â€
That is a decent level of displayed usage, but the term Heuristication also implies the ability to synthesize new heuristics out of your own experiences. A great example of this is the The Gilbertian Squirrel Dodge, a heuristic of mine that reminds me not to react out of panic. This heuristic was created when a squirrel ran right into my foot while trying to run away from me. This ability to create new heuristics is vital, because a heuristic needs to be a personal thing. It should not be just a checklist of things to do, but a collection of ideas, each of which embodies and evokes strong mental images and emotional and cognitive reactions. These additional elements help anchor the heuristic in our mind, and provide strong frames of references for itâ€™s use, as well as cognitive mappings which should serve to bring the heuristic to our attention at the time when itâ€™s use is appropriate. But they also help to transfer the knowledge to others. Just like stories have been used for centuries to transfer information, such as history and lineage, because they put that information in a frame of reference that has emotion and entertainment entertwined, so a good heuristic, when shared, will pass along a good idea, but it will also ensure the person hearing it remembers and understands by virtue of the way the idea is presented. So the ability to create strong heuristics is a requirement for Heuristication.
But we must not forget that a heuristic is a fallible method for solving a problem, and that possible fallibility must be evaluated before the heuristic is applied. Just as under tipping the waiter in the fancy restaurant could be disastrous for the business deal you are trying to win, applying any heuristic at the wrong time could create more problems than it solves. So another element of Heuristication is the ability to critically consider a heuristic in the context of itâ€™s proposed usage, and determine whether or not it truly applies. This takes practice and experienceâ€¦Heuristication cannot be purchased in a bottle. Like any skill, it is something that evolves from work. A heuristic encapsulates a problem, a frame of reference, and a plausible solution, all in one package. Before implementing the solution, it is imperative to insure that the problem and frame of reference are properly applicable. James Bachâ€™s commented to me after reading the original post, â€œThis is what I think elevates the phrase "heuristic reasoning" above the everyday idea of rules of thumb and guidelines.â€
Finally, Heuristication requires a knowledge of other well founded heuristics, in addition to your own. Not only should you be able to create, and pass along, heuristics, but you should also be able to receive and assimilate them. Ultimately, groups of heuristicated testers will develop a common lexicon of heuristics that can be used in any testing environment, with any other sufficiently heuristicated testers, whether they have worked together in similar situations before or not. Much like the old joke where the office staff had been together so long that rather than telling entire jokes, they simply recited the punch line, and everyone laughes, a tester, when with a group of other heuristicated testers, pondering a test problem, should be able to simply say â€œDead Beeâ€, or â€œ Remember the Squirrelsâ€, and mental light bulbs should light up all over the room, because the heuristic carries such a strong mental model with it that everyone immediately sees and understands the relevance, the point being made, and the implications for what needs to happen next. There is very little debateâ€¦much of the debate has already occurred long ago, and the heuristic encapsulates that debate, and much of the proving out of the validity of the concept being put forth. By bringing us to a known starting point, at the very heart of the debate already, the heuristic becomes a powerful, time saving tool.
So when we Pirate the Cicada Killer Wasp
client that we didnâ€™t see coming, and begin to Paint The Room, only to ultimately Remember The Squirrels, perhaps we will have better luck keeping in mind that FCC Cuts Vids, rather than Kid Tested, Mother Approved, SanFrancisco Depot, Krushpic Shtemple (A Romanian hockey all-star), and Feds Fescura! (A popular workers rights chant in ancient Rome).
Because the point, after all, is to quickly find a solution to the current problem.
(Many thanks to James Bach and Mike Kelly for their comments and suggestions)