Just as food for thought, the two big problems I see with every single Salesforce deployment are:
1. Excessive customization. Ever seen a Lead record with fewer than 300 custom fields? I haven't! I have no idea what you do about this from a tool design standpoint but... think about it. It's a huge problem.
2. Synchronization. If you have Your System, and then you adopt a CRM, now you have state in two places. And commonly that state is allowed to mutate in both places, and now you inhabit a permanent nightmare hellscape. Figure out how to discourage this. Think about ways of modeling relationships to outside systems (ala NetSuite's externalId) and enforcing unique connections. Make it easy to request supplementary data "live" so that there's less reason to copy it in.
1. Excessive customization. Ever seen a Lead record with fewer than 300 custom fields? I haven't! I have no idea what you do about this from a tool design standpoint but... think about it. It's a huge problem.
2. Synchronization. If you have Your System, and then you adopt a CRM, now you have state in two places. And commonly that state is allowed to mutate in both places, and now you inhabit a permanent nightmare hellscape. Figure out how to discourage this. Think about ways of modeling relationships to outside systems (ala NetSuite's externalId) and enforcing unique connections. Make it easy to request supplementary data "live" so that there's less reason to copy it in.
Good luck!