Second-system effect

From Free net encyclopedia

(Redirected from Second system syndrome)

In computing, the Second-system effect or sometimes, more euphoniously, second-system syndrome is when one is designing the successor to a relatively small, elegant, and successful system, there is a tendency to become grandiose in one's success and design an elephantine feature-laden monstrosity. The term was first used by Fred Brooks in his classic The Mythical Man-Month. It described the jump from a set of simple operating systems on the IBM 700/7000 series to OS/360 on the 360 series. A similar effect can also happen in an evolving system; see Brooks' law, creeping elegance, creeping featurism.

Contents

History

Brooks noted this effect when comparing IBM's 7000-series operating system with the later 360-series operating system. It has been observed with Multics, and a large number of other significant, long-lasting software projects.

Explanation

The basic mechanism appears to be that people expect software projects to scale linearly with the number of specification items. They engage in a more complex project of the same general type by enlarging its specification, with no care paid to the time to completion of the project.

Unless carefully designed, the specification items can interact, causing a rapid growth in the combinatorial complexity of the final system. This causes a large number of possible failure modes, which are difficult to locate, test, and repair.

A possible solution

One general solution may be to limit the forms of interaction between the parts of a new software system to one or a few stereotyped communication methods.

For example, Unix has developed many software utilities that interact via an intentionally-simple character-based file system, and this set of utilities is one of the most reliable known large-scale software systems.

Building directly on this interpretation of this experience, the Plan 9 and Inferno operating systems let programs interact only through files, and these operating systems generally have been reported to be both robust and flexible.

This principle also seems to explain much of the success of relational databases, and object request broker architectures, such as CORBA, which provide a similar standard coordinating method.

Popular culture

Examples of the second system effect can also be seen in several forms of entertainment, most notably movies. Although highly subjective, sequels to successful movies are generally less successful than their predecessors because of a general statement of the second system effect: When some large undertaking is successful, its creators tend to become arrogant and throw resources at a successor, to disastrous effect. The equivalent of features in a movie or TV series could include special effects or new, elaborate, or "shocking" plots. See Jumping the Shark.

See also

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.