This morning I was staring at the outside thermometer trying to motivate myself to ride to work……My wife challenged me with the statement “aren’t you a New Yorker?…I thought you were tough!” So, I steeled myself with the resolve for the chilliest bicycling commute of the year. I prepared with smart layering and an appropriate amount of insulation and wind protection. On cold days even with neoprene booties I find my toes are the one part of my body that I struggle to keep warm. Looking for a solution to this problem, I decided to experiment to find a solution to this “cold toe” problem. In addition to warm socks and neoprene booties, I decided I needed one more layer to trap the heat near my toes. Thinking back to my youth I decided to try a trick we used when I was little. Over my socks I wrapped a plastic garbage bag to trap in the heat.

With this simple no cost solution my feet stayed warm today despite the cold. I suppose that on a longer ride I might have had problems with sweat/moisture buildup, however for my short 40 minute commute this did not prove to be a problem.
The point of this post is to get you thinking about simple, cheap solutions to problems you encounter. I am not suggesting that you should avoid sophisticated and elegant long term solutions. however, you should not be afraid to experiment, prototype and test your hypothesis along your way to finding the perfect long term solution. This idea of experimentation and learning from trial and error is at the heart of the concept of iterative living.
While visiting Northern California I visited the San Jose Tech Museum. My wife pointed out this quote at the Entrance to the Museum:
Optimism is an essential ingredient for innovation. How else can the individual welcome change over security , Adventure over staying in a safe places?- Bob Noyce

In this coming new year I encourage you to be optimistic and to welcome change and adventure over staying in safe places 🙂
In software development and innovation it is especially crucial to apply these methods. Often times a solution architects and CIOs will be attracted by an over-architected solution designs. When provided with a beta or early prototype design they might ask you, Is it scalable for the enterprise? Where is the redundancy? Will it be configurable for other use cases?…..
Conversely the scrappy agile software developer, the ambitious product manager, the hungry sales guy, might be willing to accept a less sophisticated beta solution or working prototype. They would argue; why should we invest in an overly sophisticated, scalable, redundant solution for a limited use pilot test. In the early stages of a product lifecycle it is important to test your ideas early and often. Much has been written about the value of prototyping, yet, I think you will find that this technique is not as widely used across many software development shops as would be expected. In manufacturing it is much more of a forced milestone since the cost to ramp up an assembly line and the ability to modify the solution after manufacturing has begun is much harder. I would argue that both the true and opportunity costs associated with skipping the prototype milestone with software development can be just as high and damaging. Chances are your problem statement and business requirements are speculative and should be treated as a hypothesis until proven. We need to accept that even the most envisioned, thought out software designs and solutions will need to be refactored many times in their product lifecycle. I have this popular cartoon printed out and hanging in my work cube as a reminder that we need to validate and test our software design ideas early and often or we will end up delivering something that does not meet the customers needs….

I hope this post inspires you to experiment and find simple and elegant solutions.
Happy New years!
Feel free to share your thoughts and ideas on this topic.