Around these parts (Silicon Valley), it’s widely accepted that, yes, it’s a good idea to go through a rigorous process of customer development and, yes, it’s a good idea to use story-driven agile development. Linking a rigorous customer development process to a productive agile development program is a major success factor for anyone with a new or changing product. Customer development is a framework for rigorous and empirical investigation of what customers want and how to deliver it to them. If you’d like a summary, there’s a good one here. Agile development is an approach to development that favors incremental delivery in short cycles with vigorous collaboration (as opposed to extensive documentation). There’s a summary on this previous post.
That these ideas are widely accepted isn’t surprising- the merits of these ideas are intuitive and the field’s most widely admired companies, publications and pundits talk about them all the time.
What is surprising is how lightly these are applied in practice, even here in Silicon Valley. My observation is that there’s a big ‘knowing-doing gap’ in the area. I’ve been working out why the gap exists and I think there are three main factors:
1. It’s Hard to Do the Right Thing
Great ideas are usually easy to grasp, but every new idea takes work to apply. Enter the fact that most people are filled to the gills with their day to day workload and you start to see why new approaches to product development are easier said than done.
2. It’s Even Harder to Implement Ideas if they Cross Departments
Linking a rigorous customer development process to a successful agile development program requires tight cooperation between the traditional departments of sales, marketing, product management and engineering (at a minimum). Since individuals adn departments naturally tend to measure their efficiency locally (within their own domain), implementing new ideas that cross departmental lines always ups the difficulty.
3. More Disconnects than Connects between Sales/Marketing and Engineering
This is an age old problem- not even worth getting into here in this post.
The interesting question is: Are there any good shortcuts to surmounting these barriers? After all, ‘Eighty percent of success is showing up’, as Woody Allen put it.
Since nailing the practical implementation of all these high tech best practices is what ‘Starting a Tech Business’ is all about, I thought I’d make my own contribution to a shortcutting these three barriers. I created a ready-to-go template in MS Word that links the results of a customer development investigation with a set of audience descriptions and user stories (inputs to an agile development process). Click here for that.
No one’s called to offer me a Pulitzer for this (yet) but simple things like templates can ultimately make a big difference in getting down to the business of actually initiating a best practice and making a habit of it. I know that’s what it took here at Leonid. It removes (or at least relieves) the need for someone to take a few days and define how the organization’s going to apply these new ideas and it provides a ready-made example of what everyone needs to do.
The implementation of customer development and agile are a learning process for everyone and feedback is very welcome. Please feel free to post here or drop me a line at email@example.com.