How To Outsource Product Management
Friday, March 16th 2007 | Ismael Ghalimi
Product Management is one of the most critical functions for any enterprise software company. As a product gets used by more and more customers, requests for new features start to pile in, and the job of a Product Manager is to prioritize them in order to meet customers’ needs, while avoiding feature creep. During Intalio’s early years as a company, we found it very difficult to manage this process. Too many resources where allocated to the development of features that very few customers actually needed, while features that could have made a significant difference on the market did not get developed, for lack of available resources. We only managed to solve this problem when we decided to outsource it, and selected an unlikely outsourcing partner for it: our customers.
The way we managed to outsource our Product Management function was through a process we called Demand Driven Development (a.k.a. D3), and launched a year ago. D3 is based on a two-phase process that empowers our customers to tell us what they need, they pay for it. In the first phase (Identification), we identify which features should be developed. In the second phase (Implementation), we implement them. The entire process is managed in the open from our community website.
You can think of the Identification Phase as Digg for Product Management. We publish a candidate list of features on the community website, and we let customers and partners suggest additional ones [Status: Submitted]. We then let the community discuss about them, and rate the features they like the most [Status: In Discussion]. We facilitate this process by providing additional input that we gathered from the field, then promote the most popular candidate features [Status: Estimating].
Once a feature has reached the Estimating Status, we enter the Implementation Phase, and we start involving our engineering team to develop a basic set of specifications for it, and scope the necessary development effort, quantified in man-months and calendar-months. We then multiply the number of required man-months by an average monthly cost (usually fairly low, for we do a lot of development offshore), to which we add a 50% overhead aimed at covering the maintenance of the feature for at least three years. Armed with these numbers, we come back to our community, and ask customers to bid for the development of the feature [Status: Out for Subscription]. As soon as we get enough customers to pay for it, we close the bidding process, and start the actual implementation [Status: Project]. When some features appear to be very specific to the needs of a particular customer, we ask for at least two customers to bid for it before we commit to its development. This measure helps us ensure that we reduce the risk of feature creep.
Once a feature is impemented, three options are available to us: One, we can give it to the customers who paid for it 3 to 6 months before anybody else gets it, thereby creating an incentive for customers to contribute to its funding. Two, we can incorporate it into the Enterprise Edition of our product, thereby increasing the value of a subscription. Three, we can donate it back to our open-source community, thereby getting help from the community for its downstream maintenance. In most cases, we do all of the above, in a staged manner, killing three birds with one stone.
In order to make it even more attractive for customers to participate in the funding of some features, we also give customers credits toward future subscriptions to our Enterprise Edition, equivalent to 50% of the amount of funding they contributed. As a result, if two customers end up paying for the joint development of a given feature, all they have to pay is a quarter of the overall development costs. We like to believe it’s a pretty good deal, and our customers tend to agree.
When we launched this program a year ago, it was initially received with a fair amount of skepticism. We knew that it would take time for the concept to sink in, and we decided that we would give it some time to mature. We signed our first project after six months, at which point the program started to generate more and more interest. We rapidly built a list of 60 candidate features, and in the six months that ensued, we signed another 11 projects, and doubled the number of candidate features. As of today, here are the projects that have received funding from customers:
- Graphical XML Schema editor
- Web-based user interface for creating new process instances
- Support for WSDL 1.1 headers
- Multi-channel workflow notifications
- Ability for end-users to claim workflow tasks
- Customizable workflow alert escalation
- Ability for end-users to save incomplete workflow tasks
- Workflow form export in multiple graphical formats
- Advanced JDBC connector
- Advanced SAP connector
A year into it, we can call this initiative a success, far beyond anything we could have expected in fact. More than 20% of our current engineering budget is currently funded through D3 projects, and we expect this contribution to increase beyond 50% before the end of the year. Along the way, we stumbled upon some side benefits that make it even more attractive from a Product Management standpoint.
First, such a process gives you a very effective way of dealing with what we call “checkbox features”, which are features that customers request as part of their evaluation process, but do not really need. Whenever we get asked for such a feature that we do not support yet, we point customers to our D3 website, and immediately get rid of 9 out of 10 checkbox features, without much further discussions. For the remaining one, we usually find a project worth considering, and get someone to pay for it immediately, which is nice.
Second, by opening up our Product Management process in such a way to our customers, we really turn them into development partners, and share with them the responsibility of developing the product they need, while asking them to vote with their checkbooks. This is a very powerful self-fulfilling prophecy.
Granted, not all parts of the product can be developed in such a way. In particular, the core components, such as the BPMN modeler in Intalio|Designer, or the BPEL execution engine in Intalio|Server, could not receive sufficient funding for them to be developed through a D3 process. Nevertheless, these are also the parts of the product that require the least amount of Product Management work, and can be managed almost entirely by the engineering team itself. These are also the components that we donated to large open-source communities (Eclipse and Apache respectively), thereby outsourcing Product Management to them.
If you would like some more advice about this process, feel free to drop me a line.
Entry filed under: BPM 2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

















