Design
monkeys
on
your
back
In
the
real
world,
as
you
work
to
design
software,
you
have
several
concerns
to
keep
in
mind
--
several
"monkeys
on
your
back."
Each
monkey
competes
with
the
others
for
your
attention,
trying
to
convince
you
to
take
its
particular
concern
to
heart
as
you
work.
One
large,
heavy
monkey
hangs
on
your
back
with
its
arms
around
your
neck
and
repeatedly
yells,
"You
must
meet
the
schedule!"
Another
monkey,
this
one
perched
on
top
of
your
head
(as
there
is
no
more
room
on
your
back),
beats
its
chest
and
cries,
"You
must
accurately
implement
the
specification!"
Still
another
monkey
jumps
up
and
down
on
top
of
your
monitor
yelling,
"Robustness,
robustness,
robustness!"
Another
keeps
trying
to
scramble
up
your
leg
crying,
"Don't
forget
about
execution
speed!"
And
every
now
and
then,
a
small
monkey
peeks
timidly
at
you
from
beneath
the
keyboard.
When
this
happens,
the
other
monkeys
become
silent.
The
little
monkey
slowly
emerges
from
under
the
keyboard,
stands
up,
looks
you
in
the
eye,
and
says,
"You
must
make
the
code
easy
to
read
and
easy
to
change."
With
this,
all
the
other
monkeys
scream
and
jump
onto
the
little
monkey,
forcing
it
back
under
the
keyboard.
With
the
little
monkey
out
of
sight,
the
other
monkeys
return
to
their
positions
and
resume
their
activities.
--
From
"Introduction
to
"Design
Techniques",
Javaworld
Feb
1998