Thursday, October 13, 2011

User Experience

How important is a smooth user experience when it comes to enterprise software?

User adoption (and implicitly a great user experience) is key to a sucessful project. A CRM customer rollout could have all the features that the sales department could ever want, but it is doomed if the user keeps using the old system (excel, or an older crm system) for the daily tasks.

We are creatures of habit, and thus a complex system that is familiar is sometimes easier to navigate, than a new system that is simple.

So, get end users familiar with the new system (through good training, incremental rollouts, soliciting feedback) and provide them with a smooth user experience.

Here are a few methods to keep in mind when it comes to designing a solution:

1. Less clutter, less pain
When I am filling out a form for an online purchase, nothing annoys me more than multiple extraneous fields, all over the form. Along those lines, when looking at an existing entity form or a new entity form, spend some time figuring out what is necessary and what can be done without.
Another great way to streamline the form input is to create separate form views for different security roles. For example, a sales rep might not need all the fields in an opportunity form that a Sales manager would (Keep in mind that required fields are necessary in all forms you create).

2. Automate the process
The most common example is creating/updating records when status value changes. Workflows are an easy way to accomplish automation, resulting in lesser data entry for the user. If workflows do not do the trick, it would be worthwhile to research plugins (which require C# coding skills).

3. Intelligently fill values in a form
Lets say you have a customer lookup, and an address section with street, city, state, country etc. When an user selects an account/ contact, have the address from the lookup auto populate in the address section. This can be done using java script on the event onchange() of the lookup.
Even if the user has to override the values 20% of the time, 80% of the time manual data entry is eliminated!

4. Fill form using related entity Field Mapping
When you have a Many to 1 relationship created, leverage the mappings feature in Dynamics CRM to pre-populate fields in a form. For example, lets say we have a N:1 relation between Account and Contact. When creating a new Contact in the context of the Account, I could have all the address information carried over to the new Contact form.
A couple of things to make sure while creating the mapping:
i) The fields mapped must be of the same data type
ii) The target field length cannot be smaller than the source field (which can cause truncation of data)

5. Use custom charts and reports to understand data
Visual data representation is light years better than a list of rows.
One great feature of the custom chart is inline visualization. that means that if you have a bar chart of accounts based on industry, and you select one industry(bar) in the chart, the list view is automatically updated to reflect the selection. You can also drill down to details of that specific industry.
Reports provide visual and/or list representation of data. You can quickly export it to a pdf document, and save it for later.
OOB entities like case, account etc has good built in reports that you can leverage. For custom entities, consider creating custom reports

6. Enforce business logic on the fly
An example would be to make a field required base on previous data entry. In a deal, if your revenue field exceeds $1,000, a manager needs to approve the deal. Make the manager lookup a required field only if the revenue field exceeds $1,000. Your system must be nimble enough to enforce this requirement, with the least amount of work.

During the course of the blog, I will try to provide step by step examples for some of the points listed above.

No comments:

Post a Comment