Because: Every transactional Object needs a Status Field and the Status Field is god.
The Status Field in reality, It sits on the Object, it gets updated by whoever remembers to update it, and if you ask five people what "In Review" actually means, you get five different answers. It's decoration. A label. Not a system.
Go back to the early days of Salesforce and you'll find something different. Status Fields that were actually enforced. Records that couldn't move forward unless certain conditions were met. A status that meant something specific, every time, for everyone. That pattern has a name, even if nobody called it that back then: a Finite State Machine. The same logic that drives a progress bar. A state, a precondition to enter it, a postcondition to leave it.
Somewhere over the last decade, as Orgs grew and shortcuts piled up, that discipline quietly disappeared. And it's one of the biggest reasons cleanup projects exist at all.
Every transactional Object needs a Status Field. And the Status Field is god.
Take something as simple as an Invoice Object. Status Field: Draft, Submitted, Approved, Paid.
In a healthy build, Draft has a precondition: nothing, anyone can start one. What happens in Draft is guided too. Line items get entered, amounts get validated. And leaving Draft has a postcondition: all required Fields populated, amount greater than zero, an Account attached. That postcondition is enforced with a Validation Rule, not a reminder in a Chatter post.
Submitted only exists if that precondition is met, because it's literally the same condition as the postcondition before it. In Submitted, the Invoice is waiting on someone with approval authority, and Flow automation routes it there. Leaving Submitted requires an actual approval action logged, by someone with the right Permission, not just a person typing "approved" into a Field.
Approved carries that forward. Paid can only be reached if a payment reference exists. And so on.
Notice what's happening. The postcondition of one status is always the precondition of the next. That chain is the process. When it's unbroken, the system and the business process are the same thing, and there's no room for someone to quietly handle a step outside Salesforce and break it.
I will not do that in cleanup wave one, though. It's a more advanced topic. Get the basics stable first, then come back for this.
It's not a new idea. It's an old one we stopped doing.
Thanks Rick Cross for inspiring this post.
Book a free 60-minute Salesforce Technical Debt Audit: a score for Usability and Build Quality, and your top cleanup priorities.