In our previous post (here), Johann and I discussed the importance of Maintenance and Spring Cleaning as required items in the Architect’s kitchen. Only in a clean Org your architecture can really shine.
We broke down our Spring Cleaning Menu into 3 categories: Mild, Medium, and Spicy.
Mild (sometimes referred to as bland or boring) items are definitely mundane but are, in our opinion, the items that can really pile up if you don’t stay on top of them. It’s boring work, but in working through these bland cleaning tasks, you can also learn a lot about your users and how they are using the system, which can lead to bigger conversations and spicier tasks! Tackling these items on a monthly basis (at a minimum), or even more often. Who is up for Tacos & Tech-Debt Tuesdays?
Let’s take a look at the items on the Mild Menu:
Remove unused Objects
Have you created objects to hold data for a specific purpose, but it’s no longer in use or viable? What about Working Models where you built something to show & tell, but it never got traction or implemented? Get rid of those things. If you want, package them and move them to a Dev org for a cooling off window before you delete them altogether.
Clean up page-layouts & List views
If you are spending some time on Tech-Debt once a week, pick an object a week and clean it. Are all the page layouts in use? Are there duplicates? Are there overlaps? Could new functionality (like Lightning Record Pages, Dynamic Forms and Conditional Visibility of Components) replace older page layout requirements?
For list views, you can use the Workbench and pull a file of all the list views on an object. See which list views are owned by inactive users – those are quick wins to remove. From there it will depend on the number of list views involved. You could manually review each one and either remove sharing or delete the views entirely depending upon your knowledge. If you don’t have the knowledge, then document the lists, who they are shared with and reach out to those groups. There is also a great post here about reviewing and updating sharing on list views.
Review/Remove unused fields
Again, as above, we would highly recommend picking an object and working this one object at a time. To start, is it clear which fields are in use and which aren’t? Is everything documented? If not, you need to begin at the beginning. Look at each field, add descriptions to indicate what it’s used for, make use of the fields available to indicate owner, usage, etc. Make this a habit when you create new fields. This will get you started with what needs to be deprecated. If you are unsure about the usage of a field, then start doing some research. Who can access the field? What pages is the field on?
Next up, you can use a tool like Field Trip. This will help you evaluate which fields have data in them across records. From there you can approach the business armed with all the info you need to help them make decisions about whether a field is needed. And don’t forget to ask all the questions: who is entering this data, how often are they entering it, how is it being used and by whom, who is evaluating the data for accuracy, what does it drive, can we count on the data?
First step is having a great Report Folder Structure. If you’ve got a nice structure where people own/manage their own folders and folders are shared to distinct groups then report clean-up is easier. In this scenario, the manager of the folder should be responsible for keeping their reports cleaned up. Then (as architect/admin) you can focus on the Public Reports folder as well as Global folders and Inactive User folders. From a Public Reports standpoint, our policy was to purge this folder every 30 days. We would remind users to move reports to an appropriate folder or it would be deleted.
From a deletion standpoint, we created a ‘Purge’ folder and would rotate reports there first, then on the next purge date we would delete the items in this folder. So as an example, on the 1st of the month, move reports in the Public folder to Purge, then on the 1st of the next month, empty the purge folder and move new reports in the Public folder to Purge. This keeps the report for 30 days so it can be restored for an end user if needed. For Global Report folders, our policy was to Purge any reports that hadn’t been run in 120 days. You can determine what the time frame should be in your org. And it’s always a good idea to do a regular purge of reports in Inactive user private folders to save space.
Check all Dashboards
Are your dashboards being run? Are they running as active users? Are all the underlying reports still available and viable for the components on the dashboards? Are they shared appropriately? Are there hard-coded values in components still accurate? Can you delete dashboards in private folders owned by inactive users?
Clean your Backlog & To-Do Lists
Take a regular review of the items on your backlog and to-do list and review their importance, whether they are still needed and re-order them based upon the current state of your org and workload. Things that were less important last month, may have bumped up the scale, and things that were a huge need might be able to be addressed in a different way.
Deactivate inactive users (Security!)
Ensure you have a company policy to freeze or deactivate users who are not logging in. Our policy was to freeze users who hadn’t logged in within 30 days and deactivate them 30 days after that. It’s also a great idea to stay on top of Permissions and security. This post has some great resources for that. Also if you have purchased Event Monitoring (via Salesforce Shield), setting up alerts and notifications based on user access is a great idea. The analytics available with Event Monitoring are a really great tool to stay on top of what users are doing in your org.
Now that we’ve gone through the Mild menu, here are some additional strategies as you work through this part of the cleanup process:
Strategies for removal
Removing something is really hard! Your users are hoarders, nobody wants to lose something. Humans are hardwired to avoid loss. “I might need that later” is the most common excuse and therefore the milk to our otherwise spicy dish. From our point of view there are two main strategies to overcome that fear of loss: Strategy Nr 1: Don’t ask, be quick and Strategy Nr 2: 5-Second Game.
Removal Strategy Nr. 1: Don’t ask, be quick
People will tell you they still need that button but will actually not notice if the button is gone. This strategy works great for elements you’ve got a feeling are useless but you are not sure and nobody is brave enough to make a decision. After you’ve hidden the element, wait for complaints. If there’s a complaint, add the button back again quickly, but if nobody complains for 30 days, the element can be removed forever. Works great on Fields, Buttons, Lightning Components, Apps, List Views, Reports, Tabs and Apps. Make sure to react incredibly fast as soon as somebody complains about the missing elements since this strategy relies on good will by your users!
Removal Strategy Nr. 2: 5-second game
The second strategy, ‘5-second game’ is a fun strategy. It’s quick, it’s radical and it’s a lot of fun. You approach a truly random user user. The task for this person is now: Explain to me each single element on a Page Layout. The user has only 5 seconds per element. If the user can’t explain the element in 5 seconds, the element is put on the elimination list. You should repeat that exercise with two or three more users. The idea is, if your users can’t explain something, it’s obviously useless and can be removed or it’s a target for advanced/updated training.
This method is hated by power-users and teamleads. Power-Users and Team-Leads like their complex page layouts, but we think you should build for average users and not the outliers.
Your Org did not get disorganized and cluttered in one day, and it will not get clean in a day, either. You have been living in clutter and CHAOS for a while; you are not going to get it clean in a day. We don’t want you to crash and burn. This is why we are teaching you to take baby steps and start with the Mild flavors, then slowly ratchet up the heat. As you establish one set of habits, you will very easily be able to add another one to your routines.
As we said in our previous post: as the Architect, it is your job to help your business maximize the full potential of the platform. You can’t do that if your org is not operating as efficiently as possible! And that means keeping things clean. Make the bed. Take out the trash. Dust things off on a regular schedule. You set the tone for your org. Everyone will benefit from the effort.
Love this list! I am back to being a solo admin so this is great timing!
LikeLiked by 1 person
Woot! I’ve been there before. Glad to assist!
Great right up Nana! I love the 5 sec rule.
LikeLiked by 1 person
Right? That was a goodie from Johann!
Pingback: Spring-Cleaning 1: Mild, a flavor for everyone – Cloud Johann
Very useful and fun article! Thanks ☺️
May I ask you how to pack an unused object?
I know about exporting metadata but not sure if you meant that.
Probably a typo – “Pick” an unused object…
Just looked back – not a typo – create a change set / move it to another org. Or create a Dev sandbox that’s got the object in it. Then remove it from production.
Thanks Nana! Have a great Sunday!
Pingback: Spring Cleaning: Medium – At least 3 times a year – Cloud Johann
Pingback: Salesforce Cleaning Menu – Medium: At least 3 times a year | Nana's Musings
Pingback: Salesforce is retiring Workflow Rules and Process Builder - VFP Consulting