Somewhere around 200 items seems to be the optimum number of interrelated things we can deal with at one time, when dealing with complex systems such as computer software.
In 1956 George Miller wrote an article for the Psychological Review called “The magic number seven plus or minus two: some limits on our capacity to process information”. In the article Miller cites many different studies that demonstrate the human mind’s capacity to hold only seven objects in short-term memory simultaneously. Much has been made of the studies in this article, especially in the field of structured design methodologies. The article was a seminal work in laying out the limits of the mind’s ability to handle complexity.
What we’ve discovered, admittedly with far fewer scientific studies to back us up, is something that we believe has been known to architects and engineers for generations. Specifically, that the human mind coupled with external aids is capable of dealing with several hundred items simultaneously in its “near-term” memory.
Architects and engineers have been the major users of oversized sheets of paper for decades. What they realize, and those of us in this software development business have been slow to realize, is that having a great deal of information in your field of view allows you to anchor some information in visible space while you confidently scan other areas of the design.
This is both obvious and puzzling. It’s obvious because software designers and developers deal with extreme degrees of complexity, and any aids that would help understand and manage that complexity would be very well received. It is perplexing because for a $3,000 investment in a plotter and Visio, pretty much any developer has access to the ability to deal with greater amounts of complexity.
Once a design is complete it can certainly be factored into smaller pieces (subsystems, modules, views, etc.) and rendered onto 8 1/2 by 11 sheets of paper. However, we’ve discovered that there are two key times when the design in its entirety needs to be reviewed: during the design process itself and any time you need to communicate that design to other parties. Of course, those two cases cover almost all needs for documentation, so one wonders how the 8 1/2 by 11 format has persisted.
We also wondered if the 36″ by 44″ (E6) paper size that we’ve been dealing with is really optimal. While we again have only empirical evidence, we believe that this is close to the optimal. At 36″ by 44″ a page can be surveyed at arm’s-length and you can review the entire surface without moving. However, beyond 33 by 44 inches you must physically move in order to see the entire surface. Alternatively, you can increase the font size, however, by doing so you have not increased the potential number of interacting items in the design.
At 33 by 44 inches we’ve found that it is possible to get approximately 200 to 250 individual related design elements on a single piece of paper. We’ve been using this methodology for complex semantic models, database designs, application interface diagrams and proposed bus style architectures. We believe that it would also be useful for the documentation of large complex class structures, however, tool support has been hard to find. Some evidence can be had in the popularity of wall sized charts for popular class libraries, but think how much more useful this would be for designs in progress.
In conclusion, we suspect that there is another level of human cognition aided by spatial diagrams where the mind is able to deal with hundreds of interrelated articles in nearly real-time. As they say in the academic business, “More research is needed.” As we say in our more pragmatic business, “It’s obvious enough the first time you try it.”