Wednesday, September 30, 2009

See you at JAOO?

I'm very excited to be attending JAOO this year, I'll be hanging out at the ThoughtWorks stand so why not head over and say hello.

Great OS X app for those who change location a lot

Finding this extremely useful http://www.symonds.id.au/marcopolo/ Lets you define rules to work out where you currently located based on all sorts of criteria and then define actions for that location: enable screen saver password, default printer, mount a drive, etc.

Wednesday, September 02, 2009

Incremental Internet Product Launch - responding to feedback over predicting needs

I've spent a lot of time working with companies looking to launch offerings on the internet, I've been asked to get involved at various stages of the life cycle including starting over after the previous launch failed. There seem to be two main approaches to product development for the internet and interestingly these approaches often correlate with whether the company is a "traditional" company or not. By traditional I mean a company who previously sold and marketed products via non-internet means, the internet is something they've had to react to. So by implication the other kind of company is one that exists solely because of the internet, an "internet company" if you will, they are built around the web and have none of the more traditional retail sales channels. Traditional Companies The more traditional companies often seem to have a very fixed approach to product development, perhaps as a legacy of selling through offline means such as the high street? They go through a series of (often costly) exercises to try and fully describe a product offering, so to anticipate needs and to fully design a web product. There are usually a series of gates to pass through to get approval for budget, not least because the whole product has been designed and needs to be built so there is a lot of money involved. Product launches are costly infrequent events for this kind of company, usually with a lot riding on them. As the product offering has been designed upfront traditional methodologies are often used in delivery, no need for a more Agile approach when we already know what the users want. As such a ability to react quickly to change is rarely valued in this kind of product development with the real users often not involved at all. There is a high degree of risk around adoption with this sort of approach; will people actually want to use it? One technique often used to try to mitigate this risk is a big expensive marketing campaign and lots of publicity around the launch, although this in turn increases risks around performance problems and scaling at launch time. It also tends to push companies towards big upfront expenditure on fixed infrastructure sized for the peak demand. I'm sure we can all think of examples of products launched in a blaze of publicity only then to very publicly fail due to performance issues. Finally even if things go well and you do manage a good launch you've got a much bigger problem: non-traditional companies seem able to react extremely quickly and update or create competing offerings, often in weeks and not the months or years it took the traditional company. Internet Companies Internet companies seem to do things quite differently, perhaps because they've never had to sell products that had to be 100% fully formed at launch via traditional retails channels. They do something few traditional companies seem willing to do - they create and launch a product with an absolute bare minimum of functionality, just enough to hit the core proposition and nothing more. They then put that out into the wild and see what happens; often with minimum publicity but always with good feedback mechanisms in place. If no one picks up on the offering it can be just as quietly be canned, while money has been lost it was a small amount compared to a fully fledged product launch. In fact as this is a relatively inexpensive approach there is a chance to try out a whole series of ideas and do so quickly and often. If people do start to use it then the feedback mechanisms come into play and you can respond to that feedback to start incrementally improving the product. There is a very direct relationship with the users and their feedback here. You'll probably see a gradual ramp up in users as things pick up and can start to scale up numbers of machines etc. If you've used "cloud" like technologies from day one this is probably pretty easy to do. By necessity your delivery mechanisms have to be fast and quality has to be a fundamental part of the process: no time for a big 1 month long test period at the end, users need rapid response to their feedback for them to stay engaged with the product. Conclusion If you are a traditional company looking to go head to head with an internet company you may need to change how you approach internet product development. You'll be going up against companies that constantly and rapidly respond to user feedback. The key seems to be understanding the bare minimum you can launch with and then not being afraid of having a more direct relationship with end users. If someone is telling you that the bare minimum product definition "has to be" very large you need to be very sure some other company can't see a way to launch something simpler (faster) and just incrementally respond to their end user feedback.