12.4 Defining and classifying human error


12.4 Defining and classifying human error

12.4.1 Defining human error

In their summary of 1980 and 1983 Conferences on the Nature and Source of Human Error, Senders and Moray [SM91] document a number of different ways of defining human error. The consensus definition is that errors are all those occasions in which a planned sequence of mental or physical activities fails to achieve its intended outcome, and these failures can’t be attributed to the intervention of some chance agency.

There were considerable differences in the terminology used to define errors at the conference Senders and Moray documented. The most popular terminology comes from the definition of error itself. Slips and lapses are defined as failures in the execution, storage, or both of an action sequence, regardless of whether the guiding plan was adequate to achieve its objective. Mistakes are defined as failures in judgment or inference processes involved in the selection of an objective or in the specification of the means to achieve it. Thus, slips and lapses are execution problems, and mistakes are planning problems.

12.4.2 Classifying different errors

Senders and Moray discuss a number of different ways of classifying errors that were discussed at the conference they documented. The phenomenological approach is useful for computing reliability rates. It distinguishes omissions, substitutions, and so forth. The internal processes approach is useful for understanding decision errors. It describes errors in terms of capture, overload, and so forth. The neuropsychological approach is useful for organizational engineering. It describes errors in terms of forgetting, stress, and attention. The neurological events approach was deemed useless. The external events approach is useful for designing systems. It correlates human error with equipment design, user interfaces, and so forth.

It would seem obvious that errors in execution (slips) and errors in planning (mistakes) should correspond to different cognitive operations. Experimental evidence contradicts this assumption. Both slips and mistakes can take the same form. Numerous well-documented errors have been shown to have properties of both slips and mistakes. These observations led Reason [Re90] to adopt Rasmussen’s [Ra86] three-level hierarchy of human cognition.

Reason developed Rasmussen’s ideas and distinguished between skill-based slips and lapses, rule-based mistakes, and knowledge-based mistakes. This is a refinement of the slips/mistakes dichotomy that was popularized both by Norman [No90] and Reason.

Rasmussen developed a three-level classification of human performance from the study of errors in emergency situations in hazardous-process industrial facilities. He first observed the distinction in studying the behavior of technicians who were troubleshooting electronic systems. The analogy between diagnosing problems in electronic hardware and debugging computer software is obvious. The hierarchy has become widely used in the analysis of systems reliability.

The lowest level of human performance is skill-based. At this level, behavior is controlled by stored sequences of actions in time and space. Errors that occur when people are engaging in skill-based performance are related to coordination of space, time, and force.

The middle level of human performance is rule-based. At this level, behavior is controlled by stored if - then rules. Errors that occur when people are engaging in rule-based performance happen under two general categories. In some errors, the conditions in the if part of the selected rule aren’t completely matched to the actual problem at hand. In other errors, the procedures in the then part of the rule aren’t the best means of handling the conditions.

The highest level of human performance is knowledge-based. At this level, behavior is controlled by conscious logical and analytical reasoning. Errors that occur when people are engaging in knowledge-based performance fall into two general categories. In some errors, resource limitations of the conscious mind cause problems. In other errors, the actor applies incomplete or incorrect knowledge.

12.4.2.1 Skill-based behavior

The lowest level of behavior is skill based. An experienced programmer can type any number of low-level programming constructs without conscious thought. The constructs are lexical constructs of the language and the most stereotypical low-level syntactic constructs.

Novices have to think about how to compose these constructs. In contrast, an experienced programmer can type an array reference or a procedure call, for example, without thinking about where the punctuation goes or where the indices or argument values are placed.

12.4.2.2 Rule-based behavior

Much of an experienced programmer’s routine behavior is rule-based. The rules encode the experience of the programmer in a way that can be applied with much less effort than a novice will apply to solving the same problem.

