Professional Documents
Culture Documents
Complexity in Design: M O N R T
Complexity in Design: M O N R T
Complexity
If the designer knows what she’s
doing, the design incorporates existing
lore—only the desperate or suicidally
naive would attempt a product with no
in Design
familiar or known-trustworthy com-
ponents—but it can’t be based only on
known components.
The nature of engineering is to never
design exactly the same thing twice.
Bob Colwell
Every new design pushes the envelope
somewhere: performance, cost, relia-
bility, features, capacity. Inevitably,
some aspects of the new design will be
t its most basic, what engi- outside the existing experience base.
A
neers do is pit their intel- That’s the part of engineering you
lect, training, experience, don’t learn in school. And assuming
and intuition—and that of two competing design teams are tech-
their design teams—against nically proficient and reasonably well
an implacable, relentless adversary: led, it’s what these teams decide to do
nature itself. I don’t mean that an actual in these unknown areas that will
battle is going on; after all, only one of largely determine which design ulti-
the would-be combatants even knows mately triumphs.
(or cares) that there is any contest. How well you So how do you handle the wilder-
When nature is the adversary, all that ness areas of your design, those places
stands between the engineered product handle your beyond your comfort zone and the
and disaster is the product designers’ design comes safety of your tools and direct experi-
foresight, wisdom, and skill. Nature ence? I think the answer comes down
may not have maliciously chosen just
down to how to how well you handle complexity.
the right wind pattern to demolish the well you handle
Verrazano Narrows Bridge, but bridges complexity. WHAT IS COMPLEXITY?
must not fall down no matter how the People who study chaos theory speak
wind is blowing. It may not literally be of a related complexity theory. They’re
true that nature is conspiring against trying to figure out why certain pat-
you, but it’s a very good way to view terns seem to appear at many different
the general engineering challenge. much. The real art of engineering, its levels of abstraction in natural phe-
Forewarned is forearmed. sine qua non, is in evaluating a pro- nomena; fractals are an example.
Students of engineering are first posed design from every angle and Scientists and engineers learn early
taught to “follow the rules”—guide- vantage point to make sure a design that patterns often mean something
lines for design that have proven over will achieve its goals and prove reliable important, so when the chaos theorists
time to result in systems that behave as over its intended lifespan. see the same pattern appear in seem-
intended. Civil engineers learn about When a simulation says a design is ingly unrelated places, they sense that
traffic patterns and human driving working, ask whether the simulation is there is something here worth investi-
behaviors so they can design better correct and complete. If a formal proof gating. However, I don’t know if the
roads. They study strengths of materi- asserts that some aspect of the design way they use the word “complexity”
als so that their bridges will be eco- is correct, ask whether the proof itself is what I mean by that word. They
nomical and reliable. When a bridge is trustworthy. What makes you so sure adopted the term before I did, but I
collapses, the rules are changed to the implementation technology will don’t know of a better one, so for the
incorporate the hard-won learning. work as needed? What if the product sake of discussion, let’s assume the
specification itself has holes or blind chaos folks are chasing a different
THE ART OF ENGINEERING spots? What if your product’s buyers chimera than I am.
But that’s not all there is to it. If engi- like it so much that they begin using it Even though you can’t tell it by look-
neers only had to follow a set of direc- in ways you hadn’t intended—can you ing at the math they use, physicists
tions, we wouldn’t need engineers; anticipate that so the product will strongly prefer simplicity in their mod-
computers and robots can do that gracefully accommodate its new uses? els. Dissatisfaction with the “particle
October 2005 11
At Random
this is perhaps the most insidious issue have a practical grasp of the project’s that complexity is well justified.
of all: When faced with a complex sit- complexities, with enough margin to It’s also true that what initially looks
uation, you generally know that you handle the usual surprises down- impossibly complicated may seem
aren’t yet in command of all the neces- stream, great. Today will be a good day quite reasonable after a period of study
sary details. This in itself isn’t alarm- and you won’t have to think about this and experience. In part, you just get
ing; it takes time to understand what again until next week, when you must used to it; you find that you can
hundreds of people are doing or intend confront the same issue again. But remember the various pieces, their
to do. But you can’t leave it like that. what if you decide that things seem to roles, and how they interact. You also
One option is to insist that all of the have gotten a bit too close to the edge? find ways of thinking about what those
unknowns be researched and quantified What do you do then? pieces do, mental models that you
so that your spreadsheet can tell you internalize—thus they constitute no
what to do. But this scheme doesn’t tax on your cognition.
work. Your project doesn’t have enough It’s always possible to I remember how thunderstruck I
time or idle engineers to do this much design something so was in college after struggling with
new work; besides, not everything you complicated that you some formidable mathematical con-
want to know about your project is can never get it right. cept only to have a fellow student
knowable, much less quantifiable. point out how simple it was when
Complexity exacts a toll in many viewed in the right way. This familiar-
ways. In my January 2004 At Random ization effect must also be considered
column (“Design Fragility,” pp. 13-16), WHY NOT JUST SIMPLIFY when you’re judging how much com-
I argued that complex designs are more EVERYTHING? plexity a design project should include.
fragile and lead to more surprises Why not just make everything sim-
(which are always bad). Complexity ple? As Einstein said, everything
leads to longer development schedules; should be as simple as possible, but no design’s complexity must serve
it directly causes design errata; it fos-
ters suboptimal tradeoffs between com-
peting goals; it makes follow-on designs
simpler.
Have you ever taken a close look at
an acoustic grand piano? The compli-
A a project’s major goals. If your
design is complicated but coher-
ent, challenging but understandable,
much more difficult; and it’s cumula- cated mechanism in which the player’s you may have struck a good balance
tive, with new designs inheriting all of fingers cause hammers to fall on between irreducible complexity and
the complexity of the old and with new strings, which are damped to varying the project’s goals.
complications layered on top. degrees and at varying times, is exquis- Strive to avoid creeping complexity,
Increased project complexity also itely subtle and quite involved. Perhaps the kind that arises from unintended
shrinks the available pool of engineers there’s a way to simplify that mecha- interactions among multiple unrelated
who can help when things go awry. nism without sacrificing the combina- design decisions. Eschew complicated
Any competent designer can make easy, tion of tone and playability that has machinery that isn’t clearly and prov-
straightforward choices, but for truly selectively evolved over hundreds of ably necessary to attain one or more of
gnarly situations, only wizards will do. years. But it seems likely that most of the major project goals. If you aren’t
And there are never enough wizards. a piano’s complexity is necessary sure you need some logic in your
Stanford’s John Hennessy once said because of how our fingers, feet, and design, keep asking questions until
that it’s always possible to design some- ears work. A skilled performer can someone either justifies it or agrees to
thing so complicated that you can never coax thunderous waves of sound or toss it overboard.
get it right. As a project leader, are you delicate susurrations; the mechanics of Entropy always drags a project in
smart enough to mentally absorb the the keys have the requisite dynamic the direction of increasing complexity;
remaining project unknowns on top of range. This complexity works. things never get simpler on their own.
what you already know to the extent A simple bow and arrow can be eas- Except for bad wine. On Tuesdays. ■
necessary to make good decisions on ily made; if the materials and work-
any remaining tradeoffs (some of which manship are good, a serviceable
haven’t even surfaced yet)? weapon can be achieved. But there are Bob Colwell, the 2005 recipient of the
To some extent, everyone on the other variations on that theme that IEEE Computer Society/ACM Eckert-
design team has this same problem. In work better—a compound bow using Mauchly Award,, was Intel’s chief IA32
considering a design’s overall com- pulleys achieves much higher arrow architect through the Pentium II, III,
plexity, you’re making the “smart speed at less draw weight, but at the and 4 microprocessors. He is now an
enough” choice on their behalf as well. cost of considerably higher complex- independent consultant. Contact him
If, after deep reflection, you believe you ity in its design. For what it achieves, at bob.colwell@comcast.net.
12 Computer