Quite a few of our customers are professional services firms that are looking to manage their business in Salesforce. Here’s a quick overview of a model we’ve developed and some customizations we’ve built in Salesforce to help architects, engineers, management consultants, and other project focused organizations.
The model starts by recognizing that Salesforce out of the box doesn’t have a great way to plan, forecast, and manage resources. We feel Salesforce is a great cloud database for tracking this information, but it’s missing a friendly dashboard where a leadership team can go to manage staffing and projects while looking at the impact these choices will have on an overall revenue forecast. With that in mind, we’ve built a calendar based interface that provides visibility into a monthly revenue forecast and staffing.
Here’s quick snapshot of the type of UI we deploy in these situations. It’s built on core Salesforce objects, but leverages some custom code and an object model we routinely use for services organizations –
The key to this UI is that it pulls in the summary data from all projects, the associated resources and months to provide a rollup forecast for the month, quarter, and year. This means that when a business manager is working through staffing they can see how resourcing changes will impact revenue. Here’s a larger version of the simple forecast –
The calendar detail then allows a manager to see which resources are staffed on projects, how long the projects will last, the value of those projects, and the color coding highlights whether the project is sold work (“booked”), proposed work (“Forecast”), or potential work (“longshot”). This level of detail helps managers to quickly understand the business situation and plan for multiple resources simultaneously.
Here’s a larger view highlighting the calendar –
This all works seamlessly because behind the scenes we have a few custom objects to track projects, resources, and the alignment between resources and projects. The key is our resource assignment object (pictured below). This is how we link an individual to a project and assign a start, end, amount and other attributes that describe how that individual will participate in the project.
This list view shows some of our resource assignments.
One neat thing about this object is that it is supported by custom triggers that automatically generate monthly revenue values when you set the start date, end date, and amount. This is particularly useful because you can change any of these values and the underlying months automatically re-calculate.
Check out the screen shots below for an example –
The months are automatically splitting the $3,000 amount evenly across the days between July 5 and September 1 resulting in the three forecast months below.
Now if I change the amount to $10,000 and the end date to October 2, I see my forecast months recalculate and my rollup view update the month, quarter, and yearly totals.