Tuesday, 8 June 2010

If Klingons Wrote Software

I like Star Trek. Not in a uniform-wearing, funny handshake, cross-to-the-other-side-of-the-street-to-avoid-me kind of way; but I like it and I do seem to be able to remember a lot of details from it. For instance: when Klingons go into battle they assume that they are already dead. If they survive it's a bonus and if they do actually die then, well, it was expected so no surprise. This is the way we should be developing software and it has a name - "Lean Startup".

I've written a lot of applications targeting all manner of media and platforms - but they all had the same sentiment: "If we only get this right, everyone will buy it". I now think this is wrong. What we should be thinking is "This is a pile of crap and no-one's gonna buy it".

"What?! You mean we should actual aim to fail?"


What I mean is this: if you assume that your software is probably worthless then this changes the way you write it. Your job now becomes "I'm probably gonna fail, so how do I fail quickly?". Eric Ries talks about failing products not equating to failing companies.

So, your business plan becomes "I have a lot of ideas for products. One of them might succeed. How do I quickly discover which one that is without wasting time and money on those that no one is interested in?"

What does this mean in practice? Here's a small sample list:

  1. Minimum Viable Product. Get it out there! It'll be crap, but do it and do it quickly.
  2. Measure everything. How do you know which parts of your application people are interested in if you don't capture that information?
  3. Smoke Tests. See how many people click on the fake 'Buy It Now' button. That tells you more than any theoretical pricing model or traditional market research.
  4. Pivot. You might have the basis of a great idea. Don't be fixated on what you think it should do - listen to your users.

The Lean Startup movement has radically changed how I develop software and it's not just for startups. Any project, even in the enterprise, that has a level of uncertainty will fit this model.

For more information check out Eric Ries' blog.

No comments:

Post a Comment