This article helps everyone with the suggested cleanup activities of existing models where Anaplan best practices weren’t adhered to from the beginning. Please follow this and develop a more user-friendly model.
Begin by revisiting all the tabs in the User Access setting and set appropriate access by roles. A common mistake is granting full access to all roles, even though a specific role shouldn't have access to this complete level of items.
Turning off the summary of a line item can make a huge difference, especially in the case of a hierarchical list used as a dimension in a module. Simple ways to find whether to turn it off include the following:
Creating system modules is one of the best practices in Anaplan, and you can learn more about it while working on the Level 2 certification. If you have properties for the existing lists, switch that to line items by creating system modules. Unless the property is a Display name or is being used in any of the dependent drop-downs or exports, delete and recreate it as a line item. Things to keep in mind before you do so for the existing lists include the following:
Benefits of System modules
Naming a list, a module, or even an action is more decisive. This would be helpful in the future for the reference as well as helping the end-user to ramp up quickly with the model design.
Note: Turn off module names in the dashboards.
Review the model multiple times and try to pull out all the lists, modules, actions or even dashboards that are obsolete. Then try to find the line items which are obsolete or redundant and delete them from the model. Be very cautious before deleting a line item that doesn't have 'Referenced By' reference. This is because a line item can be used as a 'DCA' or a 'Filter' or in a 'Delete action', and unfortunately we don't have the functionality to see it straightforward. In these situations, it is best to use the 'Notes' field.
Filter Modules
Creating filter modules will aid model builders with the line items that are being used as a filter because Anaplan doesn’t give you this information. Things to keep in mind before you do this include the following:
The best methodology is to have only one selection module globally with 'Users' list as a dimension. If there are a lot of selection modules, try to merge them in one single module and use that
It is a good practice to have a separate module for 'Dynamic Cell Access' (DCA). One module with the same dimensionality is sufficient to maintain the line items and can be referred to as DCA in the respective modules. It will be helpful to check the DCA line items in the future if all are at one place.
The first impression is the best impression. 'Contents' tab is the zone where the end-user tries to navigate to other worksheets/reports. Try to keep it clean as much as possible. Best practice recommends hiding modules and saved views. Show only the dashboards and their respective functional areas in the 'Contents' tab.
Thanks @kavinkumar. Excellent article and timely - this is when many models need to be annualized.
I particularly like the idea of cleaning up those actions. I've seen models with hundreds of unused and undocumented actions - really makes it hard to find the ones that are really being used.
Do you think it's also a good time to revisit those list subsets?
Thanks for pulling this all together.
@JaredDolich Yep, that's a good idea!!
Thanks @kavinkumar.
Good article on Model Optimization. Nicely written in simple words. Keep up the good work. Looking forward for more such articles which will be helpful for the Community.
Few things from my side.
Contents Cleanup - Admins need to make sure that the "Enable Access to Hidden Content" is disabled otherwise End users have the ability to see the hidden content.
Filter Modules - Most of us do not pay attention to filter modules when defining access for the roles. We don't provide read/write access to these modules when these modules are being used as a filter in the reporting modules resulting in No access to the grid on the dashboard.
Notes - This feature is seldom used whereas it should be used all the times. It gives a clear idea why the Process/Actions/Modules/Dashboards/Lists etc was created & the purpose of having it in the model - provided Notes are written clear and concise.
List Subsets - As @JaredDolich pointed out already we need to have a close look on the list subsets as well. List subsets have a direct impact on the model size. List Subsets are not required if it contains more than 75% of the the list items hence can be get ridden of. Also if the list Subsets contain only one list item that too can be taken care of.
Functional Areas - Having modules arranged in the functional areas is again useful for the model clean up.
Overall nice post. Proud of you & keep shining!
Misbah
Excellent article, @kavinkumar !
It's always a good idea to read the
In this way, a model builder can scope a development roadmap and ultimately improve the user experience of their model.
Thanks,
Along with what @CallumW mentioned, specifically, I avoid list subsets as much as possible, and instead use booleans in a system module to denote true/false for list members that are categorized for a purpose
Enjoy the day