My Photo

Search The Blog



Bookmark and Share
Blog powered by TypePad
Member since 01/2004

Disclaimer

  • The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway. All postings and code samples are provided 'AS IS' with no warranties, and confers no rights. © Copyright 2008

Sponsored Ads

MS CRM Roll Out

The World of Dynamics CRM Help

Microsoft has a world of "XRM" within Dynamics CRM and as more and more of the framework matures we will see growth.

On my latest deep dive I have been looking at modifying Dynamics CRM Help and the general structure around how changes to Dynamics CRM help are supported in a multi-tenant world. In summary they are not (yet). The help files are stored with the application files.

But luckily there is some great reading material to get started with changes you might want to make to help in a single tenant world and customizing help is supported. You can read the complete Microsoft Dynamics CRM Configuration Guide on Technet and when talking HELP you can focus on this section.

The Agent Communications Panel for Dynamics CRM

Are you ready to dive into something new with Dynamics CRM?

"The Agent Communications Panel for Microsoft Dynamics CRM 4.0 is an application add-in to Microsoft Dynamics CRM 4.0. It works with Microsoft Dynamics CRM and Microsoft Office Communications Server 2007 R2, and enables agents to manage their communications (make calls, receive calls, conference, and chat) from their Microsoft Dynamics CRM system.

The Agent Communications Panel is an XAML browser application (XBAP). It is published to a Web server and opened from a Web browser. "

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0d689f13-4953-40ea-995e-49469dae559e 

The Asynchronous Service

The Microsoft Dynamics CRM Asynchronous processing service runs constantly behind the scenes. This services is very tied to workflow and when workflow is not happy you will find that the Asynchronous service can turn itself off. 

You will notice this happening a lot if you have a workflow that gets stuck in either a wait state or an infinite loop.  

Tackling Performance

When it comes to performance the list of variables can be quite long and the solutions do not always bubble up to be what you think they should be.

For instance we can start at the user  level and trickle all the way up to the SQL or Application Server, but you can also have application, custom code and network bandwidth that comes into the formula. Mix that in with CPU, Memory Utilization and Disk I/O and the battle is on.

User's Machine

If we start with the user's machine then we must realize that Microsoft Dynamics CRM is a web application that is authenticating and using IE. There are key settings that you can make to insure that things are not slowing on the user's machine and Microsoft has provided a number of white papers and recommendations regarding these. (see below)

When using the CRM Web Access option these include items such as insuring the web pages are in the trusted zone, understanding your latency and confirming that your anti-virus software is not fighting with the application. 

When looking at the user machine and the CRM Outlook client the volume of  variables expands. You want to take into consideration all the different "other applications" that can impact Outlook. For instance the numerous toolbars that can get installed or the size of the Outlook data footprint and  if the user has numerous PST files in addition to their Exchange mailbox. You also want to check  the settings on the anti-virus/anti-spyware/anti-yuck software which often wants to interact with anything going on. Another consideration is the version of Outlook that you are using. Outlook 2007 is significantly different than Outlook 2003 for instance.

For both of the above another consideration comes into play and this  has to do with the amount of memory and the hardware being used by the user. Despite the fact that many times hardware is not the solution, hardware can make a huge difference if limited.

We also have the User's Operating system as a variable. Outlook 2007 for instance was built and designed for VISTA and yet many companies are running Windows XP. This means that Outlook 2007 must take into consideration a completely different platform than it was designed for and although I have not seen any specific issues related to this it is a variable. 

Now despite all these factors you might find that one small thing makes a huge difference. From my personal experience I have both run the outlook client without issue (perfect performance) and have run into massive headaches (resulting in extended effort to fix things).

Here are some links that might help if you have to dive into this area.

First the Microsoft White Papers and posts

Optimizing and Maintaining Microsoft Dynamics CRM 4.0

Optimizing the Performance of MS Dynamics CRM 3.0

Microsoft Dynamics CRM 4.0 Performance and Scalability White Papers

Improving Microsoft Dynamics CRM Performance and Securing Data with Microsoft SQL Server 2008

Boost performance with Pre-generated XmlSerializers

Best Practices for Better Performance from Your Custom Code

Performance Odds and Ends

Investigating CRM V4 Performance

Performance Study - Dynamics CRM 4.0 WAN Performance using Cisco Wide Area Application Services

Tips for faster and better performance on Microsoft Dynamics CRM 4.0

Then

Other Blog Posts on Microsoft Outlook and CRM Performance

The CRM Outlook Client Diagnostic Utility

http://blog.customereffective.com/blog/2008/02/extremely-slow.html

Improving the Outlook Experience with CRM

You receive Outlook sync messages when you view a shared calendar or a shared contacts folder in Microsoft Dynamics CRM 4.0 client for Outlook

and Blog posts on Performance with a Server Focus 

http://billoncrmtech.blogspot.com/2009/01/tips-for-faster-and-better-performance.html 

Enterprise Scalability and Performance with Microsoft Dynamics CRM 4.0

