Last night we were preparing for my daughter’s third birthday party and decided to go grab fast food. After leaving the drive through I put a french fry in my mouth only to find that the outside was cool but the inside was very hot. My daughter asked for one and I said they are too hot, so hot they are burning Daddy’s mouth. Here response was simple enough: “Blow on it.” So I posed the following question:
“How do you blow on something that is in your mouth?”
Before you continue reading take a moment to think about this.
If you are like me the first thing that came to mind is the reverse blow. You know this. It’s where you all of a sudden find yourself with something too hot in your mouth and frantically suck in air to try to cool the food down. But this isn’t right.
The answer is simple: take it out of your mouth.
I posed this question to her then immediately recognized the riddle like nature of it and started thinking about the answer. My three year old told me the correct answer before I arrived at it on my own. Perhaps it is a testament to the complexity of our adult minds but the natural tendency for most of us is to start at the complex and work back to the simple. Conversely, the child brain seems to naturally start with the simple and work towards the complex. We shouldn’t do this – we should start with the simple and work towards the complex.
This concept can be applied time and time again in the software industry. I can’t count the number of systems that I have seen that have been over designed and/or over engineered. Many times these systems would have worked just was well, if not better, with a simple solution. However, the simple option was either never noticed or was ignored.
The Keep It Simple (KIS – alternatively KISS for Keep It Simple, Stupid) principle should always apply – the design and engineering should be as simple as possible while still meeting the needs of the system.