Simple CRM data model versus complicated
When we look at CRM design it’s tempting to build a data model to fit all the use cases of how one’s customers look. This a good example of not letting edge cases complicate a core simple system design.
For instance we have a number of multinational customers which have different divisions and so different parts of the same company have to be treated as multiple entities.
In my analysis it’s a poor choice to make this edge case complicate the choice of CRM data model that one uses. Here’s the choice:
Make do with a simple CRM (for example Pipedrive) that models organizations as flat entities. Find simple workarounds for the few complicated customers that you have like:
Write notes in the CRM describing the relationships between different related entities
Use URLs to link these accounts together in those notes
Document what makes the accounts more complicated.
Buy an “enterprise” CRM (for example Salesforce) that has a more complicated data model that supposedly supports the data relationships with your more complicated customers.
My experience says go for choice 1 because the benefits of a CRM with a simple data-structure wildly outweigh the benefits you get from the CRM with the more complicated data model. Here are are few reasons why:
The simple data model makes for a much simpler design which means that the simple product will perform a lot faster. This translates to more efficient cleaner work flow for your staff.
The simpler data model is much much easier to work with so when you integrate your CRM with other systems the integrations will be much faster to implement and easier to maintain. High quality integrations can replace a lot of the expensive busy work in your organization.
By comparison if you go for the “enterprise” CRM what you are getting is a sluggish, complicated system that is going to be tall on promises but in reality short on delivery because it’s actually going to be hard to work with:
Salesforce for example is expensive and has a lot of technical debt that makes it awkward to use and slow as molasses.
The promise of all the integrations you get with the platform is pretty shallow since in reality the people that wrote those integrations don’t understand your business and so they usually don’t work that well. So then you hire expensive consultants who in reality aren’t willing to learn your business either.
The complex data models don’t explain the subtlety of how different organization entities actually relate to each other - no data model can explain every last nuance of corporate structure and relationships you have with that customer.
To have the same ideas described in a different way seeGap analysis (and why some gaps are a good thing)