My last post used testing to illustrate the consequences of questionable personal behavior on a business situation. Quality is susceptible to personal and professional gaps that interact to amplify each other’s effects.
Why is that so? Let’s start with the examples I used. Recall that business process owners simply copied the unit tests of the developers to serve as user acceptance tests. I characterized this approach as a failure of accountability: the process owners didn’t believe it was their “real” job, even though they knew they would have to certify the system was fit for use. Less charitably, one could have called it laziness. More charitably, one could have called it efficiency.
And indeed, an appeal to efficiency underlay the rationalizations of these owners: “Why should I create a new test when the developer — who knows the system better than I do — has already created one?” How would you answer this question? As a leader, do you know the snares such testing practices lay in your path? Off the top…
- Perpetuating confirmation bias: By the time someone presents work product for formal, published testing, he or she has strong incentives to conduct testing that proves that the work product is complete. After all, who doesn’t want his work to be accepted or her beliefs confirmed? This issue is well-known in the research field, so one should expect that even the most diligent developer will tend to select testing that confirms that belief. An example is what on one project we called the “magic material number”, a material that was used by all supply chain testers to confirm their unit and integration tests. And the process always worked…until we tried another part number.
- Misunderstanding replicability: “Leveraging” test scripts can be made to sound like one is replicating the developer’s result. I have had testers justify this short cut by appealing to the concept of replicability. Replicability is an important part of the scientific process. However, it is a part that is often misunderstood or misapplied. In the case of copied test plans, the error is simple. One is indeed following the process test exactly — a good thing — but applying it to the same test subject (e.g., same part, same distribution center, etc.). This technique means that the test is only applied against what may be “a convenient subset” of the data.
- Impeding falsifiability: This sounds like a good thing, but isn’t. In fact, the truth of a theory — in this case, that the process as configured and coded conforms to requirements — is determined by its “ability to withstand rigorous falsification tests” (Uncontrolled, Jim Manzi, p. 18). Recall the problem with engaging users in certain functions? These users’ ability to falsify tests makes their disengagement a risk to projects. Strong process experts, especially those who are not members of the project team, are often highly motivated to “shake down” the system. Even weaker process players can find gaps when encouraged to “do their jobs” using the new technology using whatever parts, customers, vendors, etc. they see fit.
I hope this example shows how a personal failing damages one’s professional perspective. No one in this example was ignorant of the scientific method; in fact, several had advanced hard science or engineering degrees. Nonetheless, disagreement who owned verifying fitness for use led to rationalizations about fundamental breaches in testing.