Microsoft Dynamics CRM Resources

I put this page together to keep track of useful links related to Microsoft Dynamics CRM.  I did it as much for my own use as anything but if anyone else finds it useful, all the better.

Workflow
Microsoft Dynamics CRM: Workflow Authoring Best Practices
Gonzalo Ruiz, Business IT Professionals, Inc., Microsoft, January 15, 2010,
I love this post. Gonzalo explains five important best practices for building workflows.

Microsoft Dynamics CRM – Advanced Workflows
Ayaz Ahmad, MVP – Microsoft Dynamics CRM, Microsoft Dynamics CRM Team Blog, January 05, 2010

Workflow: Wait Command CRM 4.0
Dynamics Forums > CRM, February 01, 2010
Discussion around how to use the Wait and Timeout Activities in CRM Workflow

Workflow E-mail Utilities
Jim Steger, Sonoma Partners, December 15, 2008

E-Mail Router
Configuring CRM 4.0 R8 On-Premise E-Mail Router with Exchange Online / BPOS
Steve Noe, B01/27/2010

Development and Customization

ISV Utilities for Comparing Customizations and Transferring Configuration Data
Inna Agranov, Microsoft Corporation, February 2009

Inline Grids for Sales Orders in Microsoft Dynamics CRM
Ben Vollmer, November 14, 2008

Operations
CRM Client AutoUpdate
Eric Newell, May 08, 2008

Hosting
Change default Organization in CRM 4.0
Just Cruising Today Blog, January 15, 2009

Data Migration
Microsoft CRM 4.0 Data Migration Manager versus Scribe
Dale Simmons, Customer Effective Blog, March 13, 2008

Data migration overview
Microsoft Dynamics CRM Resource Center

Tool to Update MSCRM 4.0 data inline and Export to CSV for Re-import
Microsoft, CodePlex

Microsoft Dynamics CRM 4.0 Bulk Update and Export tool
CodePlex, OrbitOne Internet Solutions

Advanced Data Migration Map Editor for MSCRM 4.0 Data Migration
Microsoft, CodePlex, Mar 17, 2008

Integrating CRM using SQL Integration Services (SSIS)
CRM MVP Darren Liu, Crowe company, May 07, 2008

SQL Server Integration Services And Microsoft Dynamic CRM
Microsoft, CodePlex, Sep 15, 2008

MSCRM 4.0 Bulk Data Export Tool
Microsoft, CodePlex, Apr 18, 2008

CRM Data Import Tool
Veeran Bansal, Adithya Vishwanath, Arun Kumar, Microsoft Dynamics CRM Team Blog, January 25, 2008

Advanced Data Migration Map Editor for CRM 4.0 – Redux
Gaurav Agrawal, May 02, 2008

Renaming or Repurposing Microsoft CRM System Entities

I’ve been taking part in an interesting discussion on the LinkedIn “Microsoft Dynamics CRM” group. The following is the extremely long link you will have to use to get to this discussion:

http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=21231&discussionID=7432367&sik=1253708987811&trk=ug_qa_q&goback=%2Eana_21231_1253708987811_3_1

You’ll need to be a member of this group to read the discussion.

It started out with a great question about ”

Are there any real incentives of renaming the “Contact” entity?

Given that it would necessitate a lot of other work in changing the help file, user documentation, etc. this is a logical question. Several members posted responses about repurposing system entitites to which I replied:

While all of the other input is valid and valuable, I think [original poster] (she can verify) is talking about renaming Contact just for the sake of calling it something else, not repurposing it.

To which another member posted:

That begs the question, “What is the difference of renaming and repurposing?”

And here is my answer, fwiw:

I’m not sure you’ll find this in Webster’s but here’s how I would explain it:

Repurposing:
——————-
Using a system entity for something other than it’s original purpose.

ex: “Fax” to “Instant Message”.
We are adding or changing some functionality of the fax entity to make it an IM.

Another defining characteristic of a repurposed entity is that we can no longer use it for the original functionality (i.e. we no longer have faxes).

Another (less obvious) example might be calling Contact “Tenant” in a real estate customization. We haven’t changed any functionality but, by calling Contact something specific like Tenant, we’ve functionally (although not technically) ruled out having other types of Contacts who might have some relationship with us other than Tenant.

Renaming:
—————-
Changing the name of a system entity to something else while still using the functionality exactly the same way.

ex.: Contact to “Person”, “Individual”, “Constituent”, etc.
We’re calling it something else but that is all we’ve changed. We still use it exactly the same way.

I believe “Renaming” is what [original poster] meant and, in my opinion, the disadvantages/costs she mentioned outweigh the advantages of calling Contact something else in most cases. If you explain these tradeoffs to a user they will typically come around and decide not to rename it. But sometimes they just want to call it something else.

