Friday, December 5, 2008

Prioritizing Your Salesforce Ideas / Projects



I am the Salesforce.com Administrator for a small company, but I still get a ton of requests to customize and change things in the system: custom fields, objects, tabs, workflow, validation rules, reports, dashboards, applications, you name it. Help! There are so many requests, I can’t keep up with them! Some of these requests are very practical, and I know they’ll help our CRM initiatives greatly. Others aren’t so very useful (at least from my perspective). And of course, everything is URGENT! How do I track and priortize all these “urgent” change requests?

Great question, and a problem every Salesforce.com Administrator faces, I’m sure! Let me share an approach I use, perhaps it will help in your situation.

First, implement Ideas. Ideas is a “free” Salesforce.com application, available to organizations with Professional, Enterprise or Unlimited edition user licenses. If you’re familiar with the Salesforce.com IdeaExchange, the concept is the same. In fact, Ideas is based off the tremendous success Salesforce has recognized from their IdeaExchange. For more information about Ideas and IdeaExchange, check out my previous blogs here.

Inform and train your users on the use of Ideas. Set their expectation that all change requests to your CRM platform MUST be submitted through the Ideas tab. Prime the pump by creating Ideas! Through the newly deployed Ideas tab, post all of the projects and change requests you’re currently aware of. Get them off the yellow stickies, excel worksheets and email messages that you've been tracking them in -- get them in Ideas.

Every time a User approaches you in the hallway, or sends an email / voice message with an idea request, ask them to add it to the Ideas tab. Don’t worry if your users are initially reluctant to create, promote or comment on Ideas. Change takes time. Just make sure that YOU aren’t implementing any new changes to your organization's CRM platform UNLESS it has been submitted as an idea.

Now your Idea bucket is starting to fill up. Users can see the ideas they have submitted, and also those submitted by their colleagues. Users become aware that there are a lot of competing ideas and change requests in your queue. Furthermore, you can update the Idea Status field, showing your users which ideas have been reviewed, which ideas are coming soon, and which ideas have been implemented. Create Public Dashboards that track and show this information for your user community.

I created a Workflow Rule which sends a “thank you” email to Idea originator, and copies myself. I review every email as they come in, and create a “project” for each Idea. Some projects are fast and easy, some take longer and may require a more disciplined approach -- but every idea is tracked and worked on as a project.

Keeping track of these projects is easy! I created a custom object called “CRM Projects”. Here’s a sample page layout for the custom object (click image to enlarge):



All the important information is tracked in these CRM Project records: a unique project number and name, a link back to the Idea, originator of the request (my "internal" customer), drivers, constraints, pictures, etc.

“Ok, JP, but how does that help me prioritize all these Ideas and Projects? You’ve just given me more work, because now I have to go look at all these ideas, review them, qualify the ones that are worthy as projects, and then do some data entry describing what the project is!”

There are several fields in this custom object which help me prioritize the projects:




Importance: Picklist field, with 3 values: high, medium, and low
Urgency: Picklist field, with 3 values: high, medium and low
Effort: Picklist field, with 4 values: hours, days, weeks, months
Priority: A numeric formula field that provides a weighted priority for this project. Here is the formula that I use (alternatively, click the image to the left)

CASE ( Importance__c , "High", 1, "Medium", 2, "Low", 3, -999)
+ CASE ( Urgency__c , "High", 1, "Medium", 2, "Low", 3, -999)
+ CASE ( Effort__c , "Hours", 1, "Days", 2, "Weeks", 3, "Months", 4, -999)
- 2

This last field, Priority, is the most important in the bunch. Check out this List View, which shows all of open CRM Projects, along with their individual Importance, Urgency, Effort and Priority values (click to enlarge):



Wow! That's a lot of projects to work on -- more than can fit on one screen! The List View is sorted by Priority and secondarily by date. This gives me a weighted view of all the projects.

For example, the first project (Project ID: 2008-114) has High importance to the organization, High urgencyto the idea originator. It's a fairly simple request, should take only a few hours effort – certainly less than a work day. So based on the priority formula, this project goes right to the top of the list – even though it’s comparatively new to other projects on the list.

The key, of course, is setting proper values in these picklist fields. In general, I use the following criteria:

Importance: How important is this change request to the business organization? Don’t factor how long it will take to implement or deadlines – just assess the importance of this project to the company. Guiding Rule: Weigh the importance of the project to the Company, not the original submitter. Here’s the litmus test: put yourself in the CEO’s shoes (I love doing that!). If the CEO were aware of this request, would he consider it highly important? Somewhat important? Not so important? If I have any doubts, I'll just head up to the corner office and ask, “Hey, J.C. … how important is this project to you?” We’re a small company, too, and I’m not known for my timidity!

Urgency: How quickly is this feature needed? Sometimes I can determine urgency from what the Idea originator has written. More often, I can't really tell until I follow-up with them in person. That's right, I always talk to these Idea people face-to-face before setting up the project. From those discussions, I can gauge if the feature is a “Nice to Have”, “Must Have”, or “Heeeeeellllllllppppp”. And based on that, I can rank the project urgency as Low, Medium or High, respectively.

Effort: This is my estimate of how long it will take to implement the project. Custom fields, tabs, reports, dashboards are easy. We can bang out lots of those types of Ideas in few hours. Workflow rules, validation formulas, apex triggers, and Visualforce page changes might take days. Not always, as some workflow rules can be implemented very quickly. However, when you factor in our company policy to do all changes in a Sandbox environment first, and also to careful document, test and manage revision control of all changes, the cycles quickly add up. More complex Apex, Visualforce pages and application changes might be sized at weeks or months.

Priority: This field is updated automatically through the formula rule defined above. It’s a very simple weighting algorithm. Highly important, highly urgent and simpler projects jump to the top of the list. Projects that are less important, less urgent, or more difficult to implement settle somewhere lower.

One final note: as CRM Project Manager, I don’t use the priority value as the ONLY assessment for determining what my team should work on. Projects are not worked in top-down order, based solely on their priority. It’s simply a tool for determining the weighted priority of projects in my queue. However, if I’m working on projects that are NOT on the top of this list, I make sure my boss knows it – and the reason why.

4 comments:

  1. Hi,

    Really nice post, im actually heading my head against a wall to try and keep up with feature requests.

    Thanks

    ReplyDelete
  2. I agree, great post. But I'm curious...where do Cases fit in?

    Do your users submit Cases when they have a question or issue? If yes, was there a learning curve for them to figure out when to log a case vs post an idea?

    ReplyDelete
  3. I don't use Cases for internal users. There are a lot of organizations that do, and the tool certainly allows that. This might change some day, but to date, there hasn't been a compelling need.

    All Cases are originated by Customers (either via the web portal, email or phone calls), or created by internal users on behalf of Customers.

    ReplyDelete