Saturday, March 15, 2008

Product Management Software

I attended the P-Camp today and heard Christina Noren from Splunk talk about Automating product management in an agile context. The gist of the talk was how she had customized Jira to track bugs, feature requests and problem statements and automate their prioritization and PRD creation using various metrics. Solidcore takes a very similar approach to structured Product Management and I am sharing our experience building such a tool. When we realized that we had grown beyond the stage where all feature requests and the roadmap could be tracked in a spreadsheet, we started looking for a solution that -
  1. would streamline our requirements elicitation and capture process
  2. help us prioritize features and cases using various metrics like opportunity cost and customer commitments
  3. improve communication with various other departments like engineering and support
  4. would integrate with our existing systems (Salesforce.com through which we dealt with external case requests and Bugzilla, our internal bug tracking system)
We evaluated various products like featureplan, rally's requirement management, artifact's lighthouse, etc - a good list and comparison is available from the 280 group and found 2 common roadblocks we found across all these products -
  1. they worked best when all the data was captured using that tool
  2. they were expensive
Roadblock #1 meant that we had to start using these products for tracking customer cases and internal bugs also (or duplicate the data). Roadblock #2 is debatable as the benefits of these products can significantly outweigh their cost. We could have justified the cost, but as a startup, we pride ourselves on being tech-savvy and our parsimonious nature. So, we built an App that met all of our requirements at zero non-incremental cost and here's how we did it.

We customized our Salesforce.com accounts (which we use for sales, marketing and customer support) to also track feature requests. We ask our Sales Engineering and Sales team to provide a weekly report of all the ideas that they heard about (during Demos, RFI/RFP questions, customer deployments, negotiations, etc) and capture it in the system. To illustrate this, I am going to take the example of a TelePorter product and show you how we'd manage such a product. All these features are captured in the system and as you can see in the following two screenshots, we can use the system to just capture feature requests without assigning them to a release.


Every feature also has detailed feature requirements (and the requirement number) as shown below.


The system also allows product managers to target Customer cases and bugzilla bugs to specific releases and share the information with the support and engineering teams. No longer do they need to come to Product Management to get the date for the release as it is available from this association (as well as from the cases tab in SFDC).



During our regular roadmap meetings, we use reports to evaluate features based on their popularity, opportunity cost which is derived from the salesforce opportunity field, their impact on TCO for the customer, etc. and target them to specific releases.
The roadmap and the PRD are then auto-generated as reports, as shown below.

Incidentally, we realized that the reporting infrastructure of salesforce has some limitations that makes it unusable. So, we use Crystal to develop these reports and their salesforce.com connector works like a charm. We are seriously considering sharing our App in AppXchange for free and sell the report definitions for a nominal amount. If interested, please send me a note.

No comments: