MS CRM Plug-in Debugger

Debugging Plug-in
During plug-in development, developer would want to test his plug-in before putting in production server to make sure it works as designed. One way to do it is to have a development environment to test plug-in which is great. However, the turn around time between deploy-test-debug-build-deploy is very significant. It would be nice if we can test plug-in locally without deploying it on CRM server. The approach I am going to show is to execute plug-in in a small EXE container. Since IPluginExecutionContext is just interface, we can mock the context in our test container.
Thanks to Sendhil for sharing this link.

Titan Screencasts

Philip Richardson, Microsoft CRM Lead Program Manager has started posting screen casts for titan.

Thanks Philip for the screen casts. They are really helpful to get started.


Possible topics from his list:

  • Multi-tenant web services
  • Duplicate Detection
  • Windows Live ID Authentication with a SOAP web service
  • New relationship features
  • Workflow
  • Multi-Lingual User Interface (MUI)
  • Plug-ins/Assemblies in CRM 4.0
  • Windows Workflow Foundation Activities
  • The CRM Live ‘experience’
  • The Internet Facing Deployment (IFD) ‘experience’
  • Outlook Client enhancements
  • Task Management
  • Web Import
  • User Management
  • Multi-Currency
  • Metadata API
  • Lookup Auto Resolve
  • Translating the User Interface
  • The Resource Center
  • Mail Merge
  • Offline SDK

Screen casts:


It will be great if he can post something about the upgrade from CRM 3.0 as my team could not migrate our CRM 3.0 application to Titan with CTP3. Microsoft has accepted it as a bug and they are going to have a release before RTM. Hope it works as I am not sure how Microsoft can go for RTM without the upgrade functionality working.


Customer Relationship Management

I was looking for a quickstart on CRM and found couple of good links.

Customer relationship management (CRM) is a business strategy to acquire and manage the most valuable customer relationships. CRM requires a customer-centric business philosophy and culture to support effective marketing, sales and service processes. It covers methods and technologies used by companies to manage their relationships with clients. Information stored on existing customers (and potential customers) is analyzed and used to this end.

  • CRM applications can enable effective customer relationship management, provided that an enterprise has the right leadership, strategy and culture.
  • Automated CRM processes are often used to generate automatic personalized marketing based on the customer information stored in the system.

There are three fundamental components in CRM:

  • Operational – automation of basic business processes (marketing, sales, service).
  • Analytical – analysis of customer data and behavior using business intelligence.
  • Collaborative – communicating with clients

Operational CRM
Operational CRM provides automated support to "front office" business processes (sales, marketing and service). Each interaction with a customer is generally added to a customer’s history, and staff can retrieve information on customers from the database as necessary. According to Gartner Group, operational CRM typically involves three general areas:

  • Sales force automation (SFA) 
    SFA automates some of a company’s critical sales and sales force management tasks, such as forecasting, sales administration, tracking customer preferences and demographics, performance management, lead management, account management, contact management and quote management.
  • Customer service and support (CSS) 
    CSS automates certain service requests, complaints, product returns and enquiries.
  • Enterprise marketing automation (EMA) 
    EMA provides information about the business environment, including information on competitors, industry trends, and macroenvironmental variables. EMA applications are used to improve marketing efficiency.

Integrated CRM software is often known as a "front office solution", as it deals directly with customers.

Many call centers use CRM software to store customer information. When a call is received, the system displays the associated customer information (determined from the number of the caller). During and following the call, the call center agent dealing with the customer can add further information.

Some customer sevices can be fully automated, such as allowing customers to access their bank account details online or via a WAP phone.

Analytical CRM
Analytical CRM analyzes data (gathered as part of operational CRM, or from other sources) in an attempt to identify means to enhance a company’s relationship with its clients. The results of an analysis can be used to design targeted marketing campaigns, for example:

  • Acquisition: Cross-selling, up-selling
  • Retention: Retaining existing customers
  • Information: Providing timely and regular information to customers

Other examples of the applications of analyses include:

  • Contact optimization
  • Evaluating and improving customer satisfaction
  • Optimizing sales coverage
  • Fraud detection
  • Financial forecasts
  • Price optimization
  • Product development
  • Program evaluation
  • Risk assessment and management

Data collection and analysis is viewed as a continuing and iterative process. Ideally, business decisions are refined over time, based on feedback from earlier analyses and decisions. Most analytical CRM projects use a data warehouse to manage data.

Collaborative CRM
Collaborative CRM focuses on the interaction with customers (personal interaction, letter, fax, phone, Internet, e-mail etc.)

Collaborative CRM includes:

  • Providing efficient communication with customers across a variety of communications channels.
  • Providing online services to reduce customer service costs.
  • Providing access to customer information while interacting with customers

Driven by authors from the Harvard Business School (Kracklauer/Mills/Seifert), Collaborative CRM also seems to be the new paradigma to succeed the leading Efficient Consumer Response and Category Management concept in the industry/trade relationship.

Uses of CRM

In its broadest sense, CRM covers all interaction and business with customers. A good CRM program allows a business to acquire customers, provide customer services and retain valued customers.

Customer services can be improved by:

  • Providing online access to product information and technical assistance around the clock
  • Identifying what customers value and devising appropriate service strategies for each customer
  • Providing mechanisms for managing and scheduling follow-up sales calls
  • Tracking all contacts with a customer
  • Identifying potential problems before they occur
  • Providing a user-friendly mechanism for registering customer complaints
  • Providing a mechanism for handling problems and complaints
  • Providing a mechanism for correcting service deficiencies
  • Storing customer interests in order to target customers selectively
  • Providing mechanisms for managing and scheduling maintenance, repair, and on-going support

More here…*&p_li=&p_topview=1