The five kinds of org debt
These are what we find, in roughly this order of frequency. None of them are anyone’s fault; all of them compound.
- Automation nobody can trace
- Workflow rules, process builders, flows and triggers all firing on the same object, built by different people over several years. A field updates and nobody can say which of the four did it. The order of execution is documented by Salesforce; what your org actually does is not.
- Validation rules as archaeology
- Rules added to stop one bad import in 2021, still blocking legitimate records today. Every one of them is a decision someone made for a reason that is no longer written down anywhere.
- Fields that exist twice
- Two custom fields holding the same fact because the second team could not find the first. Reports pick one, dashboards pick the other, and the numbers differ by however many records use the wrong one.
- A sharing model grown by exception
- Role hierarchy plus sharing rules plus manual shares plus a public group added for one project. Nobody is confident who can see what, so the safe answer becomes giving everyone more access than they need.
- Picklists with no owner
- Lead source with forty values, eight of which mean the same thing in different capitalisations. Attribution built on this is arithmetic performed on a mess.