Ronald Lemmen on CRM Performance

MS Dynamics CRM and Perfmon

Optimizing IIS Performance for Microsoft CRM, Part 1

Improving the Performance of IIS 6.0 Applications

What is interesting is that you can easily get into tuning on SQL or IIS that really can make a difference and yet are significantly far away from CRM Expertise.

Multiple Sales Processes

Many of the larger clients have unique sales departments and each sales department might have a passion for a slight change to the standard company sales process.

As company goals and standards go - having a core shared sales process can be important, but by using the power of a multi-tiered work flow you can accomodate both needs.

Create your core sales process with the ability to call sub-workflow (or a sub sales process) based on a set of criteria.

Using this advanced workflow feature you can get quite sophisticated in how you meet all the unique needs of the sales team while also standarizing for corporate.

To get started draw out the process using either VISIO or a large White Board or both.  Remember to keep the process as simple as possible while also meeting the requirements. The more complex the process, the more risk for problems and frustrations.

Once you can humanly understand the map and see it laid out, writing workflow to match can be quite logical and logic is required when working with applications and computers.

The Product Catalog

The product catalog in Dynamics CRM is one of those configuration features that is a bit daunting when setting it up, but then incredibly useful once established. The key question today is have you entered your products into the Dynamics CRM product catalog? Have you spent the time on this one feature that needs to be spent to get it the way you like it?

There are a number of steps (some of which make you feel like you are going in circles)

  1. You need to decide on what products you are going to setup (particularly if you are not integrating to other systems).
  2. You need to choose a product name and description. (Pick names that offers consistency or a sysstem that sits well with  the vendor's name for the product)
  3. How are products packaged and sold? What are the units? Do you sell individual items or bundled items? Do you sell quanity such as a box of a specific item?
  4. Decide on a Price list/s method. Will you have one price list? Do you have many different price lists? Which price list is the default or standard? How do you determine who uses what price list?
  5. Organize your prices.
  6. Answer the question: Are prices discounted? Do you want to use discount lists? If you use discount lists where are the criteria for discounts? (specials, dated, quantity)
  7. Think about your Accounting Software. When a quote comes from Dynamics CRM do the items/products on that quote make sense to accounting?
  8. What about services that you sell?

As you can see this one small area can cause some thinking and thinking about it before you start entering data is always a good idea. 

CRM Quotes of the Day

"CRM is like Good Wine"

    - always improving with age if refined through use and tasting

"CRM is like a Good Recipe"

    - Mix the right ingredients correctly and it tastes wonderful

"CRM is like a Good Garden"

    - Tender care creates lasting growth and usable substance

                                                                           - Anne Stanton

Habits

It doesn't matter which CRM application you use you still might have to learn a new habit or two. The key issue is that core "plumping" applications are tools that you need to learn and even if a tool is easy to learn it (because it works like a tool you already use (Outlook and Excel) it is also wrapped in a business process that also has to be understood and mastered.

When it comes to CRM you have some key business processes to think on. There are the sales processes for those who are involved in any step within sales. There is the new account process, for instance when a call comes in and the person is calling from a company that is not in the database and there are service processes. A customer calls with a problem and you want to open and track a problem ticket or case.

For any given indivdual you might have hundreds of small processes and each of these processes can be either easier or harder with technology. The right technology means that process is automated and mastery of the processes needed to run a given job function is as easy as possible. 

Microsoft Dynamics CRM Mobile

The full Microsoft Dynamics CRM Mobile client ships with a 160 page manual and in response to a recent comment "you can definitely go “offline” and tie into layers of excellent security," So why isn't it being used extensively? The problem comes when people don’t want to take the time to set it up. There is also an overhead issue in that the full CRM Mobile client requires the right resources on the device.

Why do people use Outlook? Well it a known product and it is easy and it meets a certain level of base need and as such people use it.

There are numerous other Microsoft Dynamics CRM Mobile clients available as well. There is one for the Blackberry and a nice little mobile express WMI complaint client called the Microsoft Dynamics CRM Mobile Express client. There is also an Outlook client for the laptop which synchronizes and can be used offline.

Dynamics CRM is by far not without options and every day third parties add more and more and more.

So what is happening with the thousands of Microsoft Staff rolling out Microsoft Dynamics CRM?  I would guess that their biggest issue with embracing and adopting Dynamics CRM within Microsoft is that Microsoft staff rarely get expert support in their rollouts.

Business Units can be Dangerous

One of the most abused features that I see in the world of Small Business CRM is business units. They can be sooo over used and what happens is a mess. You see business units literally divide the database into well.. units. Now this is all well and fine if you do not want to overlap customer data between business units but it can get quite complex if you start to look at multi-layered, multi-tiered business units in a  small organization.

When tackling busness units you want to really, really, really think hard about how you set them up OR if you need them at all.

For more information on business units.

And remember.. Clean, Efficient, simple can make for a happier adoption and reduced long term costs for support and training.

Continue reading "Business Units can be Dangerous" »