Transcript of My Portion (slides above)
Almost two years ago now, I joined a small enterprise software company that has a product for the Property & Casualty Insurance market that supports selling, administering, billing and supporting insurance products such as automobile, homeowners, and commercial liability. This software system, as with many, requires setup and customization to enable it to support each individual insurance companies products and operating model, for example where they might use captive versus independent agents, or centralized billing and claims departments versus field or branch offices supporting customers. Ultimately, each new customer requires an implementation team to setup the system to support their business lifecycle from sales (agents) to billing to customer service when an insured reports a claim. When I joined, I inherited a number of challenges affecting the professional services organizations ability to understand what work was in flight, it’s progress, and whether or not it was even approved work whereby its costs could be recovered from the customer. There were monthly write-offs due to confusion between project teams and customers paying the bills and a dedicated resource responsible for running around and asking folks what they were working on. Having come from a fairly well organized consulting company that had explicitly defined processes around contract management, staffing, billing, etc., I knew that I needed to put in all the basics.
A few years prior I had led a software selection project for a large company that wanted to take advantage of an enterprise project management tool. During this project I became aware of many offerings on the market and had seen the idea of “Professional Services Automation” begin to be championed by several vendors. This lead me to dream big as I expected there would be great solutions to how I wanted to run this business. Services Resource Planning (SRP) really is about supporting the end-to-end business process. Fortunately, I was able to step back and think about how to put the pieces together. Specifically, at ISCS, I have new customers that need a project team to setup our product for them and have existing customers with ongoing service requests and product issues. Ultimately, I needed real-time visibility into all of this work, but more specifically need to be able to answer these questions:
- What new service opportunities exist (i.e., projects)?
- What issues are my customers having?
- What are people working on?
- Who’s available?
- Are they working on the right things?
- Are we billing for their work? How much?
- Did we bill for the work?
- What are the margins of my projects?
- What are the margins of my maintenance agreements?
- What are my margins by customer, by the whole department?
With answers to these questions I can then make decisions on staffing, training, recruiting, and goodwill.
More importantly, with this level of insight and transparency, I can better manage internal and customer expectations and plan for a more probable future rather than executive intuition.
It was also very important to me that both our customers and employees could see all of the cogs in the wheel and where things are at in the assembly line.
To support this vision I needed a multitude of capabilities that if not yet found in one system, needed to integrate with others to provide end-to-end business process support. In a smaller company with staff focused on customers, I didn’t want to have a large IT investment in either software, hardware or administration. Similar to how my company enables our customers to run our system in the cloud with my team working in the background to make sure everything works behind the scenes, I wanted tools that were also managed by someone else so that I could focus on running my business rather than keeping operational applications running. I choose OpenAir as the heart of my Professional Services Automation vision and Salesforce Sales and Service Clouds to enable a SRP style operating model, and we already had QuickBooks, which is used by most small businesses. OpenAir supported my SRP vision Day 1 with pre-built connectors to Salesforce.com and QuickBooks. Beyond just opportunity management, project delivery, and financials, I also wanted human capital management, as Mike defined it, supported as well to give me a complete picture of the Services Supply Chain. Having capabilities such as resource booking, skill tracking, availability are key components to streamlining and creating an efficient process for allocating the right resources at the right time to deliver customer value.
Specifically, the tools needed to support project work and customer support, both with unique yet similar operating processes. Let me begin by walking through how I’ve leveraged these tools to meet my vision in supporting project work.
Every project begins as an Opportunity, creating visibility into current and future demand just like a factory manager would have to plan for the manufacturing of its widgets. Managing services opportunities in the same sales system as our product sales, all of us on the management team have greater visibility into all potential revenue without waiting for financial reports that are after the fact. Sold and lost project opportunities are tracked not only by title and forecasted revenue, the focus of most CRM tools, but also by resource costs whether it be time or expenses as each become a Project in OpenAir. The Project is the heart of the operation. All resources track time to a project, whether it be internal facing or customer facing inclusive of expenses.
If the project opportunity is lost, then business development costs are captured to reflect true profitability. If the project opportunity is won, then the project kicks off! The great thing about OpenAir is its ability to marry actual work efforts, captured in individual timesheets, to the original plan. The really exciting capability we use is something I call “Democratized Estimates”. As resources keep track of time spent on a task, they are also asked to provide feedback as to how much effort they believe is remaining on that task. This is then aggregated and gives a more accurate picture of how a project is progressing. Both our employees and our customers have access to this information. I also use OpenAir’s resource bookings module to match up active and potential projects with current staff to allow me to better plan for when I need to increase capacity whether it be by recruiting more FTE’s or leveraging partner resources to deliver the work. And of course all this service needs to be billed and fees collected from our customer. Again, the project is the heart. Opportunities have a corresponding contract that defines the fees and planned effort. We capture this data in the Salesforce Opportunity record as I have illustrated. This data is then passed to the project, which tracks it as budget in dollars and hours, two existing OpenAir fields. Following the billing rules defined by the contract or Statement of Work, OpenAir’s billing function then processes time spent and its associated fee rules (e.g., rate card based, task based, or fixed fee) to calculate the billing amount, which maps to the invoice. These charges are gathered and processed monthly, rolled up and packaged into an Invoice that is passed along to QuickBooks, our financial accounting system of record along with expenses reported. Customers now have a complete view from what was expected per the original contract to what is invoiced, which provide task level detail and charges that map directly to the project plan. This provides exceptional visibility into the profitability of project work, but for those of us that are responsible for additional support activities, that may be managed in a traditional case management system, one needs data from the cost of that effort as well to see true profitability across a customer on the whole services operation.
Our customer support team uses Salesforce.com’s Service Cloud to track and manage customer issues along with small service requests. These cases are visible to our customers through an online customer portal and are managed by the same lifecycle of project work. Each maintenance agreement sold with our product is expected to provide budget for continued support to our customers following a successful implementation of our product AND of course this revenue drives R&D, sales and marketing, and of course provide profits. The main question is, “are we charging enough for these maintenance contracts to enable further product innovation, allow us to grow the business AND support the customer?” Or alternatively, “Are we charging too much?”
To answer these questions requires time and expense accounting to support each customer. We begin again with an Opportunity in Salesforce representing a year of the contract, which then gets a corresponding project in OpenAir, which creates a container for us to track our time against. Cases are pushed into OpenAir as tasks within the “maintenance” project to allow for this accounting. This approach also allows us to combine billable work requests as they come accross as cases with a type that is recognized by OpenAir’s billing rules as something that needs to be charged for. You may be wondering why we’d break up the maintenance contract as separate opportunities given they’re typically a multi-year deal. Well, we found that if we were going to keep adding cases as tasks within that project that over time it would become too unmanageable, so we decided to close it out at the end of the year and create a new one representing the subsequent years value. Having costs tracked against cases and rolled up against the project, which contains the budget allocation from the maintenance agreement, we can then produce management reports illustrating the profitability of each contract. This data is not only available to us in OpenAir’s reporting, but is also pushed back to some extent into Salesforce so that we can leverage it’s powerful Analytics capabilities and aggregate with forecasted sales data. As with project work, any charges and time spent on support cases can be pushed into the invoice for increased transparency showing some work with $0 and other effort having charges, which will have the Case ID allowing the customer to review back in the customer portal. Hopefully, my team made sure to get the customers approval before doing the work, something I haven’t figured out how to automate yet. 😉
We had all of this live in a couple of months and immediately received feedback from customers that they felt more comfortable with what we were working on even though our billings went up on account of better tracking of billable work. From their perspective they had better insight on the status of their requests and in real-time, everyone knew who was working on what, and we nearly eliminated the monthly dance of explaining the invoice and negotiating write-offs. The new operating model and tools have enabled us to reduce overhead on project staffing, project setup and the billing process. But most importantly, leveraging the decision sciences of ERP we are able to make more insightful business decisions on real operational data.