Software Development - Software Design

Complexity

URL Description
Reducing Software Complexity - I
Reducing Software Complexity - II
Taming the Complexity Dragon

This paper is an expanded version of a talk I gave at the 2006 Winter Simulation Conference, which is the premier annual conference in the discrete-event simulation community. Each year, the conference recognizes a “titan of the industry,” and that person is invited to deliver a 1-hour presentation at a plenary session. I was the titan honored at the 2006 conference. Since this paper was written expressly for members of the simulation community, concepts and terminology peculiar to simulation are not explained. Readers lacking a simulation background may find some portions hard to understand.

The goal of this paper is to present ways in which we can deal with complexity. I believe that the explosive growth of complexity is the computing industry’s number one problem. It is the root cause of many other problems, such as computer security. Paradoxically, organizations that are in the best positions to deal with complexity are the ones that are, in fact, creating and expanding complexity.