Thursday, February 19, 2009

Arrant Assumptions

arrant (adj): notoriously or outstandingly bad

Over at Watts Up With That today, Gregg Polowitz picked up an editoral from Machine Design that compared financial models and climate models (h/t Planet Gore):

Amid all the hand-wringing about financial systems in meltdown mode, the subject of modeling hasn’t gotten a lot of notice. Banks and other financial institutions employed legions of Ph.D. mathematicians and statistics specialists to model the risks those firms were assuming under a variety of scenarios. The point was to avoid taking on obligations that could put the company under.

Judging by the calamity we are now living through, one would have to say those models failed miserably. They did so despite the best efforts of numerous professionals, all highly paid and with a lot of intellectual horsepower, employed specifically to head off such catastrophes. [...]

“In risk modeling, you use a lot of statistics because you want to learn from the past,” says Groenendaal. “That’s good if the past is like the future, but in that sense you could be getting a false sense of security.” [...]

Therein lies a lesson. “In our experience, people have excessive confidence in their historical data. That problem isn’t unique to the financial area,” says Groenendaal. “You must be cynical and open to the idea that this time, the world could change. When we work with people on models, we warn them that models are just tools. You have to think about the assumptions you make. Models can help you make better decisions, but you must remain skeptical.” [Emphasis added.]

Oh, those pesky assumptions. We engineers would never fall into that trap – or would we?

My long experience with system integration has made me conclude that systems fail when assumptions are broken. And many of our assumptions are tacit, unspoken, and undocumented; assumptions that cause real headaches during the integration phase.

We make assumptions about the users, the environment, the materials, the subcontractors, the economy, the technology trends, and our own infallibility.

We do studies on a few variables, assuming ceteris paribus – all else remaining the same. We assume operational parameters will stay in the linear range. We assume that the future will look like the past.

We tend to design around only those problems that have bit us in the past or been incorporated into industry standards and regulations such as the National Fire Codes.

Even the standardization of system engineering practices carries a set of assumptions, such as:

  1. Proper decomposition and allocation of requirements into smaller and smaller pieces, plus proper interface management, will allow the finished product to be assembled and integrated with few problems.
  2. Stick to the process, and quality will follow.
  3. If quality is lacking, see #1.

These tacit assumptions ignore the reality that similar teams with similar projects can have wildly different levels of success depending on intangible factors like leadership, vision, and morale.

Poor assumptions, compounded by dysfunctional organizational behaviors, can be costly. Just ask the team behind the lost Mars Climate Orbiter about their assuming everyone would use metric measurements. (NASA's root cause analysis found lots of contributing errors.)

P.S. The comment thread at Watts Up With That is well worth the read.

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home