I’ll admit, I didn’t reference any definitive source for this definition. I’m just relying on my experiences. I could be wrong and perhaps there is no difference between renaming and repurposing. What do you think?

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine

Is Microsoft Dynamics CRM the Right Platform for My Software Business?

The title of this post is a question I was asked by a software executive (Let’s call him Mike althought that isn’t his real name) recently. Mike is considering launching a new software application for a niche vertical industry and he wanted to get my feedback on the pros and cons of building their application using Microsoft Dynamics CRM as a platform. I’m intentionally omitting his real name and the vertical here because they are in “stealth mode”.

Mike called me after attending a webinar with Rick McCutcheon of Full Contact Selling speaking about Don’t Count the Customers You Reach – Reach the Customers Who Count. Rick mentioned CourseMax as a good example of a vertical CRM solution.

Microsoft Dynamics CRM 4.0 is a great platform for building industry vertical solutions that you can deploy in the SaaS (Software as a Service) or On-Premise model.  In the SaaS model, it fits into the category of “Platform as a Service” (PaaS) if you choose to work with one of Microsoft’s hosting partners.  You can also host it Microsoft Dynamics CRM in your own data center and use it as a SaaS platform.  Dynamics CRM is a good fit for many would-be applications but it is also frequently not right choice. 

The following are my Top 5 questions you should ask yourself when you are consider whether to build commercial software on the Microsoft Dynamics CRM Platform

  1. Will customers be willing to spend $100 per month per user for this software?
  2. Do customers need CRM features (sales force automation, marketing, customer service)?
  3. Do most customers use Microsoft Outlook?
  4. Do customers want a solution they can customize?
  5. Do most customers use Internet Explorer

The Situation

So, here is the scenario for Mike’s business:

Competition:
There are two main players in the niche that you could describe with the following attributes:

Features: Old technology and a limited feature set
Customization: No customization, Not extensible
Workflow: Workflow non-existent in one, minimal in the other
Price: Low-price point ($295/user perpetual license)
Platform: Single-user desktop application, no common database for multiple users

Market:
Size
: Fairly large niche market
Typical Customer Size: from 1 to 100 users (Small businesses)
Customer Attributes: Use the web extensively, Low-tech, not power users, sales people, good networkers

There are a lot of small businesses in the market for Mike’s software concept.  One strategy for approaching this market is to offer an easy to deploy, low-cost solution that you can sell over and over to these customers with little trouble.  They like to use the Internet and probably don’t want to deal with managing and maintaining hardware and software.  That has SaaS written all over it.

Don’t Play Their Game…Change the Game

The one thing that stands out in looking at the competitors is the price point of $295.  The two competitors have probably undercut everyone else out of the market.  For the two left standing, price is one of, if not the most important factor when they compete.  That’s the definition of a “red ocean” marketplace as defined in the popular business book  “Blue Ocean Strategy” by W. Chan Kim and Renée Mauborgne.  It’s called a red ocean because there are sharks swimming around battling over the same fish and there is blood all over the place.  This is not a market you want to be involved in if you are a start-up.  You can’t beat the big-entrenched players because you can’t compete with them on price.  Even if you could, who would want to be in a low-margin business like that? 

The only way you can win in this market is not to compete with them head-to-head.  You would have to redefine the market or create a new market by coming up with at a Blue Ocean Strategy.  A great example of Blue Ocean is the Nintendo Wii.  The Wii’s graphics aren’t nearly as good as the Sony Playstation or Microsoft’s XBOX.  The processor isn’t nearly as fast.  To a hard-core gamer, graphics and processing power are what they are looking for.  So then, why is the Wii so popular?  It isn’t the hard-core gamers that are buying the Wii, it is the rest of the world who aren’t hard-core gamers.  The Wii is fun and it is easy to use.  You don’t have to be hard-core, you can just plug it into your television set and start playing.  It’s popular with a whole different set of clientele and Nintendo isn’t competing in that red ocean.  They changed the game, went after an untapped and under-served market, and they’re sailing on calm seas in their nice, blue ocean.

Microsoft Dynamics CRM 4.0: Great Platform but Not Packaged Like a Platform…Yet

