It may sound strange, but I believe that one of the tricks to success is to learn how to fail. As a generation or maybe as a society we are taught that failure is bad but when I think back some of the most important things I’ve learned came out of some failure. If your failing generally it means you’re trying to do something and movement is the first step in doing anything successful. By trying and failing we eliminate one of more possibilities and can then try a different approach to solving the problems or issues. So failing faster or frequently could in fact be a good thing in the long run.
I watch my daughters and friends teens and preteens and it seems like they have a much higher tolerance for failure in some ways. Take video games for example. In video games, particularly action games like Call of Duty, Rock Band, etc. the games can be very difficult but the more you iterate on an action the easier it is. I’m a bit of a Wii addict and mostly I play sports games on it but recently I tried a game based on the movie Avatar and really enjoyed it (OK, maybe I was a little addicted to it actually) and quickly mastered the fairly straight forward actions to control the characters. With that success I thought maybe I had misjudged action adventure type games so I tried another game while visiting a friend with 2 sons who are really good at this type of game. I tried Call of Duty on the Wii but I was really bad at the relatively complex controls for the game. Now if I had been patient and kept playing and failing I’d like to think that I could have eventually been able to play without having to concentrate so much on the controls but instead I got very frustrated and eventually gave up. I watched a 10 year old go through the same process and he had almost as much trouble as I did yet for him there was fun and enjoyment in the failure. He continued to fail rapidly and get better with each round. For him the failure was a part of the process, for me, it was the barrier to the process.
The process of developing new technology can often be littered with failure along the way to success. The more you can iterate on a new product, and the more frequently you can go through the iteration the better and faster you could get to the end result you are seeking. From a software standpoint failing faster and more at the front of the process could speed your product to market. You can do this by building out assets to enable faster and more frequent iterations like datacenters with enough reserve capacity to support both production environments and also the large developer sandboxes that would be needed but that’s very expensive. So expensive in fact that many vendors have some strong economic limits on how much infrastructure they can build out and make available to the R&D teams. The evolution of cloud computing and the subsequent availability of much cheaper and powerful cloud infrastructure let’s software developers do iterate faster and more often with new products to work through the issues, bugs, problems, etc. at affordable costs. From a start up perspective this is really a competitive advantage and an enabler of fast innovation. Faster innovation builds on itself exponentially as new technologies enable other new technologies.
So two things are at work, the ability to fail faster and more often at an acceptable price and the tolerance or attitude that knows how to take failure and build on it to gain eventual success. As more of the workforce either learns this or is replaced by people who do get this the rate of innovation should increase significantly.