Dynamics CRM vs. Salesforce: Customization. Part2 - UI and business model customization

This is a series of articles about different aspects of customization of Dynamics CRM and Salesforce. In my previous post I’ve already described security model in both systems and how it can be modified for particular business purposes. Both systems are very flexible and ready to cover the different types of customization starting from adding new fields and ending with complex workflow configuration. I will try to describe the most frequently used features briefly:

 

  1. Business model configuration: changes in existing objects/fields and creating new
  2. Page/Form layout configuration: particular object appearance to the different users
  3. Homepage layout configuration: dashboard components and their layout
  4. Workflows configuration

 

Let’s imagine the following situation: we customize CRM system for IT company in order to show information about projects. Project has a range of fields (the most common: start date, end date, status, project name, code etc.), each project belongs to some company (Account) and has it’s team (project members), new project is created when company wins opportunity. We also need to configure dashboard in order to show information about new projects for the last month.

Business model configuration

Ok, for our example we can easily list all required business model customizations:

 

  1. Create new object - Project
  2. Configure Project object: add fields and setup them
  3. Create relationship with Account (standard object) and Team member (custom object)
  4. Configure access to Project for different security roles.

 

The first thing we need to do is create new object (with custom fields and relationships). Dynamics CRM and Salesforce supports different types of fields (text, number, money, date etc.) For the first time I thought that list which provide Dynamics CRM is big enough to satisfy all basic client needs but not exactly. In reality it is very common request from client to add multiple picklist, autonumber or rich text area and it’s a pleasure to know that Salesforce supports them by default. I don’t want to say that with Dynamics CRM it is not possible to do at all but it requires more efforts from you (find and reuse existing component for that or create it from scratch). Of course, it is more painful especially when it is quite basic requirement.

 

Feature Dynamics CRM Salesforce
Create new object Yes Yes
Add new field for standard object Yes* Yes*
Add new field to new object Yes Yes
Add new/standard object to Site Map/Tabs Yes Yes
Use new object in reports Yes Yes
Different data types Yes** Yes**
Calculated/roll-up fields Yes (with 2015 update) Yes
Configure object access per security role/profile Yes Yes
Configure field access per security role/profile No Yes
* - not all out-of-the-box objects supports modification
** - list of available types for Salesforce and Dynamics are different

The second thing we need is to create relationship with standard object - Account and new object - Team member. There are some differences in approaches. When we create lookup field (1:N) in Dynamics we have no option to choose but later we can configure relationship behavior (e.g. setup cascade delete, sharing or repartent). In Salesforce we have a range of out-of-the box relationship types: external, indirect and so on. So, in this particular case I find Dynamics model more flexible (it supports really a lot of options in relationship configuration) and allows deep system setting. Unfortunately it is not used very often.

 

Feature Dynamics CRM Salesforce
Many-to-many relationship Yes Yes
Many-to-one relationship Yes Yes
One-to-one No* No*
* - does not exist as standard relationship type but can be created based on many-to-one

For now we have Project which linked with Account and Team member and the last thing we need to do is set up access. You can checkout previous post to see details about security model and its configuration.

CRM systems have base range of standard objects that participate in sales process (Account, Contact, Opportunity etc.). Before creating a new one you have to think twice. Sometimes necessary objects already exists and can be reused with minor changes (renaming objects or fields) and save you time.

 

Feature Dynamics CRM Salesforce
Rename standard objects Yes* Yes*
Rename standard fields Yes* Yes*
*- some objects or fields can not be renamed directly (sometimes it can be done through the database or custom code)

Page layout configuration

Let’s get back to our example. We already have all required objects with configured relationships and roles and now we want to set up representation: create different forms for Project (one for Sales manager and one for Department Coordinator).

For optimal information perception very often we need to rearrange it or replace it with some graphical representation (e.g. person full name and contact data are important and must go higher). It is really difficult to say whether one design or layout is better or worse than the other. It is better to ask “Which UI is more efficient in solving particular problems?”. And in this question a picture paints a thousand words. You may check some demos (videos with solving typical problems) in both systems and pay attention to the details that are more important for you (information readability, count of clicks to perform some actions and so on).

Below the list of configuration possibilities:

 

Feature Dynamics CRM Salesforce
Control fields/lists visibility Yes Yes
Control field access modifier (required, read only) Yes Yes
Customize fields appearance Yes Yes
Customize buttons Yes Yes
Add external resources (such as iframes and html web pages) Yes Yes
Add charts and reports Yes Yes
Configure multiple form layouts Yes Yes
Configure page layouts per security role/profile Yes Yes

Homepage configuration

Every time when user comes to system he will see the homepage (dashboard). That’s why it important to show here the most important information(e.g. his open activities, or hot opportunities). When person have a lot of responsibilities it requires multiple dashboards in order to show key indicators for each area. Dashboard is a good solution for that. It allows to show different types of information: lists, charts, summaries, links to internal or external resources, complex reports, html pages and frames.

 

Feature Dynamics CRM Salesforce
Add lists/charts/reports Yes Yes
Add external resources (such as iframes and html web pages) Yes Yes
Add links Yes Yes
Configure multiple dashboards Yes Yes
Configure dashboards per security role/profile Yes Yes

Workflows configuration

Except of standard objects CRM systems have some workflows with which covers basic scenario of work but it can be extended or even disabled or replace with developers forces. For our example we need to configure modify out-of-the box workflow and create new project (and auto fill some fields) after we won opportunity. This is really easy to do in both and Dynamics CRM and Salesforce supports much more: automatic sending emails based on templates, setup recurrent jobs, integration with other systems and many other things. This is only a small list and I don’t want to describe features in details because this is topic for separate discussion. The only thing I’d like to add is that both systems are flexible enough for implementation of workflows of different levels of complexity.

Conclusion

So, although Dynamics CRM team already have done a lot of improvements and continue moving in this direction, for now Salesforce provides more comprehensive set of out-of-the-box features for mapping your business model to CRM system. But I want to notice some of positive moments about Dynamics CRM too. Custom developments fully based on standard stack of technologies (javascript, .NET, SSRS) here and it does not require learning something new (like Apex in Salesforce). If you have specialists which good with these technologies and strong CRM expert he would be able train the entire team in quite short terms.

You will achieve much better result if will concentrate more on your product and team and provide solving these problems to out great specialists. Centaurea's team has large experience with CRM systems and we are ready to offer you our services: CRM development, consulting. We are looking forward to start working with you!

P.S. We are glad to receive a feedback from you. If you have noticed any mistakes in the article or have suggestions about it please let us know.


Subscribe to be first to read about tech and startup adventures and lifehacks