In the design of computer systems, all our efforts, our analysis, our long hours are all directed to one end. That end is to discover a design with a quality called “elegant simplicity”.
Such designs use the strengths of the technology you are building with in combinations that are easy to understand (so they actually get built) and in ways that meet peoples’ most important expectations (so they actually get used). Any design other than this is only an incompletely solved problem.
The more times I use the word “complex” in describing a problem and in describing my proposed solution to that problem, the more I know I have not yet found the design I’m looking for. I’ve learned the more complex a problem seems to be, the more important it is to find an elegantly simple (but not simple-minded) solution. Otherwise the project will fail.
In a profession like IT, complexity is always there, always ready to drag me down, wreck my projects, and disappoint the people I am trying to please. The search for elegant simplicity is at the heart of every successful development project. When I don’t find it, when what I find is merely clever and complex, then my projects take too long, require too much effort and never quite work.
Experience is turning me into a connoisseur of elegant simplicity. I’m always looking for insights to help me find it. This week I came across three insights worth passing on to other seekers of this fine quality. The first insight is this, “…perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away…”
How true; the best solutions always do more with less instead of trying to do more with more. That means I can’t meet every expectation of every user of the system I’m designing, but I have to find that core of functionality that meets peoples’ most important expectations. I have to figure out what those most important expectations are by listening carefully and asking probing questions.
The second insight is, “…all visible evidence of invention should have been refined out of this instrument and there should be delivered to us an object as natural as a pebble polished by the waves…”. Wow. A polished pebble is an elemental shape that results from the complex interplay of wind, water, waves, and other pebbles. What mastery of design to devise such a simple answer to such a complex situation. And what subordination of designer’s ego to find an answer so obvious and appealing that people will think they thought of it themselves.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.