Fishpool

To content | To menu | To search

Tag - agile

Entries feed - Comments feed

Wednesday 28 September 2011

MVP is about proof of potential

Among the people I interact with, and in the places I frequent, a question that comes up a lot is "what exactly is a minimum viable product?". Perhaps that tells you something about me, but let me tell you something more, and offer one answer to the question.

Back at the end of the 90s, between preparing for having a great bash for the Millenium and various other activities of the sort, I was also learning how to apply the software skills I had acquired to some sort of purpose which would pay my bills. I ended up, to a large degree by accident, to spend about four years of the rise and height of the dot-com boom at what I to this day consider the best possible school for creating great Internet apps for end users: the Helsinki offices of Razorfish, then-legendary marketing, technology and management consulting agency, now simply a legend.

In those days, we would at times come across a situation in which a pitch for a project, a client relationship, or a business idea consisted mostly of what we called the "Photoshop application" - a web site consisting of screenshots of something that had not been built. Coming from a developer point of view, and being rather proud of the skills we had collected, like any 20-something developer is, we saw these as something to laugh at. It's just a bunch of screens, it doesn't do anything! Anyone could come up with that!

Now, in some cases that's probably true, anyone could have come up with that. They weren't all great. Some were, and I would grow to respect the skills and effort people who took design seriously would apply to coming up with both great interaction, and beautiful looks for software. These are things not to be underestimated, because impressions matter a great deal, and nothing kills a budding consumer relationship faster than a dead-end transaction flow. There's something more than that to designing applications on the screen level, though, and listening to a recording of Bill Gross (of Idealab) talking at Stanford reminded me of one part of it.

At the end of that talk, he recalls the story of Carsdirect, of giving the founder a small budget and 90 days to prove there's a business. In other words, to find out whether anyone would buy a car from this site, without talking to the dealer. Turns out that once they got the web site up, in the first day four people did just that - buy a car. They would have to go and buy them from local dealers themselves and deliver the cars to their first four customers. However, what was NOT important to proving the business opportunity was whether they would be able to form a dealer relationship with auto makers, figure out the logistics of car delivery up front, and so forth. For the four first customers, it was enough to drive the cars from the dealer's lot up to their driveway one at a time, by the founder!

This is the MVP - the minimum viable proof of business. The front-end of a business is where value is delivered. Sometimes you can prove that with just by showing Photoshop images of the service to prospective customers. Sometimes you need to have a prototype site up that looks and feels like a real business. What you will not need is to figure out the supporting processes, back-end business logic, and a whole partner value network to prove business potential. Sure, those are things that you will need to figure out to turn a profit - but without the front-end facing the customers and acquiring sales, there's no revenue, there's no business, and there's no chance of profit, never mind how wonderful your back-end would be.

Looking back, I'm not sure I knew this back in the days. I was lucky to have people around me who did. Today, I still see a lot of people thinking of future businesses worry about the back-end processes before they've figured out whether there is a front-end business. Tackle the front-end first. Sometimes Eric Ries's "spend $100 on Google AdWords and see if you get any clicks" is enough to do that, sometimes you do need a web site resembling a real service. Do not waste your precious runway building out something to support even the first 10 customers through the entire product delivery before you have one customer, though! If you get even one customer, you're learning a ton about how your next product version is not what you though it would be.

Monday 26 April 2010

A new lean software manifesto

This weekend saw Eric Ries's Lean Startup movement produce a conference on the approach. People who were there have already summarized and documented the proceedings in quite a detail. One of the interesting take-aways seems to have been Kent Beck's proposal for the evolution of the Agile Manifesto into something more applicable to the startup context of continuous learning and adaptation. Apparently, it has created quite a bit of discussion, but apart from the video recording, I haven't seen it being stated completely anywhere. So, it goes something like this (original waterfall comparison parenthesized):

As practitioners of software development to support lean business, we have come to realize that the unknowns of the business context are more critical to the success of the enterprise than the attributes of the software we create. As we learn this, we have come to value:

Team vision and discipline over individuals and interactions (or processes and tools)
Validated learning over working software (or comprehensive documentation)
Customer discovery over customer collaboration (or contract negotiation)
Initiating change over responding to change (or following a plan)

That is, while there is value in the items on the right, we value the items on the left more.

