A couple weeks ago when Steve Jobs announced his retirement, I did a little research to try to sum up my takeaways from his success.  One of his stories was about taking a calligraphy class in college, and how that class gave him enough knowledge in the subject to create font sets in the first Apple products (which were later copied by Microsoft for Word).   At the time when he took that class, he had no idea how or why that class would be useful. Only when Jobs looked backwards he was able to connect the dots.

Jobs’ belief that ‘you can only connect the dots looking backwards’ struck me when I heard it, probably for the same reasons that it resonates with all of us. We all like to believe that everything we do has a deeper meaning, that every experience is building to a purpose and therefore no time and energy is ever truly wasted.  I like to think that way on a personal level,  but I also think this can be applied to entrepreneurship and product development.

Businesses are products of several environmental inputs:  the entrepreneurs behind them, the industry that they serve, the macro-economy, the trends at the time, customer needs, etc.  I believe many budding entrepreneurs, especially in the MBA communities, spend a lot of time thinking about these inputs and putting them into their business plans.  I think this is smart work to do.   You want to make sure that the market exists and is big enough to make your effort worthwhile.  With that said, there’s a limit to the value of doing this exercise and very few people seem capable or willing to take the next step, which I believe is creating a minimum viable product for early adopters to see and give you feedback on.   There’s a limited amount of planning that can be done in the startup phase, and much of entrepreneurship is based on experience and a ‘hunch’ that there’s some white space where you’re attacking.  5% of your learning will happen in the business planning process, 95% of it will happen when you start building.

In software, this process is called iterative development, or the agile method.  Here’s a quote from the wiki page:

The basic idea behind the agile method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system. Learning comes from both the development and use of the system, where possible key steps in the process start with a simple implementation of a subset of the software requirements and iteratively enhance the evolving versions until the full system is implemented. At each iteration, design modifications are made and new functional capabilities are added.

Creating a feedback loop that includes early adopters will allow you test many of the assumptions that you’ve made in your business plan.  It also allows you make changes to your business model based on what you’ve learned.  When we built Crowdstream, we weren’t really sure what was going to resonate with artist managers or with fans.  It took four iterations to get it closer to right and we’re still iterating.  The product that we have today is vastly different from the product that we originally designed, but looking back its easy to connect the dots.