Yesterday, I mentioned some of the pitfalls that attend developing complex solutions to problems that go beyond the "good enough" solutions that may already be in the wild. The internet is filled with business models that invent problems to solve that frankly no one was interested in having solved. I wanted to address in this post a bit on how to find problems that are worthy of solution. The trick is to look for problems that perform one of several things:
- The problem is one you encounter on a daily basis while trying to get something else done. It is to you a "minor" but recurrent annoyance that you wish could be eliminated. Many great products and services came about from noticing a need for a slight improvement in a product design or how a service is delivered and then engineering a solution that addresses this problem. I'll call this type of potential solution an incremental innovation. The internet is filled with web sites looking to score incremental innovations but as mentioned yesterday, many of these solutions suffer from the "good enough" problem.
- The next type of problem is similar to an incremental innovation but arises from noticing existing inefficiency in the implementation of a particular solution in order to shave time or cost off the process relative to existing methods. It is incremental but comes not from noticing an annoying issue in user space but rather engineering better solutions for internal issues in the design space of a particular product or service. This we can call engineered innovation. A good example of this was the invention of the disposable razor by Schick in order to tap into the lucrative safety razor market then pioneered and dominated by Gillette during the turn of the last century. Schick analyzed the patent and came up with an implementation that was itself also patentable and today, you'll be hard pressed to recall a third safety razor company as a result of their shared dominance of the market.
- Finally, the most rare opportunity can be found in engineering solutions that solve an existing problem in an entirely different way from existing solutions, so different in fact that the new solution obsoletes an entire category of previous solutions to the problem. These are the category killers. A good example of this is how the use of digital media in the form of mp3's for electronic music distribution has essentially obsoleted traditional physical media distribution models by introducing vastly different selection, cost and delivery structure than the traditional methods. In every comparable metric a category killer solution bests the traditional solutions and thus is most likely to find wild success. The invention of electric-diesel train engine is one example, putting an end to commercial steam engines.
Obviously the solutions that employ new ways of solving old problems and in so doing obsolete them are the ones which will find the wildest success. These usually come about not from an active desire to create them, usually they are the result of happy accidents. The invention of kevlar stands as a notable example. Software engineering is a place where solutions types one and two are common due to all the cogs that can be adjusted and modified between implementations to realize potentially profitable optimizations, though category killing solutions do come about they are as rare as in the physical invention world. The key is to seek solutions that answer the key questions, "does any one want this to work better?", "how can I make this work better?" and "how can I do this in a completely different way?" while solving problems and with time and effort you should run into at least one wild success in your engineering lifetime...hopefully. *wink*