
Since Salesforce is so robust and flexible, it’s common for developers to try and include too much in the initial version of their product. When it comes to your MVP, we recommend you aim for Minimum Loveable Product: a product compelling enough that people want to buy it, not just sample it. Here are three best practices around how you design features that merit consideration within your MVP feature set.
1. Gather Early User Feedback
There are a lot of easy wins you can bake into your feature set that helps users be successful when you put the time in to understand what they want to do with the app you are building. As you gather feedback, it’s critical you identify subject matter experts whose professional experience maps to each persona.
For example, if you’re building a marketing tool, create personas that reflect Marketing, Sales, Management, and Salesforce Administrators, then find subject matter experts in those areas. Aspire to gather feedback from these experts as quickly and early as possible in your development cycle – and allow this feedback to inform your rapid prototyping. Make sure every feature you invest development effort against can be clearly explained as targeting the needs of your persona(s) and prioritize them accordingly.
Observing real users is the best way to identify which features will deliver delight. Physically sitting with subject matter experts isn’t always possible. However, if you can, you will learn more than you expect by watching them navigate through the features of your app.
2. Design for Customers AND Administrators
Sometimes developers focus so heavily on end-users that they don’t consider how the functionality in their app will impact the Salesforce administrators at their customers. A great way to lower support costs and accelerate the deployment of your app is to keep administrators in mind when you design features.
Try to design your features so they offer ease of management for individual and multi-permission based access for a broad range of users. Admins who use your app may need to manage scheduling for specific functionalities or may want the ability to assign certain properties of your app to specific users. This can take admins a lot of time to do, particularly if you build custom interfaces – which is why you should avoid custom interfaces and use standard Salesforce functionality whenever possible.
As seen by leading AppExchange partners, installation wizards are attributed to rapid growth and sales. The Salesforce Administrator is often neglected but can have an enormous impact on adoption (and churn).
There is a common temptation to design a new interface with Salesforce, often copying from the interface that exists in your web application (if you have one!) It has been shown, however, that Salesforce users can become quite confused between the kaleidoscope of potential user interfaces. Thankfully, Salesforce has made it as easy as possible with the Salesforce Lightning Design System (SLDS). Not only will it provide a consistent look and feel for your product but it will save you considerable time as well.
3. Pursue Out-of-the-Box Salesforce Capabilities with Relentless Fervor
After defining the features required by your end users, do yourself a favor and exhaustively explore Salesforce’s out-of-the-box functionality. There is so much already built into the platform; it’s a shame any time developers build something custom when it could have been added to their app with just a few clicks. Salesforce created a great resource called Trailhead to walk you through the platform’s capabilities. Once you start creating custom code, it can cost you 10-100x more in the long haul to maintain, and sap your ability to build truly innovative functionality that differentiates you.
If you don’t have deep in-house Salesforce expertise, reach out to someone who can help you understand what Salesforce can do out-of-the-box before you start coding. If you continually leverage native Salesforce functionality, you will save significant time and effort. When developing on Salesforce, always follow the mantra of ‘click, not code.’
To leverage as much out of the box functionality as possible, a good portion of your application and data should reside within your Salesforce product. For 100% native products, this is not an issue. However, for composite applications (and the majority are!), we find that reporting can be a common stumbling block if the data from the composite application is never actually integrated into Force.com. At first blush, an iframe (better: Canvas) integration may look like the fastest way to MVP. However, your users will quickly become frustrated when they learn they are unable to report on the data in Salesforce.
Final Thoughts
When you think about best practices surrounding features for a Salesforce app, focus on personas and make sure that each feature you commit to building can be justified as desired by your target audience. Your most in-demand features should always be the easiest to use.
Remember the ‘click, not code’ mantra – as it will save you immense pain later in your app lifecycle, and get you to market faster. If you don’t have deep Salesforce expertise around the platform’s out-of-the-box capabilities, work with someone that does. We can’t stress enough that researching native functionality on Salesforce can help you meet your business goals.