Complexity and design

If you think that technological systems are complex, imagine what that implies for the combination of technological and social systems. The socio-technical systems arena has been a rich vein that’s been mined in the organizational design and development world for decades. In general, though, that literature has been ignorant of the world of systems design (and vice versa, of course). These are some of my favorite quotes on the topic and it’s so nice to see that someone else has done the work of assembling them for me :).

On Complexity.

There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
— C.A.R. Hoare

These new problems, and the future of the world depends on many of them, requires science to make a third great advance, an advance that must be even greater than the nineteenth-century conquest of problems of simplicity or the twentieth-century victory over problems of disorganized complexity. Science must, over the next 50 years, learn to deal with these problems of organized complexity. […] Impressive as the progress has been, science has by no means worked itself out of a job. It is soberly true that science has, to date, succeeded in solving a bewildering number of relatively easy problems, whereas the hard problems, and the ones which perhaps promise most for man’s future, lie ahead. We must, therefore, stop thinking of science in terms of its spectacular successes in solving problems of simplicity.
— Warren Weaver

In our time, the technology of machines has drawn its inspiration from mechanics, dealing with complexity by reducing the number of relevant parts. The technology of government, on the other hand, has draw upon statistical mechanics, creating simplicity by dealing only with people in the structureless mass, as interchangeable units and taking averages. […] For systems between the small and large number extremes, there is an essential failure of the two classical methods. On the one hand, the Square Law of Computation says that we cannot solve medium number systems by analysis, while on the other hand, the Square Root of N Law warns us not to expect too much from averages. By combining these two laws, then, we get a third – the Law of Medium Numbers:

For medium number systems, we can expect that large fluctuations, irregularities, and discrepancy with any theory will occur more or less regularly.

— Gerald M. Weinberg