So then, how does this apply to Mike’s question?  If he builds his application on the Microsoft Dynamics CRM platform, he will have far more features/functionality than his competitors.  CRM 4.0 comes with a very powerful workflow engine, it’s highly customizable, it has built-in multi-tenancy, security model, form-builder, etc.  It is a full-blown, multi-user CRM application with far more features than Mike’s competition offers.  However, the price tag for Microsoft Dynamics CRM is $1,000 / user and a couple thousand for the server if you run it on premise and that doesn’t include labor for installation, support, etc.  If Mike offers it as a SaaS solution, he would have to charge at least $75/month and it probably isn’t worth doing unless he charges $100/month.  CRM Online and Partner-Hosted CRM cost approximately $55/month with no add-ons.  The problem is that, with Microsoft Dynamics CRM 4.0, Mike has no choice but to offer all of these features to his customers.  Well, let me put that another way…his customers are going to pay for these features whether or not Mike’s company offers them.  You see, CRM 4.0 isn’t really a platform, at least not in the way in which Microsoft packages and prices it.  From a technical sense, it is a great platform.  It has everything you need to rapidly build an application that can be offered in either the SaaS or On-Premise model.  However, until Microsoft de-couples the CRM functionality from the platform and allows you to pay for it that way, it doesn’t really make sense to use it as a platform if your customers don’t need the CRM stuff.  From what I can gather, Microsoft will be addressing this issue and offering CRM packaged as a platform when CRM Services are rolled out in Microsoft’s Azure services cloud.  However, the timing for Azure CRM services is supposed to coincide with the release of Microsoft Dynamics CRM 5.0.  I don’t expect a release of CRM 5.0 until at least Q1 2010 so we probably can’t start any serious development on Azure CRM services for quite some time and we don’t know what the pricing model will look like.

Will Mike’s customers be willing to pay $75 or $100 per month for the additional features.  This is question number one.  If you can’t answer “Yes” to that question then there’s no point to asking the rest of the questions.  The answer for Mike is a definite “maybe”.  The only way to know is to do some market research by asking around, calling people, posting questions to LinkedIn, etc.  Even then, you really don’t know until you actually start trying to sell the software.  You have to be careful that you are asking the right questions or you’ll get the right answer to the wrong question and waste a lot of money building it and finding out that no one will come.  But asking the potential customers is critical and it’s also a good way to “pre-market” your solution and generate some interest.

Answering the Question

Is there any Blue Ocean out there for Mike?  The following chart is a good way to visualize the your value proposition against the competition:

value-curve

So we blow the competition away in features, customization, workflow, and multi-user capability.  But is this enough to offset the large difference in price?  The best way to know is to ask your potential customers.  However, when we ask the question, we would be smart to segment the market by the size of the customer and any other important attributes.  My guess is that the smaller shops, particularly the one-woman show types, will not be willing to pay a lot more to get the features, customization, and workflow capabilities.  They certainly won’t care about the multi-user functionality.  If these things are true, then Microsoft Dynamics CRM 4.0 is not a good choice of platform to go after the long-tail SOHO segment of this market.   On the other hand, Dynamics CRM 4.0 might be the best choice to go after the segment of the market with 10-100 users. 

These customers may be happy to pay the higher price because the multi-user database and other features increase their productivity or otherwise brings them enough value to justify the additional cost.  They are probably feeling some pain because each person on their staff has a different database and they can’t share information.  So the answer is probably to talk to these small businesses in the target range, explain the value proposition, and find out what they’d be willing to pay for your app.  If they’ll pay $2,000 per user or more for a perpetual license or $100 per user a month then you might have a viable business on the Microsoft Dynamics CRM platform.

Other Platform Options

If not Dynamics CRM then what would be the right choice of platform? 

SalesForce.com is an obvious alternative since they are a direct competitor to Microsoft in the CRM space.  However, you won’t find any price relief here.  SalesForce.com’s Force.com platform is more expensive than Microsoft Dynamics CRM.  Force.com has three pricing levels, $25, $50, and $75 per user per month.  The $25/month version is not viable for any likely scenario because it has limits of 1MB storage per user and 8 custom objects.  This follows the Salesforce.com strategyof low entry-level prices to get you hooked then once you’ve committed time and effort, you figure out that you need the much more costly version.  I’m not condemning SalesForce.com.  This is clearly a smart strategy and their pricing levels and limitations are published for anyone who takes the time to read them.  However, as a buyer you should beware and know what the cost structure looks like to remove the limits once you have reached them.  In SFDC’s favor, they have created AppExchange which is a marketplace where you can list your solution and customers can buy it.  Unfortunately, AppExchange is known for the large number of low-quality apps offered.

There are several other CRM solutions that can be used as an application platform.  You’ll probably run into the same scenario with these products as well in that they are as expensive or more expensive than Microsoft Dynamics CRM.

You could also look at open-source products such as SugarCRM.  The open-source version of the software itself is “free” but you’ll still need to consider the cost of hosting your solution.  The trouble with the open-source version is that it’s open-source.  The SugarCRM Partner FAQ page states:

“Any customizations to Commercial Open Source must be made available to the entire community free of charge. Many clients may view their customizations as a competitive advantage and would not want these made publicly available. This does not apply to the commercial license “

If you don’t want to give your intellectual property away to the general public, you’ll need to become a partner and resell the commercial versions of Sugar’s products.  There are, of course, fees involved here.  Like SFDC, Sugar has a marketplace where you can list and sell your application.  Interestingly, Sugar’s marketplace is called “SugarExchange” which sounds a lot like SFDC’s “AppExchange”.

