Kiss and succeed!

I'm sure you remember "K.I.S.S." (Keep It Simple Stupid!).  There is a good deal of truth to this old saw.  But I have found that some further thinking about the exact opposite is also helpful.  So this is a brief exploration of the nature and consequences of getting things complicated.

Complexity can occur in a great many places, some of them unexpected.  I once reorganized a large engineering organization in some original ways which were designed to promote organizational efficiency and individual careers.  But the resulting structure was complicated and effectiveness was compromised. Most importantly, key responsibility for major projects was diffuse, giving project personnel a feeling of not having all the authority needed to carry out their work.  Likewise, top management found it hard to hold project leaders accountable for their project because of the complicated dependence on other groups.  It had to be changed.

Complexity in instructions, even to a sophisticated recipient, can lead to misunderstanding. Financial transactions which get complicated become obscure, leading to an inability to monitor and audit, which, in turn leads to a temptation to commit fraud.  And, of course, major software projects are notoriously difficult because they are usually complex.  In fact, it is the intrinsic difficulty of complexity that makes software the only field of work I know of where elegance counts.  Elegant design of a software system makes everything far simpler during implementation and test and, later, during maintenance.

The lesson is clear:

Complexity is, in and of itself, a problem!

I know this seems simplistic.  But, too often, the basic difficulty of a complex situation is underestimated, independent of any other factors.  Go back to KISS!