Friday, March 13, 2009

Fail fast, fail cheap

Often when we try to build something, the very last thing we consider is failure.  But it is actually through our failures that we learn the most and find the path towards true innovation. So rather than avoiding failure, we should focus on sandboxing our thoughts in a way that captures failure early and cheaply.
Let me offer a recent example.  You've heard me talk about the new design that I'm working on for an upcoming training program we are running at Altium.  Well I thought we were going to go ahead with the Natural Disaster Management System but that got canned because we didn't want users to pay several hundred $$$'s in weather measuring equipment in order to replicate the project.
So the new project is a moving light system. Basically it involves mounting a high powered LED onto a pan-tilt head (something like this) and creating a moving light show that can be controlled from a myriad of sources.
According to info I found on the web, driving R/C servo motors is pretty easy.  So I thought getting one to work would be a piece of cake.  In actual fact it was pretty easy but after connecting up the first servo, its range was only about 90 degrees.  I needed at least 180. No problem, tweak the driving circuit a bit and before you know it I had it driving across the full 180.  As it happens, the generic servo drive specs didn't seem to match up with the servos I bought and I had to spread the signal out a bit to get the full range.
So in a word, my first attempt failed, but that's what lead me to the second attempt and a greater understanding of what I am working with.  I now know that I need to leave provision in the application code so that I can calibrate for any servo to ensure I get the full range out.
So fail fast, fail cheap, and move on to the real innovation.

Thursday, March 5, 2009

Forget what you know. It is hindering your progress.

Some time ago, I found myself at some sort of big self-help thing that gave the facade of helping you unlock your own potential and find a new state of being, but at $600 for the "introductory" program, it smelt a bit like someone's money-making system. In the end they didn't get my money but I did manage to pick up a bit of free advice. They broke knowledge into three types:
  • The things I know that I know
  • The things I know that I don't know, and
  • The things that I don't know that I don't know.
The things I know that I know are things like my birthday, my parent's names, the approximate speed of sound in air, etc.  The things I know I don't know are things like the exact population of my city, the volume of sydney harbour, the mind of a woman.
Now when it comes to the things that I don't know that I don't know, well I can't give an example for the simple reason that if I could, it would be classified in the one of the previous two categories.  The point of that expensive self-help program was simply that the key to unlocking your potential lies in your ability to be open to the things that you don't know that you don't know.  It kind of messes with the mind a little but if you think about it, it actually makes good sense.

But I have been pondering some of these thoughts in the last day or so and I think I can add a new category to the list:
  • The things I think I know that I really don't know
When it comes to the rapid movement of technology, it is this very thing that hampers our ability to reach for the stars.  Technology is continuously changing the rules.  We think we understand the game and so we start playing it one way. After a little while, we check the scoreboard only to find that we have actually been playing on a field that is far removed from where the real game is at. Why? Because we thought we knew something and so we didn't think that we needed to check it again.

We are living in the so-called information age. Information is available to us like never before in history and is being continuously expanded on at a break neck pace. As a consequence, our brains have developed keen filtering processes that help us partition up information and navigate our way through.  Some things we accept on face value. Other things we examine more closely. But having reached a conclusion about something, we rarely revisit it unless we perceive that some other piece of new information warrants a rethink.
But what if we never receive that new piece of information? What if we continue on our way thinking that we know something when in fact we don't? We are actually in a worse state than absolute ignorance.  We are trapped in an erroneous paradigm with no way to get out and no sense that we are in the wrong place.
To add to the deception, we often build on our conclusions.  So conclusions that we have arrived at in the past will often form the basis of further conclusions that we make today.  But what if our original conclusion is wrong and we don't know it?  All of a sudden the house of cards starts tumbling down.

In the film "The Matrix", Neo is encouraged to free his mind; to not be constrained by what he thinks is real. In the Matrix, there are rules that are meant to be bent, and some which are meant to be broken.  By thinking that we know what we know, we forget to question where our degrees of freedom lie.  Because of what we 'know', we hinder our progress.