The rules that programmers apply vary with the language they’re using. Rules may not cover all possible cases. They may be based on incorrect information or lack of information. They are always dependent on the expertise of the programmer, which varies greatly, both between novices and experts and between experts of varying degree. Rules are normally implicit, and a given programmer almost certainly hasn’t articulated them.

The following rules for representing sets would be appropriate for C programmers:

  • If the sets are subsets of a fixed universal set of counting or whole numbers and the most frequent operations will be union, intersection, and difference,

    Then represent the sets as vectors of bits, in which a given bit is true if the corresponding integer is in the set.

  • If the sets are homogeneous collections of integers, reals, or character strings, and the most frequent operations will be union, intersection, and difference,

    Then represent the sets as sorted linked lists.

  • If the sets are homogeneous collections of integers, reals, or character strings, and the most frequent operations will be membership, insertion, and deletion,

    Then represent the sets as red-black trees.

This set of rules, while far from perfect, is quite reasonable. It provides good performance and covers a wide number of cases.

A C++ programmer who isn’t familiar with the Standard Template Library (STL) might use the same set of rules. If he or she is familiar with the STL, he or she might use the following rules:

  • If the sets are subsets of a fixed universal set of counting or whole numbers,

    Then represent the sets using the STL Bitset class.

  • If the sets are homogeneous collections of integers, reals, or character strings,

    Then represent the sets using the STL Set class.

Note that the rules don’t cover all cases. Sets that are inhomogeneous collections of integers, reals, and strings aren’t covered. Sets whose members can be other sets aren’t covered. Neither are sets whose members can’t be enumerated, but must be described by an expression, and which are potentially infinite in size. If the programmer encounters a situation in which such sets are required, he or she will move from rule-based reasoning to knowledge-based reasoning.

12.4.2.3 Knowledge-based behavior

The relationship between skill-based errors, rule-based errors, and knowledge-based errors, as described by Reason, is presented in Table 12.1.

Table 12.1: Distinctions between Skill-Based, Rule-Based, and Knowledge-Based Errors

Skill-Based Errors

Rule-Based Error

Knowledge-Based Errors

Type of activity

Routine actions

Problem-solving activities

Problem-solving activities

Focus of attention

Elsewhere than problem

Problem-related issues

Problem-related issues

Control mode

Schemata

Schemata

Conscious processes

Predictability of error types

Predictable: Actions

Predictable: Rules

Variable

Ratio of error to opportunity

Numbers high, opportunity small

Numbers high, opportunity small

Numbers small, opportunity high

Influence of situational factors

Intrinsic factors dominate

Intrinsic factors dominate

Extrinsic factors dominate

Ease of detection

Usually rapid and effective

Difficult

Difficult

Relationship to change

Departure from routine

Anticipated changes

Unanticipated changes

From Reason, p. 62. Reprinted with the permission of Cambridge University Press.

When people make skill-based errors, they’re performing routine actions, but when they make rule-based errors or knowledge-based errors, they’re engaged in problem-solving activities. When people make skill-based errors, their focus of attention is elsewhere, but when they make rule-based errors or knowledge-based errors, their attention is focused on problem-related issues. When people make skill-based errors or rule-based errors, their thoughts are controlled by stored pattern-matching schemata, but when they make knowledge-based errors, they’re engaged in conscious logical thought.

When people make skill-based errors or rule-based errors, the numbers of errors are relatively high, but the opportunities are few; when they make knowledge-based errors, the number of these errors is small, but the opportunities are many. When people make skill-based errors or rule-based errors, intrinsic factors are dominant; when they make knowledge-based errors, extrinsic factors are dominant. When people make skill-based errors, they usually find the errors quickly and correct them effectively; when they make rule-based errors or knowledge-based errors, the errors are much harder to detect and correct.




Debugging by Thinking. A Multidisciplinary Approach
Debugging by Thinking: A Multidisciplinary Approach (HP Technologies)
ISBN: 1555583075
EAN: 2147483647
Year: 2002
Pages: 172

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net