Move rapidly by doing less
Overview
This is the eleventh article in the series of twelve articles “XII Perspectives to High Performance QA”, outlining interesting & counter intuitive perspectives to high performance QA aligned on four themes of Language, Thinking, Structure & Doing.
In this second article under the theme of ‘DOING’, we outline how the act of execution can also be speeded up by use of a smart checklist, which provides a significant intellectual leverage to how we do.
---
Long distance running is not just about raw power, nutrition or apparel, it is about great running form. It is about expending less energy and then going the distance rapidly.
Running Form
"When we maintain good body position—head over shoulders, shoulders over hips, hips over the mid-foot upon landing and arms swinging directly ahead—we run with good form and use less energy to run faster." - Brendan Cournane (From "Good Running Form for Beginners"). It requires each part of body to be strong enough to do a specific job, and well coordinated effortlessly to enabling running fast and going the distance.
How can we benefit from this to test rapidly? Well, decompose the larger system-under-test into well formed entities of appropriate granularity- (1) the building blocks 'Structural Components', (2) the elemental behavioural pieces 'Technical Features', (3) the meaningful 'User Requirements' and finally (4) the useful 'Business Flows" with a clear focus of what issues to look for in each of these. The picture below depicts the system-under-test as two dimensional, the x-axis depicting the type of entity divided into four strips of differently granular entities whilst the y-axis depicts various types of tests that need to be done to uncover specific issues. My prior article "The 4W to structuring a problem well" outlines this in greater detail.
So how can we evaluate an entity ? Well we have THREE choices : (1) HUMAN - come up with scenarios and then execute it manually (2) AUTOMATED - come up with scenarios, convert them into automated scripts, and then execute these in an unattended fashion (3) HUMAN aided by Smart Checklist - leverage the problem solving already available, say in an aid like checklist and execute it manually (or automate if possible). How is this different from (1-HUMAN) ? Well this is like the 'running form'; a well setup checklist is really a Smart Checklist that allows us to do effortlessly, effectively and yet be rapid. A checklist, really? Hmmm...
The power of checklist
On Oct 30, 1985, a massive plane that carries 5x more bombs roared and lifted off from the airport in Dayton, Ohio and then crashed. The reason cited was “Pilot error”. A newspaper reported, “this was too much airplane for one man to fly”. Boeing the maker of this plane nearly went bankrupt.
So, how did they fix this issue? By creating a pilot’s checklist, as flying a new plane was too complicated to be left to the memory of any one person, however expert. The result: 1.8 million miles without an accident!
In a complex environment, experts are against two main difficulties: (1) Fallibility of human memory, especially when it comes to mundane/routine matters which are easily overlooked, when you are strained to look at other pressing matters of hand (2) Skipping steps even when you remember them, as we know that certain steps in a complex process don’t matter. Checklists seem to provide against such failures and instill a kind of discipline of higher performance.
The Checklist Manifesto by Atul Gawande, a surgeon, extols the power of checklist. He states that any problem can be categorised into simple, complex and complicated, and how the smart checklists can solve these. Checklists seem to defend everyone, a kind of cognitive net designed to catch flaws of memory and attention.
In other mature disciplines like medicine, aviation, construction where the impact of simple defects is enormous, it is 'Smart Checklists' that have come to the rescue and saved millions of dollars and saved many lives.
‘Simple’ problems are those that are individualistic in nature with a set of stuff to be done, while ‘Complicated’ problems implies multiple teams/people with coordination/timing issues, and ‘Complex’ problem is where outcomes are different despite the same application. Read in detail in "Design checklists to "Do, Sync and Act".
SMART CHECKLISTS make you think
Smart checklists are not about mindless compliance, not about ticking boxes, it is really about tickling the brain to think better and ensure fault-proofing rapidly. In our industry, checklists have been seen a cheap brainless activity that is about ticking checkboxes, and therefore presumed to be useless. A checklist needs to allow for judgement to be used in the tasks rather than enforce compliance, so that actions may be taken responsibly. Hence, a Smart Checklist is about enabling your thinking process by having:
- Set of checks to help you COMPLY, to ensure stupid but critical stuff is not overlooked
- Set of checks that act as a GUIDE, to help you consider, ensure coordination
- Set of checks that help you STIMULATE thinking/analysis, to take responsible actions
Smart Checklist is really a problem solving tool consisting of solution that can be appropriately contextualised. To use the testing phraseology, they look like 'test scenarios' that could be mix of simple low level compliance stuff (1-COMPLY) and higher order meta scenarios that act as an intellectual aid to craft appropriate scenarios rapidly at 'test run time' (2-GUIDE & 3-STIMULATE).
So how do they enable "Move rapidly by doing less"? By giving you a pre-formed design, saving you significant intellectual design time/effort and enabling you to do rapidly with a sharp focus when done manually.
For different types of entities, what the mix of (1-HUMAN), (2-AUTOMATED), (3-HUMAN aided by Smart Checklist) may be different as outlined in the picture below.
Role of tools for machines and humans
In today's world, where the focus is on doing rapidly, tools play a significant role in executing the various test activities, be it setting up environment, creating data sets executing scenarios, enabling reporting and management. Do understand that there is cost, time and effort in scripting to getting the machine to do. Is that the only option for speed? Potentially simple tools for humans but 'smart ones' like SMART CHECKLIST can provide significant leverage to "Move rapidly by doing less".
Summary
The act of testing consists of a formulating a strategy, designing scenarios and then executing these. The latter (execution) is what we focus on most often, automating them to speed up testing. Thinking holistically the former two (strategy, design) can be also be speeded up via the use of 'Smart Checklists' especially when human testing is necessary or automated testing may be more expensive, and yet be rapid.
---
CLICK HERE to read the previous article "Doing less and accomplishing more" that outlines as to what it takes to do less and accomplish more by not doing at all, by doing early to do less later, and doing less by doing what is only necessary and finally delegating the act of doing to tools.
Investing in a solution that addresses a prevalent challenge in the Indian Business Ecosystem.
6 个月Good one??