Despite the user community's urgent calls for this or that functionality, customer relationship management (CRM) is still enterprise software that needs to be done with an architecture and a plan.
Deployments of unstable new functionality (or pushing existing functionality to unprepared users) can diminish the credibility of the CRM system. This can mean serious backsliding of user adoption, unwinding the virtuous cycle that is at the core of CRM success.
How to manage this issue? You won't be surprised that I advocate incremental deployments and Agile project methodologies, as they are the fastest (and cheapest) way to get functionality safely deployed. That said, iterative delivery is necessary but not sufficient. To establish sensible CRM priorities, you need to add the following principles:
Data First, Functionality Second
There's no point in building (or even switching on) new functionality if the underlying data is incomplete, dirty, or riddled with duplicates. While nobody can afford perfectionism, getting relevant system tables cleaned up is a precursor to progress. In nearly every table, the error rate needs to be below five percent, and even one percent for critical fields and pointers. Pretty much the only area where you can tolerate as much as a 20 percent error rate is in leads, as its speed of "information rot" makes higher standards uneconomical.
Accounts and Contacts are the Most Important "Static" Data
In most CRM data structures, the accounts table is the top of an information pyramid, with a dozen or more child tables pointing to it. If your customers are large multinational corporations, the account records themselves may be part of a hierarchy. So making sure that your account records are right (and agreeing with the data in other systems) is a key milestone. Fortunately, the account records themselves shouldn't change all that often.
Relating to the accounts are the contact and contact role records, which need to be accurate and free of duplicates to make sure that calls, emails, and action items are properly tracked. Unfortunately, in 80 percent of the CRM databases we see, the contact role record (it's just a pointer, really) is empty, rendering almost any marketing effectiveness or serious pipeline analysis impossible. As this field can only be filled in by humans (either sales or telesales), the only solutions are incentives or other behaviour modification techniques.
Opportunities and Cases are the Most Critical "Transactional" Data
All too often, sales reps manage their boss by managing information. OK, hiding it. Real deals are not in the system, but fake ones are. This means executive management cannot see what's going on with the pipeline until it's too late to fix it. Watch for symptoms like "submarine deals" that pop up unpredictably during the quarter close, or pie-in-the-sky pipeline that shrivels up all too predictably as the quarter progresses.
While it's easy to come down hard on these practices, it's important not to push behavior modification too fast. The sales reps will engage in passive-aggressive resistance, and may end up gaming the system in an even more misleading way. Expect progress on this front to take six months or more, and measure success by gradual improvements in forecasting accuracy.
On the customer service side of the house, cases (aka incidents or service calls) are the most pivotal data. The problem with cases is not that they aren't in the system - the issue is incompleteness, as they don't reflect reality.
Every CSR or service tech needs to be on the system all day, updating the case records with status changes they might previously have kept in Excel or on paper. Every "truck roll" or customer call needs to be recorded as a task so you can see the sequence and the real accumulated time required to resolve issues.