I hope I did not butcher some subtlety when extracting those words out of the keynote speech. Now, for my own view: there's plenty in the above statements which I can resonate with, but some bits that I find myself somewhat uneasy about. And no, it's not over the second point, which apparently has ruffled the feathers of quite a few software engineers (I'll let Steve Freeman explain that one).

The biggest issue I have is with the third statement, preferring customer discovery to customer collaboration. Not because that's not a great thing in some situations, but because it limits the applicability of this model to a tiny cross section of where the lean principles truly apply. Namely, it works great for a garage startup that doesn't yet know what its market really is. It doesn't work all that great for a business which already has customers, revenue, and even profit - yet such a business is still well served by maintaining a lean approach. Now, one may argue that a growth business will always need to continue to discover new customers, either similar to those it already has, or entirely new segments, and I will not disagree. Still, there comes a point where greater success comes from collaborating with your customers than from looking for new ones.

The second issue I have is with the first statement of preferring teams and discipline over individuals and interaction. Again, not because I disagree, but because I know there are many people who will interpret the word "discipline" as "lets set up processes, plans and approval mechanisms", and turn the whole thing back to waterfall. Successful application of the agile principles has never been as easy as the books and educators make it sound like, and the subtlety of the differences between the values of the first statement is, I think, the primary reason why.

Tuesday 8 December 2009

The balance of great products and rapid evolution

I wanted to link to Andrew Chen's recent article, Does every startup need a Steve Jobs, because it's a useful discussion about the differences between technical feasibility, design-led desirability, and business viability, a triplet productized by IDEO, and one that we also identified a decade ago at Razorfish (wow, it's really a decade ago!). As for the question in the title - no, I don't think that's the only way to create greatness, though clearly if you have Steve at your disposal, you could do worse than have him run everything. :)

Seriously though, at least in this consumer-targeted software business that I'm familiar with, it's crucially important to have those three principles well represented at every level of the business. Sure, it's possible to create a successful business with just two or perhaps even just one of those viewpoints, especially if you can get away with copying someone else but just doing it with better economics. However, to create something new and be successful, it'd be a mistake to ignore business, technology or design. Sadly, of the three, design is the one most commonly ignored. According to this interview of Ken Auletta of his new book, even Google ignores it, Marissa Mayer notwithstanding.

Anyway, what I'm particularly interested about is how can you marry great design with incremental, rapid iterations on the market. I'm pretty sure I've understood how to iterate out in the open with regards to technical work, and relatively comfortable with iteration regarding business aspects. I've yet to come up with a really convincing argument for iteration and design on a very granular basis - well, I can convince myself, but I'm having less success convincing designers. :) If anyone cares to share their secrets, I'd love to hear more.

Tuesday 26 February 2008

A look back at GDC, and forward to ION

Much to my regret, I had to miss GDC San Francisco this year, but I've been following with interest some of the session transcripts and got feedback from my colleagues who just returned. One thing I noted in particular was Raph Koster's comments on the iteration speed of web developers (measured in days  or weeks typically) vs that of game studios (where the difference might be six months for a casual Wii title and four years for a triple-A PS3 title -- of course iterating inside the development team, but with little consumer feedback). It seems Raph has taken a lot of this onboard in the development of Metaplace, as seen in their pre-release "postmortem" session.

Of course, I noted this because this pretty much reflects how we (Sulake) have been modeling not just our development process but our business management methods driving that development. That is, make the iteration cycle ever faster, learn to do big changes in very, very small chunks, incorporating metrics- and testing-based learning all through the cycle.

Also, I'm going to be talking about this very topic this May in ION 08 in Seattle. Looks like I missed a lot of interesting discussion relevant to that session, so I hope I won't be repeating too much of what was already stated in GDC.

Tuesday 8 May 2007

Using conflict as an opportunity

I ran across notes from an interesting workshop dealing with problem situations in projects, where problems are anything from missing estimates and deadlines to outright intra-team vandalism and violence. The interesting part (to me, anyway) is the concept of pre-conventional, conventional and post-conventional organisations and the differences in approach to conflict. Personally, I've always felt most at home in a situation where conflict (of priorities and objectives, not between people) is understood to be a resource that helps progress to be made, and it's taken quite some time for me to learn to understand different types of personalities in this respect. I probably still don't, or even understand my own behaviour in all conflict situations, so happily I still have something to learn better :)

A longer paper about the ideas behind the workshop is here.

Thursday 26 April 2007

Tietoviikko on agile development

I'm quoted in this TiVi article on agile software development.

Yhtiö otti ketterät prosessit käyttöön vuoden 2006 alussa. Tänään ketterää kehitystä tehdään viiden hengen tiimeissä. Pilottimaana toimivassa Suomessa julkaistaan joka kuukausi uusi versio palvelusta, joka viedään myöhemmin muihin maihin.