so you made it as simple as possible but it does not appear to be
simple. Not to yourself, not to the others. How can we recognize "as
simple as possible but not simpler" stage? Or even strive for
complexity of software is an essential property, not an accidental
one. Hence descriptions of a software entity that abstract away its
complexity often abstract away its essence.
Brooks, Jr.: No Silver Bullet - Essence and Accident in Software
Engineering; in The Mythical Man-Month, Addison-Wesley,
Reading MA, 1995.
sore truth is that complexity sells better. (It is not only the
computer industry that has discovered that.) And it is even more
diabolical in that we even use the complexity of our own constructs
to impress ourselves.
W. Dijkstra: The threats to computer science, EWD 898.