Thursday, June 4, 2009

Start small and be agile

I recently came across this great quote from Linus Torvalds, the creator of Linux, from a 2004 Linux Times interview

Interviewer: Do you have any advice for people starting to undertake large open source projects? What have you learned by managing the Linux kernel? 

Linus Torvalds: "Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. 

So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way _useful_ first, and then others will say "hey, that _almost_ works for me", and they'll get involved in the project. 

And if there is anything I've learnt from Linux, it's that projects have a life of their own, and you should _not_ try to enforce your "vision" too strongly on them. Most often you're wrong anyway, and if you're not flexible and willing to take input from others (and willing to change direction when it turned out your vision was flawed), you'll never get anything good done. 

In other words, be willing to admit your mistakes, and don't expect to get anywhere big in any kind of short timeframe. I've been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had _expected_ to do something that big, I'd never have started. It started out small and insignificant, and that's how I thought about it." 

Linus has really nailed the essence of Agile - get something out into the market quickly and let it develop from there.  The era of mutli-year waterfall projects are dead.  Let your project grow from a small acorn...

Wednesday, June 3, 2009

Mass Customization

We've all heard about the web being the enabler to true mass customization. Yesterday TechCrunch reported a new endeavour lets shoppers design their own dress shirts in detail using a realistic and interactive shirt model. Shirts are made according to customers measurements ensuring that shirts both fit shoppers’ tastes and body.

See the TC post at Right now, the site is running a buy-two-get-one-free Father’s Day special, but TechCrunch readers are getting an additional 10% off their entire orders placed before June 7.

This looks very impressive, and I'll likely be ordering a few this Christmas.

Tuesday, June 2, 2009

Win/Loss Analysis

Whenever we look at product strategy it's extremely important to separate opinions from facts. Everyone will have an opinion, often held quite firmly and passionately.  Our job is to discriminate between opinions and what's really happening out there in the market.

The first place to turn is the financial system.  Ask for a dump of all transactions, with as many fields as possible.  Don't worry about sorting - import the file into Excel and use pivot charts and tables to create an effective analysis.  I won't go into all the possible ways to slice and dice data, but try to create the sheet so it can be easily reused and extended. 

Note that the Customer Relationship Management (CRM) system is never as accurate as the finance system (which must be audited). The CRM system may have some useful information, and can be used to find lost and won accounts, but salespeople are very busy, and they often don't have time to complete all the data for a customer record (and some companies ask too much)  Don't rely on CRM data - use the finance system as a baseline and get out and talk to customers.

The next data source is win/loss analysis. There is always no shortage of sales people and SEs who can tell you when deals are won and lost, but the data often paints a different picture.  Pick 5-10 customer wins and losses, and interview them with the same script.  Make it clear to the customer that you are not a salesperson, and offer a small incentive, such as an Amazon gift card, for their time.

Firstly, make sure you capture all the customer details:
  • Customer Name
  • Contact Name & follow up details
  • Industry
  • Size
  • (any other segmentation that makes sense)
  • Project name
Next, move into the win/loss questions.  Make this as brief as possible and don't waste the customer's time (no more than 10 questions)  Here's an example of a script:

  1. What problem/pain points you were trying to solve with this project?
  2. How did you find our company?
  3. What were the reasons you selected/rejected our product?
  4. Did you evaluate more vendors? Which one(s). What criteria did you apply in short listing vendors for comparison?
  5. Any comments on why you did/didn’t offer us opportunity to work with you? What are three things that would have helped us win your business?
  6. How did you find our products compared with other vendors you evaluated? (internal note – find strengths and weaknesses)
  7. Any different pricing model you would like to see for your next purchase?
  8. Did we live to your expectations after you finalized purchase of our product?
  9. Have you integrated our product? Any more suggestions on our products, sales and support process?
  10. Would you recommend our products to others?
As you work with the customers ensure that sales is advised, but don't let them try to "recover" lost accounts during the call.  If sales wants to be involved then allow them to be a silent listener.

After each call input the results into an Excel worksheet, and create charts to look for trends. After doing this a few times I have seen gasps around the organization as we demolish generally held beliefs, and really demonstrate why customers buy, and why we lose.

Of course the next step is the action plan...