Here's a CRM philosophy hit.
Being strict is better than being open, but fear being too strict more than too open.
I am of course talking about your datatypes, your restrictions, your required properties - everything that you can add to your CRM to impose order makes your CRM more strict.
Dropdowns are more strict that text fields.
Required properties are more strict that no required properties.
At the extremes:
Why?
And while the maximally Open CRM may be chaotic.
The maximally Strict CRM will snap at the slightest violation of your assumptions.
And your assumptions will be violated eventually.
As with everything, balance is key, maximum flexibility with maximum order.
In practice, this means setting up an ordered CRM that never trips you up.
Easier said than done.
Thankfully, life is an iterative game.
You can work your way to perfection, one step at a time.
But from which direction? Open -> Strict, or Strict -> Open.
This is actually quite easy to answer.
Start as open as can be, work with your CRM a bit, then review and pick out things that can be tightened up.
Text fields that look more like dropdowns.
Key properties that appear on every single deal.
If you travel the other way, you'll find yourself building your house on sand.
A property that's required doesn't apply to this deal.
Which is fine for the deal - but how many workflows, reports, lists and processes are expecting that property?
Or a date property that really should have been a datetime - because this needs to go through by 6pm, not by midnight.
But again, how does an update affect everything built upon this property?
So yeah.
Start open, lock down the things that couldn't possible change (even in your wildest dreams) and tighten up as you go.
You'll avoid more headaches, and have a better CRM for it.