394 12.5 Explaining error causes
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 oppor-
tunities 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.
12.5 Explaining error causes
12.5.1
There are many possible causes of errors, and the relationship between them
is complex. The result is that predicting error timing isn't possible. It is possi-
ble to identify circumstances that increase the probability of errors. When
novices in a given competence domain make errors, these errors result from
incompetence and are mostly random. When experts in a given competence
domain make errors, they result mostly from misplaced competence.
Experts have a lower probability of making planning-oriented mistakes
and a higher probability of making an execution-oriented skilled slip. It is
easier to prevent an error that is the result of the conjunction of many
causes than it is to prevent an error that has a single cause. All you have to
do is break the causal chain anywhere to prevent the error from occurring.
Skill-based errors
Most errors that occur at the skill-based level fall into two categories.
Inattention
occurs when you fail to make an attention check at an impor-
tant point while executing a routine sequence of actions. These types of
errors often occur when the sequence is about to deviate from a standard
pattern.
Overattention
occurs when you make an attention check at an inap-
propriate point while executing a routine sequence of actions.
12.5.2 Inattention failures
12.5.2.1
Interrupt sequence, start another
sequence
Reason refers to these types of errors as double-capture slips, while Norman
refers to them as capture errors, and Silverman [Si92] refers to them as cap-
ture slips.
12.5 Explaining error causes 395
These errors occur when the majority of your attention resources is
claimed by internal or external distraction at a critical point in the execu-
tion of a sequence of actions. When it's time to continue execution of the
sequence, a sequence that has stronger weight and the same initial set of
steps hijacks the execution.
The conditions for this error are the following:
9 You are doing an activity that you have practiced often.
9 You intend to perform some variation on this activity.
9 The standard form of the activity and the variation have a common
initial sequence of steps.
9 You fail to pay attention at the place where the two sequences of steps
diverge.
The following is a programming example of this type of error. Almost all
counted loops use a step value of one. In C++ or Java, most counted loops
begin with an initial value of zero. Experienced programmers write such
loops as a single idiom without conscious thought. If you need to make the
loop step in increments of two, rather than one, and you're distracted as you
begin writing the increment step, you may end up with the following code,
rather than the intended version below it:
/ /
actual
for( counter:O; counter<limit; ++counter )
/ / intended
for( counter:O; counter<limit; counter +: 2 )
12.5.2.2 Interrupt sequence, omit step
Reason refers to these types of errors as omissions following interruptions,
while Silverman refers to them as omissions due to interruptions.
These errors occur when the majority of your attention resources is
claimed by internal or external distraction at a critical point in the execu-
tion of a sequence of actions. When your attention returns to executing the
sequence, you omit one or more steps from the sequence and continue on.
These errors are more likely if you performed some action that will be
treated as a substitute for the next step of the sequence.
I Chapter 12

Get Debugging by Thinking now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.