A good performance of a Dynamics CRM solution is one of the key success factors of a successful implementation. Well, I assume no one will argue with this statement, but what does it exactly mean a good performance of a Dynamics CRM solution and how to optimize a solution which is supposed to perform poorly? Exactly these questions I will try to answer in a blog series which starts with this first article. I was thinking for a longer time about a suitable analogy from our everyday's life and hope to found one: a Dynamics CRM performance optimization is like a doctor's treatment of a sick patient. Sounds weird? Well, actually it isn't, as you will see in this and a couple of next articles. Here is the planned table of content of the blog series:
Dynamics CRM Performance Optimization Blog Series
First I would try to explain on a high level how does a way from an unsatisfied customer complaining about "poor performance" to a happy one look like. For this I will use the doctor's analogy from the very beginning.
The purpose of the "Anamnesis" phase of a performance optimization engagement is to UNDERSTAND. "Poor performance" is obviously too broad, personal and subjective to be able to give any advisory before the problem is understood. As you will see in the next article, it can be everything between the most typical entity form load time and very specific issues like the integrated SharePoint document management solution is slow, or the Outlook client starts slowly and freezes. I will present you an overview of most common (and less common as well) performance issues, how to categorize and prioritize them and what are the best ways to start diagnosing them.
After we have fully understood the problem it is necessary to find the cause, or more typically the causes, as it is not realistic to expect that a poor performance of a Dynamics CRM solution is caused by one single reason. In other words it is never the "magic button" which just needs to be pressed and everything is solved and everyone is happy. In this phase we need deep understanding of the products involved in the solution as well a good toolset to analyze possible performance bottlenecks. I will present you the diagnosis methods, tools and metrics and how to document the findings in a meaningful way. It is not uncommon that this phase can lead to finger-pointing and so a rock-solid documentation is crucial.
Great, problem understood, causes identified and the therapy can begin. Is it really so simple? Unfortunately not. Like in medicine, we have simple performance issues as well as very hard, which cannot be solved by taking Aspirin for a week. But the good news – every Dynamics CRM solution can be performance optimized with the right therapy, just the therapy can be sometimes longer and more expensive. I will show you how to create a "therapy plan", in other words a set of performance optimization recommendations with respect to the customer's individual situation and constraints and cost/value benefits. After the "therapy plan" was presented to the customer, the immediate performance optimization engagement ends. But a good doctor will always see the success of his therapy so a regular contact with the customer in form of "control examinations" is absolutely necessary.
A doctor is always just an advisor to his patient – in a good hope the patient is willing to follow his advisory. Same applies for a Dynamics CRM performance optimization engagement. The therapy is a set of optimization recommendations and the success depends on the customer's willingness to implement the recommendations. In this article I will show you how to best accompany the customer along the way of implementing the performance optimization recommendations, how to measure the improvements and document the success of the engagement.
Robert Rybaric is an architect in the Microsoft EMEA Dynamics Center of Excellence