Saturday, November 15, 2008

Scientific Product Development: When builders become stakeholders

When the builders of software, the engineers and developers, become the stakeholder in a product, I suspect they initially do a poor job. They are likely ill equipped and treat project execution as yet another exercise optimized for product delivery rather than business sustainability. At least that is what I have experienced.

It has taken me a while to make the connection, but I believe that the corrective measure for those who find themselves in this situation is to rephrase customer expectations as experimental hypotheses to be tested. The trend of for lack of a more suitable name is scientific product development. This is not the software development process alone, this is a broader product management process. It is an empirical approach of using data to validate or invalidate assumptions about what customers want, use, need, will behave, and ultimately what they will pay for.

I think this strategy fits in as a framework for continuous improvement toward business objectives, working in concert with the chosen software development methodology. Although this appears to be the practice for the big guys like google, amazon, and microsoft, there is a push for its adoption in startup's. This is interesting because either it is a case of experienced CTO's commenting on where their experience has lead them (in practice) or where they would like to be (or retrospectively think they were) based on observing the larger players (in theory). I'm not sure which is truth yet.

There is somewhat of an echo chamber of proponents of this movement, particularly as a practice to be adopted by startups. My preferred source at the moment is Eric Ries, who has a blog Startup Lessons Learned which has been live for about four months. He was/is? the CTO of the graphical IM client IMVU and an advisor at venture capital firm KPCB. I've cherry-picked some posts that show the evolution Eric's communication on the topic:

I like Eric's writing style, his perspective rooted in technology, and his message. Much of it seems informed from experience and seems reasonable. Further, his 'three principles' resonates with my recent analysis of my past execution, specifically the need for 'customer development' in addition to an agile methodology and commodity technologies to be a lean startup.

Mike Speiser has a blog Laserlike and he himself has an impressive history of business roles in companies and startup's big and small. Mike has communicated a few posts along these lines recently, the highlights of which were:
  • Scientific Product Development: The utility of the scientific method for being systematic in the face of uncertainty, and its use in testing assumptions about customer-feature fit during product development. I the astrology (witchcraft) versus astronomy (science) analogy is amusing and apt.
  • Using data to make predictions: A general piece about the importance of collecting ad using real data, including finding correlations, testing causation, and the problems with intuition.
Some other sources include Jesse's blog 20bits with posts such as Data-Driven Development and Scientific Product Development (as well as other more fundamental topics) motivated by some of the above posts. Venture hacks also interpreted and echoed some of the above posts. I'm sure there are many other sources, but these are the streams I've chosen to been subjected to in my feed reader recently.

As a software engineer and research scientist, adopting the scientific method to address aspects of business uncertainty (an unknown problem and solution) is alluring, perhaps even natural. Although, I can see the potential for misuse, even obsession. It seems clear to me that like an agile software construction methodology, using an customer-focused experimental framework (the so called data culture) for challenging expected customer behaviour is just another tool (however powerful or recently underutilized). One must still have a vision for the product and an understanding of the market for which the product is being optimized.

1 comments:

Jason said...

A playful take comparing becoming a consultant and building your own software product, entitled: "The Software Product Myth".