When building your service management solution including case management in Salesforce Service Cloud there are several key areas that need to be accounted for in the design.
Consider the Data Where will your data be mastered and how do you make sure that you have the most complete view of your customer. Likely you have data in various systems such as ERP, CRM and others, but ideally you can access and manage (if not master) all customer data in Salesforce and present that data as required to your support teams during the support process. This data can include contact details, account information, previous interactions, products and services purchased, contracts and entitlement data, field service technicians and parts, knowledge, customer surveys and customer LTV information.
Reduce Effort Minimizing Customer and Agent Effort should be a critical consideration in your design. In fact, I recommend baselining the current customer experience and agent effort for your top 5 to 10 requests before commencing your new design. This will allow you to measure the improvements in the new system and reward / recognize your team for designing a solution that will improve this experience. I.e. To do X, the service agent went from 13 clicks and 273 seconds to 5 clicks and 125 seconds.
Be Agile Don’t try to boil the ocean as they say and DON'T try to replicate the existing solution. Understand the requirements, determine the minimum viable product (MVP) and build it; be diligent about the backlog and make smart prioritization decisions that meet your business and technology goals. Make sure that you are prepared to do regular releases after the initial deployment. Support needs and priorities change over time and so will the need to incrementally improve your service management platform.
Eliminate Technical Debt While these key areas are all critical to designing a world class case management solution you will also need a strong partner or internal team who understands that keeping technical debt low is paramount and building solutions using configuration and out of the box functionality is more important than showing off coding ability.
No common approach for design.
There is a standard way to do it- understand requirements, design, build, test, deploy. But that’s not valuable insight here. What is important is not to over engineer the design of case management. Start by understanding what you need on the transactional side (i.e. what is needed for the case management flow). Next, focus on metrics - even if you don’t have the bandwidth to implement fully. From experience, I have seen that the support teams will turn to that immediately - things like downtime and time between events is crucial to their day to day.
Just a word of caution on Salesforce’s out of the box system, it may seem simple from the distance, but it gets very complicated as you start to implement. I advise designing a system internally or using separate plug-in.