legacy org

  • Cutting the Clutter: Maintaining a Clean Salesforce Org

    Maintaining a clean Salesforce org, doesn’t need to be a battle. Recently, I was watching a great webinar by Kelly & Leanne entitled ‘Cut that Clutter‘. And it got me thinking about how the problems faced by a cluttered Salesforce, and how it can easily consume an Admin’s time and effort. And it not only affects us as Admins, but also our end users! So in this post I am going to recap some of the awesome tips shared in this webinar, and also see offer some additional FREE tools to tackle the problem that so many of us face!

    The War Against Clutter

    Ok, ok. I admit that this header is full of hyperbole.

    Maintaining a Clean Salsforce, shouldn't be a battle...
    Don’t raise the white flag, in the war against clutter!

    But a cluttered Salesforce creates a lot of frustration and anxiety for me. And I assume most it does for most of you reading this too! My personal vendetta against clutter drives me to ensure I am always improving the org for my end-users…

    I have previously written about how we started to tame the Technical Debt beast haunting our primary orgs and removed over 2 million records from an org (hint: very manually).

    But there is still so much to do…

    It is a seemingly never-ending fight. But as Admin’s we are always looking for tools and resources to help us in our day to day Admin Superhero duties. And to help us in maintaining a clean Salesforce org…

    Cut that Clutter! – The Recap

    Now before we get much further. If you have a spare 30mins I strongly recommend that you watch the webinar as I am only going to briefly summarise it here…

    The session covers the Three-S’s. These are the primary areas to focus on, to ensure your CRM is kept in tip-top shape.

    • Security – making sure you know who can see what in your CRM
    • Structure – does the setup of Salesforce ensure data security and meet any data governance requirements
    • Strategy – how to plan and scale while ensuring you don’t have to keep doing ‘big clean-ups’ each year

    If you want to hear more, then please check out the video.

    Cut that Clutter: Resources mentioned

    Next up, the ladies mentioned some great tools to help you in maintaining your Salesforce org.

    From Salesforce:

    • Salesforce Optimizer (aka Optimiser in non-US/Canada countries ūüôā ) – I am in LOVE with Optimizer reports. It is such an amazing tool to help you analyse and understand where the Technical Debt is likely to be hiding within your org. This should be your first port of call, in maintaining a clean Salesforce. That is how much I love it!
    • Security Health Check – helps you understand any vulnerabilities you may have within your Salesforce. This covers areas like Password Policies, Critical Updates, etc.

    From AppExchange:

    • Field Trip – this tool is one I install in every org I have managed now for a number of years!! It is a great tool to help analyse and understand just which fields are being populated and used by your end users. It is worth noting, that if you have a field that is always updated automatically by a trigger/workflow… Then it will obviously show as being used, even if that trigger/workflow update isn’t actually required. But overall it will help you understand your org in very tangible way.
    • The Permissioner – can help you when mass assigning/removing Permission Sets from your users.

    From Trailhead:

    Additionally the ladies have set up an Admin Trailmix.

    This covers a number of modules covering: Salesforce Profiles/Permission Sets, User Authentication, Data Quality, Data Management and finally Reporting & Dashboards.

    Help with maintaining a clean Salesforce org

    Extra, extra! Two more tools to add to your Salesforce Cleaning toolkit…

    Now for the bonus round.

    There are always so many tools and ideas out there helping admins when maintaining a clean Salesforce org. And I am only skimming the surface with these next two tools…

    Compare Permission Sets & Profiles

    When watching the webinar, albeit not live, I started shouting at my screen.

    During the Security section, there was a point around Profiles/Permission Sets. As an admin it is a mammoth task to compare all profiles/permission sets and what they might grant access to within your org. This can be kryptonite to Salesforce Superadmins…

    There was a recommendation to switch off Enhanced Profile View, and then compare the permissions… But why do that? Especially, when there is a secret weapon at your disposal?

    Perm Comparator by John Brock is that secret weapon!

    Seriously… More people need to know about this tool! And I am not even on commission! ūüôā

    Stop duplicates in their tracks…

    Salesforce hasn’t always been an admin’s best friend when it came to cleaning an org…And without getting all ‘back in my day’-ish…

    But there was a time Optimizer, Security Health Check and those tools simply didn’t exist.

    There was also a time Salesforce didn’t have an easy way to prevent duplicates… Admins had to either buy other tools to identify and manage duplicates, or create complex formulas and validation rules to try and prevent exact match duplicates.

    But when planning your strategy for maintaining a clean Salesforce, you should investigate the in-built duplicate management tools from Salesforce.

    After all, what good is cleaning up your security (profiles, access policies, passwords) and clearing out fields you don’t use any more – if your end users are still swimming in duplicate records?!

    The in-built feature will take care of the basics, but depending on your use case, there may still be a reason to buy a tool like Cloudingo or DemandTools (just to name a few).

    What is in your toolkit?

    De-cluttering your Salesforce can be so rewarding!
    De-cluttering can be so rewarding!

    As I mentioned I only skimmed the surface here… And this is a topic I can (and will likely) write more about in the future. I have rambled more than enough for now…

    So to wrap up the post, feel free to add any other suggestions or recommendations for your ‘Cleaning Salesforce Toolkit’ into the comments section below.

  • Cleaning a Salesforce Org

    Data is such a big focus for anyone working with a CRM, Salesforce is no exception.  Previously we looked at migrating data into Salesforce.  But what happens when you need to remove data?  Cleaning a Salesforce org can present a few challenges.

    Say you need to clean your Salesforce org and delete/archive, because… ¬†you might have gone over your Salesforce data allowance?

    This is what happened to us recently.  One of the orgs my team manages went over its allocated Data Space, and we started getting emails / calls from Salesforce to remind us that we have used up our allowance.

    We had a choice, buy more storage (at Salesforce’s very inflated data prices). ¬†I mean c’mon it is 2017, 1TB with Dropbox/Google/Onedrive/etc is only around $100/year…

    As you can probably guess, this wasn’t our “go to” option, so we had to find out what we had in Salesforce vs what we needed, and then make a decision…

    (c) Dilbert

    Legacy org & technical debt

    The org in question was what I deem a “legacy org”, and has had presented a few challenges over the years. ¬†It has been an active Salesforce org since 2003. And without constant love and attention has built up so much technical debt because it was never actively managed/improved/developed…

    Even relatively simple things like enabling and rolling out Chatter were never done – even years after Chatter launched.

    Clean Your Salesforce Org: a balloon waiting to burst
    Clean Your Salesforce Org: Our org was a balloon waiting to burst

    As the company has grown, obviously so has the data stored within the org.

    Add into the mix that new apps installed in the org which have driven a sudden increase in the volumes of records being created (eg telephony integration and training people to log calls).  And hey-presto data storage & how we are using it is suddenly a priority.

    Where is the data?

    For an org which has grown from around 50-100 people in 2003, and a very simple business processes.  The question was how could we be using up out data storage suddenly?

    Why now?  How do we get to the bottom of what is happening?

    Admittedly it wasn’t something we had kept an eye on. ¬†So the first port of call was the setup menu.

    As you might know Salesforce offer a section in the Setup menu called ‘Storage Usage’, which is quite basic but gives you a snapshot of where your data and file storage is used. ¬†To use it, go to Setup -> in Quick Find, and search for ‘Storage Usage’.

    Boom, there it was.

    The org with over 23,000,000 records…

    The org had ballooned to over 23,000,000 records.  Shocking as our number of accounts are a fraction of that overall volume.

    What was even more shocking for us was that it was two objects consuming almost 70% of the total storage!

    Salesforce Data Storage
    Yes those numbers are real… We needed to clean our Salesforce org!

    The two objects in question: Tasks & Email Messages…

    <sarcasm> Oh joy! </sarcasm>

    Not all objects are equal

    Why was I so *not* excited that it was Tasks & Email Messages using up our storage?

    Salesforce Tasks & Archiving

    Activities in Salesforce have a unique feature which means they get archived by Salesforce after a set number of days.  This is typically around 365 days of being closed (but there are a few caveats to that), and can also be extended if you request it from Salesforce.

    This is an issue, as once archived you can no longer use the standard Salesforce reporting to analyse.

    And due to the sheer volume of records (over 12,500,000), it was even crashing Dataloader/Workbench/Developer Console when trying to export the data.

    When I did manage to get the export, by trying to filter by created year, the file was still too big to view in Excel.  Also we were limited to just Excel, which meant we hit a brick wall.

    Email to Case & Email Messages

    data storageThis org heavily relies on Email-to-Case.  And when received, the email is stored in the EmailMessage object.

    Additionally all auto-response emails are also saved against the case, in addition to any replies from the customer.

    Great for keeping track of all communication.  But once again creates some difficulties when trying to report and analyse.

    Also as an email gets saved against a case, it also creates a task.  So we end up with a sort of duplication, with a task and an email message created and linked to the same case.

    Getting the data out of Salesforce

    In the end we contacted Salesforce Support, as we couldn’t use normal methods to export and clean the data.

    The only suggestion that Salesforce could provide was to schedule a data export of the objects we wanted to export and analyse. ¬†Simple enough…

    Anyone who has used this feature will know the output of this is zip files, which contain CSV files inside.  Great it was going to be small enough to work with!

    CSV SplitterNope… Each CSV was still over 1,000,000 rows.

    Excel still was too unusable to analyse the data.  At this point I really was wishing for something like Access/MySQL to load the files into.

    Enter CSVSplitter, a really simple tool that allowed us to split the CSV files down into smaller more manageable chunks.

    Once they were broken into the smaller files, then we were able to start analysing the tasks.

    Analysing the data

    Inspector Gadget time!
    Inspector Gadget time!

    The road to cleaning a Salesforce org is paved with lots of data to analyse!

    You need to understand what you have, before you can understand what you need.

    So we started analysing the data.  And we dissected the data in many different ways to understand what was driving the volume we were seeing.

    We looked at tasks created by month and year.  Were there specific users who created more than others?  Were there common subject lines Рwhich might point to auto-generated tasks.

    Our Salesforce, had never ever been cleaned.  And we have used tasks in the past to drive system automation within the business.  So where relevant, these records could go!

    Archiving the data

    So we had analysed the data, now to archive it somewhere in case we actually needed to reverse the process. (FYI – while researching this post, I found this useful guide to creating a Archiving Policy for your company).

    Though storing the records outside of Salesforce and then trying to restore in the case of a profile would be painful if we had to.  But at least we had a fall back plan, and if needed the business could still use in reports.

    In addition a lot of care was taken in being conservative with what we are removing and working with various stakeholders to ensure the different departments were on board with our plan.

    Now we could start the actual cleanup!

    Cleaning a Salesforce Org: 2,600,000 records deleted (so far)…

    I have to admit, this part ended up actually feeling strangely cathartic.

    Being able to delete over 2.6 million records from an org was also a first for me ūüôā

    We essentially identified the records to be deleted, creating a CSV file of the IDs of the records we wanted to delete, and then use Dataloader to remove the record.

    Once we started with the tasks, we were able to then also move on to other records and start an overall clean out of Salesforce. ¬†Opportunities, Accounts, Cases… All are now in scope and we have created a data clean-up roadmap and are making great headway.

    We have a long way to go still, but at least we can start to let go of the legacy data past.

    And most importantly, make Salesforce a focused CRM for the sales and customer service teams, so it is easier for them to use.

    Salesforce Data Storage - Before
    Still a long way to go… But we shall prevail!

     

    Got your own ‘lesson learned’? ¬†Share your tips…

    I have worked in org’s where hitting the data storage limit was expected and almost required. ¬†As we deployed tools like FinancialForce which create a lot of records (and they need to). ¬†So we simply bought more data. ¬†But it really depends on your scenario, as every orgs needs are a little different.

    Have you been in a similar situation?  How did you decide what to archive?  Did you use any specific tools to help you?

    As part of this issue, we were able to make a business case for getting tools like DemandTools (paid app).

    And I am currently investigating Passage Tech’s ‘Storage Helper‘ and ‘Rollup Helper‘ (both have a limited free version) to see if they can help profile accounts to then identify what records can still be removed and archived from Salesforce. ¬†But I will save the details for another post later ūüėČ

  • Technical debt in a legacy org

    Does technical debt keep you up at night?

    The bogey-man that is technical debt can sneak up on you when you are least expecting.¬† It adds complexity and delays releases, and¬†is something you always have to remain vigilant of.¬† But you can master it, and minimise its impact…

    What is ‘Technical Debt’?

    Let’s just jump straight on in and define the topic of today.¬† I sourced this from Wikipedia:

    Technical debt can be compared to monetary debt.¬† If technical debt is not repaid, it can accumulate ‘interest’, making it harder to implement changes later on. Unaddressed technical debt increases software entropy. Technical debt is not necessarily a bad thing, and sometimes (e.g., as a proof-of-concept) technical debt is required to move projects forward.

    Based on that definition, can you start to think of parts in your Salesforce which may cause issues when you try to release a new feature? Technical debt and a legacy org can¬†easily go hand in hand.¬†¬† But it doesn’t have to.¬† It does rely on proper governance to minimise the challenges presented and stop them from becoming unwieldy.

    A legacy org

    As my first post alluded to, I am currently working with a legacy Salesforce org.

    When I say legacy, I mean 10+ years on Salesforce!!  Now as you might imagine, this presents some unique challenges for the business especially as we try to drive growth across the business.

    What are some of the challenges?¬† Things like the custom fiscal year feature were enabled, for no reason, within the org.¬† In turn this blocked us from upgrading from Customisable Forecasts to the newer Collaborative Forecast module…¬† (FYI this did change in the Spring ’16 release)

    We also have countless workflows on certain objects.  These perform core functions for a number of our teams, but means it is a challenge to unpick these one by one.  Instead there was a plan B, by requesting Salesforce Support to increase our workflow limit.

    Help is at hand

    After doing a bit of searching I have just stumbled across this video. I strongly recommend watching this session, as it details how AON reduced technical debt within their Salesforce instance by setting up strong governance practices.¬† For me this is quite topical, and as a bonus it looks like it was from Dreamforce ’16, so quite a recent discussion!

    Now these issues can pop up in any org, it isn’t a problem exclusively for legacy orgs.

    The key really is to address the issues head on and address any deficit in your roadmap.  Then you need to ensure that there is governance in place to help maintain and prevent the org from returning to its former state.  And finally, this needs to be communicated, with all stakeholders onboard.

    P.S. I will take this opportunity to apologise as well.¬† This theme of technical debt is one that I dwell a bit over the coming weeks ūüôā¬† My next post will look at some of the tools I have used to define and quantify where the debt is in your org…

Back to top button