Using Lean Startup Methods Revamping a Complex Product - Part 1
4 04 2010Lately I've been gaining a lot of interest in the #leanstartup "movement". Eric Ries of StartupLessonsLearned is probably the lead missionary, but there are many out there liking this concept. To give you an idea just search for #leanstartup on twitter.
With this post I'm starting a series where I'll be writing about how to apply lean startup methodologies when revamping a complex product that already has a lot of customers (though not necessarily happy). I'll be expressing my personal opinions on how stuff work and may be completely wrong in many cases.
My aim here is to work through this problem for my own gain, but with your help, and at the same time share the experience for others to gain from as well. So here it goes...
I'm not going to go in to the specifics of what a lean startup is but here's a crash course.
- Be efficient with your capital. Operate with as little waste (of time) as possible.
- Don't reinvent the wheel - use open source solutions that fits your needs
- Extreme customer centric, rapid iteration, agile develpment process. (see Customer Development by Steve Blank)
These tips seem pretty fair and I got extremely interested in this considering my experience with Tablefinder.com where we were probably as far from customer developed as possible, even though we were agile (in some ways).
A little background
Now I'm part of a much larger company, about 50 people, working in the travel industry. The company is 10 years old, but our CEO still considers it a startup, and I agree in some ways. The way I see it the company is extremely customer oriented and has been since the start - developing a destination packaging system for the first clients. We are now the market leader in Scandinavia and have most destinations as our customers.
Imagine developing a web solution over 10 years where each new customer says "Yeah, I want to buy this... if you make these modifications so it suits our needs". Our customers, Destination Marketing Organisations (DMOs), are all very different in terms of business models and financing and so on. This is why we have had to make our system extremely flexible and dynamic, and also very specific for our customers needs. One problem with this is that some solutions for one customer is directly the opposite of what another customer need.
I guess one could argue that this is Customer Development, but I don't think so. This is Customer driven development which is in some ways completely different. A client says: "I want this feature in the system, and I'll pay you X to do it." Running after all X:s will soon create a chaos in the product and 100% of resources will be busy maintaining the system. Each new improvement of the system will take extremely long to implement and test. And many times, the feature that a client want to pay for may be something that their board has decided that they absolutely need. IE no end user verification what so ever.
We recently acquired a company that delivers free downloadable travel guides for over 400 destinations world wide in up to 22 languages. I'm now the acting CTO and have a mission to develop the new arrivalguides.com site. The main product of the company is a downloadable PDF guide which is free (includes a few local ads for the destination). But the product is much more complex than that. We have a large partner network including partners like Ryanair, SAS, and other big travel related sites, where users can download the guides. Then we have the DMOs, our paying customers, which pay to control (parts of) the content of the guide. And finally we have the local advertisers on each destination, which are paying for each download made.
The problem with both products mentioned here is that due to the complexity of the systems (especially the first, Citybreak DMS) implementing a new customer takes very long time and involves a lot of costs.
So Arrivalguides is also a very complex product that have many different requirements that still need to work after we revamp the product.
How to start?
My goal is to implement the new arrivalguides.com using lean startup and customer development techniques even though this is a complex product already in production.
The problem is... where do I start? I honestly don't know. I'm all for feedback here but I will go down the path that I think is best taking decisions as I go along.
People say that I'm bad at planning, and I agree, but it's on purpose :). As in a startup, there is no point writing a 5 year plan, if that delays getting your product out there. I like to call this Reactive Planning.
But please do comment on all the things I'll be doing wrong. This is a work in progress.
Analysis
Analysis step 1: Identify problems with existing product
- new partner integration is too complicated
- the system consists of too many parts in different programming languages
- the system is not focused
- the system is used in different ways for different partners
- Many different "customers"
- End users
- Partner sites
- DMO partners
- Guide Advertisers
- (Site advertisers)
- Slow databasemodel
- Slow administration system
- We don't have metrics for everything end users do
Analysis step 2: Identify the stuff that is working
- End users must like something since we reach over 500 million travelers every year. Problem is that we don't know how many we are missing/not converting
- The guides are great, once people have downloaded the PDF they usually love it.
Actions
The first thing do to here must be to evaluate what features people are using, and then set up a couple of different MVPs (Minimum Viable Product) for those and test it out. But how can you test an MVP when the system has so many demands from existing customers?
Action Step 1: Get metrics for how users are using the product
In order to know what metrics to collect I guess I need to know what goals we are trying to accomplish. One revenue stream that is easy to measure is downloads of guides. Of course we already have metrics for the number of guides downloaded per partner site etc. But I want something more where I can track the exact funnel and see where we are loosing downloads.
Action Step 2: Prepare for a continous deployment development environment.
We are going to develop the new site in C# ASP.Net MVC 2, and probably use MongoDB as the database engine. For other projects we use the awesome TeamCity product from JetBrains and will do so for this as well.
Action Step 3: Prepare for a good A/B testing environment
This has been one of my main questions for a while; what are the best practices for setting this up in an MVC solution? I guess that in the end it is just a matter of switching views for a certain number of visitors, and keep the underlaying controller logic the same. Please give me feedback on this if you've done something like it before. I'm also looking forward to a KISSmetrics beta invite to use to be able to track the stuff I want in a way that is more difficult to do with say Google Analytics.
Being lean?
We have all the technical skills we need to execute this project, but one thing we don't have is time. This is mainly due to how other products have been developed in the past, and we are only a couple of guys running this. Isn't this the perfect setting to try and be lean? I mean in a way that we need to absolutely optimize our time and not spend any time developing something that our customers don't want.
One big problem here is the organization. We have very talented sales people that sign new deals everyday selling stuff that we will develop, which is nice on a financial view. But I don't think this is the right way to go. (I hope I don't get fired for writing this though...) We need to have better focus on our existing product and analyze how people are using it. This sounds easy in theory, but how can we do this when we are dependent on the cash flow from paying customers?
I think I'll leave this for part 1 of this series, and it's time to take the first steps. My mission will be to try and force this type of product development strategy in the organization by proving that it works. So again, I need all the help I can get, and if you're a pro in this area, don't hesitate to leave a comment or contact me directly.
Related articles by Zemanta
- Customer Development for Web Startups (steveblank.com)
- Maverick Entrepreneur: Without the Fat (seedcamp.com)
- 2010 03 09 The Lean Startup Gdc (slideshare.net)
- Requirements Gathering Is Not Customer Development - But It Does Define The Problem Statement (meatinthesky.com)
Categories : entrepreneurship
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=7101eb61-9cdc-4607-b905-0eb236a38252)