If you don’t need the CRM functionality, there are many other options.  Google’s AppEngine is, like Microsoft’s Azure, immature, offers limited functionality, and is not yet released for production.  It is a community preview so you might not want to bet your business on it yet.  You’ll also have to develop your application in Python since that is currently the only supported development language.  The anticipated pricing model (found under Google’s Terms of Service Page) for Google AppEngine is true utility computing where you pay based on how much bandwidth, storage, and CPU cycles you use.  The best part of the pricing model is that it is absolutely free until you surpass some pretty sizable limits.  Your business will likely be hitting some pretty good revenue numbers by the time you have to start paying for anything.  That’s a great scenario for a start-up company.  I’ll be keeping an eye on AppEngine as the platform evolves.

There are many other players in the Platform as a Service space and more pop-up every day.  At some point, one or more of them may get enough traction to show up on my list of viable platforms.  They’ll need to prove that they have staying power before I would consider them or recommend them.

There’s always the old-fashioned way too.  You can build a completely custom application from the ground-up.  Your up-front capital expenditures are usually much higher in this model.  If you have the capital and don’t need the features of a CRM-based platform this might be your best option.  As with many things in life and business, there is no concrete answer to which platform is right for you.  You need to evaluate the alternatives, study your market, and choose the alternative that fits your situation best.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine

Cloud Computing Pervasive In 2009?

Let’s say you and I are starting a business and we’re making plans to launch a great new piece of software that will change the world. Should we be thinking cloud platform? Will our software product/service be obsolete by the time we finish it if we don’t build it on Google or Microsoft or Amazon’s cloud? The answer to these questions depend a lot on what software we’re trying to build. But I’d argue that it depends even more on our customers and what they want.

If you are a technocrat, you probably do what I do all the time and underestimate how long it will take for the the business crowd to adopt new technology. There are lots of reasons why businesses still haven’t adopted SaaS and don’t even care to learn about what “cloud computing” means. One reason that SaaS is still not pervasive is the lack of single-sign-on or at least some common or easily federated directory service. If I get 10 different pieces of business software from 10 different vendors then all of my employees have 10 different user logins and 10 different passwords to maintain and remember.  This won’t fly in the enterprise. Another big problem is the question of risk and trust. “Do I trust this hosted software company to maintain and secure my data?” Do I trust 10 different vendors to each maintain my data.

I gave a presentation during Microsoft Dynamics CRM Incubation week back in mid-December and I showed this graphic:

 
Technology Evolution vs. Customer Adoption

Technology Evolution vs. Customer Adoption

This is not exact science.  This is really my opinion of the approximate periods where each category of computing platform reached a critical mass in terms of CUSTOMER adoption starting with the client-server days (I’m old but I was still in college when mainframes/terminals were all the rage).  I should really back this up with sound research but my goal is to illustrate a point, not publish an article in a scientific journal. 

The point is that 2009 might be the year that Cloud Platform TECHNOLOGY is a real option but that certainly does NOT mean that cloud computing will be adopted by the majority of businesses any time soon.  So, if we want to start selling our software at the end of 2009 or early 2010, should we write it for Google’s AppEngine or build it completely on Microsoft’s Azure platform?  That’s probably not a good business move considering that SMBs haven’t moved to SaaS as a predominant platform yet, much less enterprises.  We would be a lot better off building our software so that we can offer it EITHER an on-premise OR a hosted (SaaS) model.  This is why my company developed the latest version of CourseMax on the Microsoft Dynamics CRM platform.  This is the Software + Services advantage, the “Power of Choice.”

Does this mean that we shouldn’t be considering cloud computing at all?  No way.  We should always be forward thinking.  We need to be ready to offer our customers what they want when they want it which means we better start working on it before they want it and we better start thinking about it before we start working on it.  Are there pieces of Google, Microsoft, or Amazon’s cloud platform we can start incorporating into our product now?  Sure, there may be some logical pieces of our architecture that we want to implement in the cloud.  Maybe we’ll use Microsoft Azure’s Internet Service Broker to handle data synchronization.

History has shown us a pretty natural cycle of platform adoption.  The future part of my graphic may be way off.  I’m not Nostradomus you know.  Perhaps the cloud is really an enhancement of SaaS that will actually accelerate SaaS adoption.  I think that may be partially true.  But there are still many things that need to shake out in cloud computing, standards to be built, interoperability, and much more before even the technology is ready for prime time.

One thing I am sure of is that businesses will be buying on-premise software for many years to come.  We should always learn from the past and look to the future.

Tell me what you think.  What’s your opinion?  Are you building software on a cloud platform already?

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to Ma.gnoliaAdd to TechnoratiAdd to FurlAdd to Newsvine