Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.
Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.
TIMESTAMPS
The Wayback Machine - https://web.archive.org/web/20131005123545/http://www.sjbaker.org:80/humor/cardboard_dog.html
The Contribution of the Cardboard Cutout Dog to Software
Reliability and Maintainability.
by Stephen J. Baker.
Cedar Hill, Texas
Abstract
The contribution of the Cardboard Cutout Dog to Software generation and
maintenance is well known to practitioners of the software arts - but
perhaps many have forgotten how it came about. This
paper presents a retrospective of the evolution of this invaluable
technique and delves a little into the future development of the
technology.
Introduction
There are many techniques available (Waldstein76, IBM76, etc) which
have the goal of improving the quality of a computer program by
Showing It To Someone Else (SITSE). The Cardboard Cutout Dog is
merely the pinnacle of a long line of similar approaches.
A Myth About SITSE
Many proponents and practitioners of SITSE believe it works because
Two Pairs Of Eyes Are Better Than One (Dichter92 for example). However
as anyone who has attempted to explain 150 thousand lines of unpronouncable
gibberish to a co-worker will attest, the majority of the benefit is gained
by the person doing the explaining (the Walkthrough-er) and little if
any contribution comes from the person who is supposed to be listening
(the Walkthrough-ee).
It's generally the act of trying to understand why you wrote something
in a particular way (in order that you can coherently explain it) that
leads you to the inescapable conclusion that it's a load of male bovine
excrement and that you'd better rewrite that part.
It's also noticable that the co-worker to whom you are explaining will
lose track of your explanation approximately 30 seconds into your four
hour performance, and after just under two minutes will be in a mental
state best approximated by the term 'catatonic'.
What Can We Learn From This?
Since the person being walked though the code is catatonic - there
is no particular need to tie up an expensive engineering professional.
We first experimented with walking through code with secretarial staff,
management, office cleaners and various other staff at our facility.
We also tried to hire consultants on an hourly basis to perform this
function.
The results can be seen in table 1.
Table 1.
Walkthroughee
Attention Span
Distraction
Feedback
Cost
Engineer
30 seconds
10%
2%
$30/hour
Consultant
20 seconds
15%
1%
$200/hour
Secretary
14 hours
98%
1%
$20/hour (NOTE 1)
Middle Manager
20 seconds
85%
1%
$50/hour
Senior Manager
0.64 picoseconds
118%
1%
$100/hour (NOTE 2)
Office Cleaner
10 minutes
50%
11%
$10/hour
Restroom Attendant
8 minutes
50%
14%
$5/hour
Note 1: "My computer crashes like that too".
Note 2: "Can't we work smarter - not harder"
As you can see, results were mixed but between the tendancy for
the Walkthroughee to distract the Walkthrougher and the general
lack of useful feedback, the best candidate for the job appeared
to be the rest room attendant. Regrettably he generally has other
more important duties to perform and his availability at all times
of day is patchy at best.
Late one night, we had something of a breakthrough. Realising
that the attention span of the Walkthroughee was irrelevent to
the task in hand, one of our staff attempted to walk through
a short code segment with the office cat (Tinkerbell). This attempt
was almost successful - failing only because the cat was clearly
unable to see the computer screen and fell asleep rather faster
than either the Engineer or the Consultant. However, the cat's
Distraction to Feedback Ratio (DFR) was comparable to the other
Walkthroughee's and the cost was (remarkably) even lower than
the Restroom Attendant.
We were but a small step away from a major breakthrough - and
it was only when we tried the test again with another animal
subject - to whit: Jake the Yellow Labrador - that we hit upon
a winning formula.
Jake was able to sit on the office chair and look back and
forth between Walkthrough-er and the CRT display maintaining a
look of intelligence for almost an hour - requiring only the
provision of several Dog Biscuits (dB's) and the application
of an occasional scratch behind the ear to maintain concentration.
The Sad Demise of Jake
Jake served as our key code review expert for many years (Dog
Years that is) - but finally was lost to the organisation when
he starved to death during an especially complete checkout of
the Transaction Interchange Manager's Scheduling Algorithm.
Faced with looming deadlines, we had to take some drastic
action in order to bring the project in on time and in budget.
Visiting our local pet store in search of a suitable replacement
for this Canine code expert, we observed a life-sized promotional
display for Poochie-Chunks which comprised a cardboard cutout
dog of unspecified breed. Once again, in our hour of need we
had a breakthrough.
The Cardboard Cutout Dog Code Walkthrough (CCD-CW) was born.
To this day, programmers everywhere have the by now familiar
cardboard cutout
dogs. Sitting - forever alert - never distracted and virtually
maintenance free throughout even the longest sessions. Truly
the software industry owes a lot to Jake and the unsung
heroes at the Poochie-Chunks marketting department.
Recent Developments
It has been reported from some of the racier parts of the
computer games business that inflatable sex toys are
supplanting the cardboard dog as the Walkthroughee of
choice - but for my tastes, they seem to present a
look of perpetual suprise which somehow leads me to suspect
that I have a dangling pointer or some such.
Others have attempted to use live Parrots, Goldfish
or imaginary six-foot tall white rabbits - but somehow
explaining the subtleties of an unwrapped hash table
lookup to a Parrot that talks back, a Goldfish who
is swimming in the opposite direction at the critical
moment - or an empty chair - lacks the necessary
disciplinary focus to keep me explaining my code
rather then playing net-hack.
Efforts by Microsoft Inc to provide an animated dog (or
God forbid, a Dancing Paper-Clip) as an on-screen
Walkthroughee have been disappointingly ineffective.
Conclusions
Unless you are writing in Pascal, steer clear of Poodles
(especially the smaller breeds). Shitzu's and Pugs are
poor for Object-Oriented code. Yappy dogs in general
are to be avoided since thay are at best annoying -
and have been reported in the literature as being particularly
poor at detecting off-by-one errors and misplaced parentheses.
The calm face of a Labrador - or for some, a Cocker
Spaniel - fits the need for a steadying influence. A calm,
understanding demeanor and nice, droopy ears. Some will claim that German
Shepherds are better for alertness to subtle rounding errors - others
prefer a Greyhound where race conditions are suspected in the code.