The Art of Project Management: Expert advice from experienced project managers in Silicon Valley, and around the world
TOPICS:

What’s wrong with complexity?

Technologists love intricate mechanisms. That’s why many of us, as kids, took things apart, and some of us even put them back together again.

In my training as an engineer, I enjoyed learning how mechanical, electrical and chemical things worked. And the more elaborate the mechanisms, the better the challenge and the satisfaction of getting the understanding.

We tend also to design things that are complex, particularly if we’re in software design, because software is layered into abstractions almost without limit. Database systems linked via networks to computational engines and on to user-interaction devices are full of opportunities to exercise our power of design in the face of complex interactions.

Yet complexity can be our undoing. Consider this from Andre Zolli’s article about the crash of Air France Flight 447:

It was complexity, as much as any factor, which doomed Flight 447. Prior to the crash, the plane had flown through a series of storms, causing a buildup of ice that disabled several of its airspeed sensors — a moderate, but not catastrophic failure. As a safety precaution, the autopilot automatically disengaged, returning control to the human pilots, while flashing them a cryptic “invalid data” alert that revealed little about the underlying problem.

Confronting this ambiguity, the pilots appear to have reverted to rote training procedures that likely made the situation worse: they banked into a climb designed to avoid further danger, which also slowed the plane’s airspeed and sent it into a stall.

Confusingly, at the height of the danger, a blaring alarm in the cockpit indicating the stall went silent — suggesting exactly the opposite of what was actually happening. The plane’s cockpit voice recorder captured the pilots’ last, bewildered exchange:

(Pilot 1) Damn it, we’re going to crash… This can’t be happening! 

(Pilot 2) But what’s happening?

Less than two seconds later, they were dead. …

We rightfully add safety systems to things like planes and oil rigs, and hedge the bets of major banks, in an effort to encourage them to run safely yet ever-more efficiently. Each of these safety features, however, also increases the complexity of the whole. Add enough of them, and soon these otherwise beneficial features become potential sources of risk themselves, as the number of possible interactions — both anticipated and unanticipated — between various components becomes incomprehensibly large.

[Want to Build Resilience? Kill the Complexity by Andrew Zolli, 9/26/2012]

This is certainly a cautionary tale about messages that don’t convey important meaning. But it’s also a warning about interactions that were designed but couldn’t be tested or evaluated in all their combinations. That’s what complexity leads to.

Disasters like Flight 447 nearly always require a complex system interacting with a human. Remember the key learnings of the Apollo disaster: NASA’s safety analyses were not being followed up because of a dual-agenda management system. The bottom line was that they relied on the fact that heat-shield tiles had never yet caused serious damage.

When you’re responsible for a project that is complex, you need to address that complexity in two ways.

First, you need to be sure that the people doing the analytical and design work know what the possible failure mechanisms are, how to compensate for them without adding a lot more complexity, and have scheduled adequate tests to validate the robustness of the design.

Second – and this is the more difficult – you have to be sure that the people implementing the project and the people managing the project (including yourself) are not harboring private agendas that may undermine the effectiveness of the analysis and design and testing. Adding ship-date pressure on a team, for example, can cause them to short-change the test plan and declare a product ready to ship when it still has serious faults.

The second area is where your experience with people doing projects will help you most. Listening a lot to project team members and following up on hints of conflict over goals or processes will help you stay current on the health of your project.

Finally, you can become an advocate for simplicity. When faced with a choice in a project between a more complex solution and a simpler solution, go for the simpler one. Often this will allow you to discover sooner whether or not the solution is adequate.

Some projects, of course, become excessively complex no matter what you do. This may be a time when the most responsible thing you can do is recommend that the project be cancelled. Better to have no product than one that kills.

Share

About the Author

John Levy helps business executives get predictable, consistent and innovative results from high-tech people in IT and product development. His clients include insurance and manufacturing companies as well as high-tech enterprises in software, computers and storage. John’s book on managing high-tech people, Get Out of the Way, was published in 2010. For more information visit his website, phone 415 663-1818 or email info@johnlevyconsulting.com John has held engineering management positions with Quantum Corporation, Apple Computer, Tandem Computers, and Digital Equipment Corporation. He earned a Ph.D. in Computer Science from Stanford University, and holds engineering degrees from Cornell and Caltech. He is a named inventor or on seven U.S. patents related to computer design. He has been engaged as an expert witness in over 50 cases of patent litigation related to computer, software, storage and Internet technologies, and has been a technical advisor to two U.S. District Court judges. For two years, he co-produced a weekly radio show on technology and computers broadcast on KWMR in Point Reyes Station. He teaches regularly at the Fromm Institute for Lifelong Learning at the University of San Francisco, with courses titled, “The Digital Revolution in the Home,” and “Computers – the Inside Story.”
Creative Commons License
Note: This work and all associated comments are licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.

Leave a Reply

*