So, you’ve decided to build a custom app in Salesforce. Before you get started, there are a few important aspects to consider. As with any development initiative, effective project management from the onset is essential to success. Additionally, in our work with clients, we’ve identified some key considerations that are critical for the planning and design phase.
Here are seven factors to keep in mind when developing a custom app in Salesforce:
Have a critical ear when gathering requirements
As you begin this process, it’s important to define the end results you want vs. duplicating your existing processes.
Keep an open mind to proposing new ways to get to the same result: business processes may need to be changed to get the desired results in a custom app.
While Salesforce is a powerful tool, not everything is done best on this platform. If a functional process gets overly complex to design, it may be a sign to leverage another tool and integrate it with Salesforce – e.g., complex commission calculations may need to stay in Excel or be handled by another tool or app.
Reporting requirements need to be addressed in the design phase instead of being treated as an afterthought: these can drive decisions around field data types and object relationships.
Check for pre-existing solutions
During the design phase, it’s important to evaluate your existing Salesforce configuration and possible AppExchange solutions.
Are there existing apps or objects that can be leveraged to minimize customization? If so, are there Apex or Visualforce scripts associated with these objects? Be sure you take into account the complexity of updates or code changes.
Is there a pre-built AppExchange app that performs the same task?
Look for pre-built Lightning Components to enhance your Lightning app.
Carefully consider visibility, security and searchability
Data security should be at the forefront when designing the data model for your app.
Development of a custom app requires careful consideration of object-level security (CRUD), field-level security (FLS) and record-level security. This is particularly important when external users will be using the app through a Community.
Master-Detail relationships dictate that users, including Community users who can see the master records, also have access to the detail records; lookup relationships allow more control over the visibility of the related records.
User-based access should be tested thoroughly before moving the custom app to production.
Include profile-based testing of reports and dashboards, since they can display different results to different users, depending on field, object and record-level security.
Consider adding tabs for objects that need to be searchable, even if you do not plan to include the tab in the app’s navigation; only custom objects with their own tabs are included in search results.
Make sure your app will play nicely with others
Custom apps do not live in a vacuum. Changes you make could have downstream impact, especially if you are incorporating standard objects and/or integrating with other business systems.
If re-purposing standard objects, leverage existing fields where possible; you can add picklist values to picklist fields and only assign them to a specific record type. Warning: don’t hijack field help or other field-level attributes on standard objects. For example, making an existing field required can easily break Apex test classes, so consider making it required on the page layout instead.
If your app uses standard objects such as Accounts and Contacts, you might need to create new record types and layouts to differentiate new types of Accounts and Contacts pertinent to your app. Existing reports may need to be updated to include filters based on record type or other conditions.
Review existing triggers, validation rules, processes and workflows on re-purposed objects; you may need to add a condition based on record type.
Remember to follow your organization’s naming styles and conventions.
For integrations, consider whether the data from an external system needs to be stored in Salesforce, versus queried in real-time– e.g., Salesforce Connect can be used to get real-time data from external objects and report on it, without storing that data in Salesforce.
Prevent dirty data
Salesforce provides numerous ways for app designers to enforce data integrity. Taking advantage of these will help drive the adoption of your app.
Validation rules, default values and workflow field updates can improve the usability of the app, while contributing to cleaner and more actionable data.
Matching Rules and Duplicate Rules can help prevent duplicate records.
Use unique External ID fields when integrating with external systems
Don’t forget your road warriors
If accessibility from Salesforce1 is a requirement, adding quick actions and customizing compact layouts can contribute to a better user experience and higher adoption.
Keep it simple
Resist the temptation to add every bell and whistle and catch every conceivable corner case; this not only takes more time, but the results can make maintenance much more difficult in the long run.
BRINGING IT TOGETHER
Building a custom app in Salesforce can greatly enhance the benefits your company gains from Salesforce and automate processes that are unique to your business. Spending the time upfront in the planning and design phase and following the guidance we’ve provided will help ensure that your implementation goes smoothly. If you have questions or need additional resources, contact us! Enlisting a Salesforce consultant from Bridgepoint Consulting can help set your organization up for success. We are a Texas-based leader in delivering cloud-based solutions and employ a team of Salesforce certified experts who can assess your Salesforce needs and help you tap into the true value of your investment. Learn more about our Salesforce services here.
Explore additional Salesforce insights to help maximize the value of your investment:
Bridgepoint Consulting is a leading management consulting firm that offers a full suite of services and solutions to help companies navigate the complexities of growth and change. We work with the C-Suite—with a focus on finance, risk and technology leaders—to provide strategic resources and support critical business transitions. Learn more about our services here.