Salesforce released the Feature Management App (FMA) to the public with the Winter ‘18 release. Since then, ISVs have searched for ways to leverage this technology and integrate it into their solution. We are seeing a trend with our clients — they are interested in learning more about the FMA and discovering how others in the industry are using it.
What is the FMA?
Before you can understand what the FMA is, you must first understand the platform it is built on. The FMA sits within the License Management App (LMA). In short, the LMA enables ISVs to control the number of users who have access to their app on a per-customer basis. From there, the FMA provides companies the ability to control what users see and how they interact with your managed package (i.e., your app). The FMA allows a limited number of features to be defined per managed package. Below is an example of how Feature Management works and how data is passed between the various systems.
Any ISV can get the FMA by setting up the LMA in a License Management Org (LMO) and submitting a ticket to Salesforce to install the FMA. An ISV must also request that Feature Parameters are enabled in the packaging org(s) — both the master packaging org as well as a separate pre-release packaging org for testing with the FMA.
What is a Feature?
Features are any collection of custom code or components that are assigned within the Feature Parameters tab. A feature can be defined within your managed package and is created within the FMA under the same Feature Parameters tab.
As you can see, the Features are broken into 3 types: Boolean, Integer, and Date. Due to the open nature of the FMA, what can be created as a feature is extremely flexible. Often, companies use the FMA to deploy product enhancements that expand the functionality of the app.
For an organization leveraging the FMA, it is important to keep in mind that with the limited number of features per managed package (25 at the time of this writing), there must be a strategy in place to define what should or shouldn’t be a feature.
Use Cases of FMA
Because the FMA is still relatively new, ISVs are still testing the FMA and discovering new ways to leverage it to enhance their product offerings. As a Master Navigator PDO, we’ve had the opportunity to implement the FMA for a handful of our clients. While the sky’s the limit for use cases, here are three ways we’ve helped clients:
- Freemium — enabling certain features and functionality based on whether a client has a paid or free license type.
- Piloting Betas — if you have a new feature that you want to release to a set of customers, you can designate those customers to test and interact with the new functionality without impacting your current customers.
- Managing multiple applications and streamlining development — by leveraging the FMA, you can enable/disable what previously may have required an entirely separate managed package by strategically aligning what is assigned as a Feature. We are able to reduce development time and overhead through this process by leveraging the existing codebase.
The FMA is a powerful tool, but there are considerations that ISVs should have in mind when building their application.
- A full managed package cannot be hidden or revealed using the FMA. Developers can tie triggers to prevent write/delete access, but having information hidden on profile or permission sets cannot be flagged under the Feature Parameters. You can, however, provide direction to users that these features are available with a call-to-action to reach out to the company.
- Testing can be tricky. Our developers found that the documentation was unclear for testing. There is no such thing as a test LMO so it requires a dark launch to the packaging environment where our developers could test the functionality and ensure features were being enabled or disabled correctly.
- You must have a features strategy. It is important to remember that the FMA supports only 25 features per managed package. While that can seem like enough when starting out, developers can run into trouble later on as the application scales and more features are rolled out. A common topic in the partner community is whether or not there is a way around the 25 feature limit, and at this time, the answer is no. There must be a strategy in place from the start on how your application leverages the FMA that accounts for more than the MVP.
The FMA offers companies a chance to test new features, evaluate preferences and activation metrics, as well as leverage different pricing models. We are excited to see how the FMA will advance and continue to work with companies to uncover new ways to bring their apps to life.
CodeScience has helped build over 250 commercial-grade applications. We were the first to receive the Master Navigator PDO designation from Salesforce — it is our mission to help partners thrive. Contact us today to discover your opportunity on the Salesforce AppExchange.