Business process innovation by a business process management company! What is the reaction from buyers in large companies where they have (sometimes large) fixed budgets that they can spend on the initial product, but may not have the flexibility to spend smaller amounts later?
Anshu,
We offer them to pre-pay multiple years of subscription and to buy credits for D3 projects in advance, which they can spend as they wish over multiple years. This makes it a little bit harder for us from a revenue recognition standpoint, but as a private company, this is totally manageable.
Best regards
-Ismael
Ismael,
Sometimes you need to add a little more that is asked for my customers, otherwise you only have sustaining innovation. How do you cater for innovations of a disruptive nature? Not that I disagree with your approach, it certainly seems to be doing the trick.
Cheers
-Bob
[…] How To Outsource Product Management […]
Bob,
Disruptive innovation does not have to happen very often, so we can take care of it ourselves. Also, it usually does not require as much interactions with customers, for they would not be able to provide the right input, therefore Product Management is easier to handle.
Best regards
-Ismael
Ismael,
Salesforce.com has IdeaExchange. It is pretty similar to what you have blogged about. Beyond the public site, I guess Salesforce.com must be using standard Product Management methods to prioritize features for a release. Your method seems more democratic. I am wondering how you handle “Layer 8″ issues in this method — people, politics, administration, and management.
Cheers
Anonymous,
On which side? Internally to Intalio, or with customers?
Best regards
-Ismael
Ismael,
Thanks for sharing this. Very, very thought provoking. One thing that wasn’t clear to me — by “crowd sourcing” your product management functions, has this resulted in eliminating the Product Manager position, or has it just reduced the headcount in that area? I would think that there is still a need for a Product Manager to collect all of that feedback, synthesize it into clear requirements, etc.
-Mike
[…] How To Outsource Product Management […]
Ismael,
Externally, of course. Is the pre-paid subscription at a discount, or at regular subscription rate? Did you think about loyalty points instead of pre-paying subscription for D3 credits?
Thanks
Mike,
Yes, this eliminated the Product Manager position, and distributed it to various people within our engineering group. This is something that would not have been possible before. As a result, we reduced our costs and actually simplified the process, while delivering a product that is much more aligned with what customers are willing to pay for.
Best regards
-Ismael
Anonymous,
I am not sure that I understand your question, can you clarify?
Regarding the pre-paid subscription, we do not give a discount, but pre-payment ensures that you will not have to pay more in the event that we would increase our subscription price down the road.
What do you mean by loaylty points?
Best regards
-Ismael
[…] All in all, I really like this idea. If you like it too, let’s build it with D3! […]
I’ve attempted to explore the nature of participation within open source communities before. However, I’ve come away feeling as if I didn’t get exactly how/why actively participating in the open source software development life cycle is valuable…
Trackback this post | Subscribe to the comments via RSS Feed
Leave a Comment