For any Enterprise Software Company, Product Management is one of the most critical functions. If products are utilized by more and more customers, than requests for new features will start to pile up, which is but obvious. In order to implement the needs of the customers, the job of product manager should be to prioritize the products in order, so as to keep, feature creep away from it.
Ismael Ghalimi put up his statement that the way we managed to outsource our product management function was through a process called Demand Driven Development (a.k.a. D3). D3 is based on a two-phase process that empowers our customers to tell us what they desire, and then they pay for it.
We can take Identification Phase as Digg for the management of products. We issue the candidate list of features on the community website, and we let the customers and partners advise additional ones. We then let the community to discuss and rate the features they like the most. We facilitate this process by providing additional input that we gathered from the field, and then promote the most popular candidate’s features.
Once the feature has reached the Estimating status, we make a move in the Implementation Phase and begin with the including of engineering team to develop the elementary set of specifications for it.
We then multiply the number of required person-months by an average monthly cost, to which we add a 50 percent overhead, aimed at covering the maintenance of the feature for at least three years.
Armed with these numbers, we return to our community, and ask customers to bid for the development of the feature. As soon as we get enough customers to pay for it, we close the bidding process and start the actual implementation. 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 in ensuring that we reduce the risk of feature creep.
Once the feature is implemented, three options are available to us:
- We can give it to the customers who paid for it three to six months before anybody else gets it, thereby creating an incentive for customers to contribute to its funding.
- We can incorporate it into the Enterprise Edition of our product, thereby increasing the value of a subscription.
- We can donate it back to our open-source community, thereby getting help from the community for its downstream maintenance.
In order to make the participation of customers more in the funding, we give the customer credits towards future subscriptions to our Enterprise Edition, equivalent to 50 percent of the amount of funding they contributed.
Such process gives you a very effective way to deal with what we call “checkbox” features. Whenever, we are asked for such feature, we point our customers to our D3 website, and without any lapse of time, we get rid of nine out of 10 checkbox features.
By opening our Product Management process in such a way to our customers, we really mould them into development partners, and share with them, the responsibility of developing the product they need and asking them to vote with their checkbooks.