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.

No comments:

Post a Comment