Guy Kawasaki's most famous advice to developers may seem counter-intuitive, given this visionary's storied history and attention to detail, innovation and excellence. In a 2006 entry in his "How to change the world" blog, Kawasaki famously penned the advice, "Don't worry, be crappy." By this, he of course did not mean to churn out sub-par products, rather, he was acknowledging the complexity of the development process and the inevitable fact that the first version of an innovative product is unlikely to be perfect. He wrote, "If a company waits—for example, the engineers convince management to add more features—until everything is perfect, it will never ship, and the market will pass it by."
It is this sense of market urgency that demands a balance between market realities and idealistic perfectionism. Get the first version out to address the market, and then put time and effort into improving it through subsequent updates.
This concept is the foundation of the "lean software" movement, according to Howard Tiersky, CEO and founder of digital product development company Moving Interactive. Lean software embraces the concept of the "minimum viable product" (MVP), or as some put it, "good enough" technology. Once a developer realizes that indeed, the first iteration will not be perfect but you still need to get something out the door before your window of opportunity closes, there are three considerations: (1) what is the line between minimum viable product and unviable product; (2) how do you prioritize implementing product features that are above the "minimum viable" level; and (3) what level of imperfection will consumers accept in the first version of your product and under what circumstances?
Tiersky points out that the lean software movement is all about producing quality, but doing so iteratively while still paying attention to market realities and having an accelerated go-to-market strategy. The goal of every developer, lean or not, is always perfection, regardless of whether it is realistically possible to achieve it. Tiersky relies heavily on customer feedback as a way to drive product development, and to drive decisions about what features to prioritize. It is this feedback and customer engagement that drives customers to accept those early imperfections.
Tiersky says, "The traditional model of 'let's build the whole vision and bring it to market' is a little like trying to hit a hole-in-one. It can happen, but it's very difficult to do." Tiersky characterizes the minimum viable strategy as looking at an ordinary golfer rather than a pro. The ordinary golfer may take five or six strokes to get the ball in the hole. "I might go a little bit in the wrong direction once or twice, but knowing that I get a number of tries at it, I'm going to get there eventually." That's the idea. "You start off with a limited but useful version of your product that you can bring to market much more rapidly, and then use the process of customer feedback and technical learning . . . to refine the way in which the product is built through the iterative process."
The concept of lean development and minimum viability in the end, leads to better products that better satisfy the customer. Is Guy's advice still relevant today? I asked Guy and he responded, "'Don't worry, be crappy' is more possible today than ever because of the low barriers to entry. Everything a startup needs today is free or cheap."
An early product rollout, lean software and MVP is more realistic than ever thanks to cloud computing and platform-as-a-service development tools that allow for rapid development and quick proof-of-concept products that allow for that minimum viable product to be more robust and feature-rich than one might imagine. "When we talk about the goals of a minimum viable product, we like to talk about learning," concluded Tiersky. "We want to learn and create value, but in that order."