Sisu Principle: Simple, Sensible, Useful
For a while I have tried to think of a concise but general definition of kinds of tools I like. Being a pragmatic person, I like things that "just work", the highest accolade any software library or application can get. I also eschew unnecessary complexity -- complexity is enemy of robustness; and while it is always possible to easily add more complexity, it is generally very hard to remove added complexity. And finally, the thing has to be useful to be of practical interest.
And then it occured to me: condensed to essentials, these are the 3 main properties that I like:
- Simple ("as simple as possible, but not simpler")
- Sensible (or, Smart)
- Useful
Taken together, it leads to acronym SISU (or, SiSU), which also happens to be a useful term in Finnish language (roughly translating to "have guts", the trait of a person who never gives up).
So let's hear it for "Sisu Principle": best tools are Simple, Sensible and Useful. They got Sisu, and form the backbone of good software systems. They are also things that can carry overhead of other of kinds of sisu-less components.