October 24, 2012, Chevy Chase MD – A week ago, as I was leaving the Washington State Convention Center and CRMUG Summit 2012, I started on my CRMUG Summit 2012 Wrap-Up. I didn’t quite finish it before I got home, and then I had to spend most of the weekend catching up to Bridget in Buffy the Vampire Slayer (she’d watched all of seasons 4 and 5 while I was in Seattle!), and then I had to go out to O’Hare again for my Chevy Chase trip, and then…yeah, I know: excuses, excuses. Anyway, I thought I should finish before I forget everything. Enjoy!
October 19, 2012, Seattle — This was an interesting week in the Dynamics CRM world, even apart from the CRMUG Summit 2012, with Microsoft’s big announcement of its acquisition of a provider of Integrated Marketing Management software. So, here’s my summary of This Week in CRM.
Dynamics CRM Upcoming Releases: What to Expect
Sometimes I long for the good old days: forty hour work weeks, $200B deficits, and Sugar Pops – that was the life! 18-month Microsoft product cycles are also a thing of the past, and “release cadence” has become a hot topic at Dynamics CRM conferences, for reasons like these:
- Partly because Microsoft is simply innovating faster, adding new features to keep up with competitors and take advantage of new opportunities.
- The increased pace of innovation also means more things need to be fixed. Hence the need for “service updates”, “update rollups” and the like. (For example, Dynamics CRM 2011 Update Rollup 11 was released on 10/11/12)
- And compared to competitive products, Dynamics CRM has an additional challenge. It’s available in two flavors – online and on-premise – which have fundamentally different maintenance features: updates for the cloud-based Dynamics CRM are done by Microsoft, and apart from figuring out how to use new features don’t take much effort on the customer’s part; updates for on-premise deployments are performed by enterprise IT staff.
Faster innovation and the choice Microsoft offers in deployment models has a cost, in the form of more complex upgrade cycles and more discussion of topics like release cadence. It’s worth it, but it’s good to be aware of it all the same.
So, what’s coming up?
The Polaris release is scheduled for (calendar) Q4 2012. You may recall the “CRM Anywhere” release, which was announced at Convergence, and originally scheduled for Q2 2012. That release was delayed, and most of its functionality is now to be included in Polaris:
- The most important part of the Polaris release is multi-browser support, with Chrome, FireFox, and Safari (on the iPad and iOS) being added as supported browsers.
- From the application standpoint, a significant enhancement will be what Microsoft’s referring to as the “Flow UI“. Essentially, they’re building some out of the box processes into common CRM work-streams such as sales and service. In this terminology, a process consists of stages and steps, and these are actually built into Dynamics CRM forms. For example, we’ve been seeing a four-stage sales process: Qualify, Develop, Propose, Close; and a three-stage case resolution process: Identify, Research, Resolve. These out of the box processes are combined with much flatter forms (and much fewer popup windows!) and after seeing it a few times, I really think it will be a much better user experience. More importantly, I’m glad Microsoft’s finally getting a little bit more prescriptive. Most organizations either already are or should be using sales and service processes, and I think Microsoft’s traditional process agnosticism tended to obscure their importance and discourage their adoption. And the word is the stages and steps that make up these out of the box processes are customizable to accommodate different organizations’ requirements.
- Yammer, Skype, Lync and Bing Maps integration.
- Support for complex deal management.
- Improvements on the compliance front.
But here’s the thing about Polaris: in Q4, the full Polaris feature set will only be available for CRM Online. On-premise customers will need to wait until Q2 2013, when the next full on-premise upgrade will deliver them. This sounded alarming at first, but in the post-event Q&A we got clarity:
Multi-browser support – for most corporate CRM administrators the single most important feature of the bunch – will be available for Dynamics CRM 2011 on-premise in Q4 2012, but in the form of Dynamics CRM 2011 Update Rollup 12. Got that? If you’re on-premise, you get multi-browser support by the end of this year as long as you apply Update Rollup 12. The rest of the Polaris feature set (the flow UI, Yammer integration, complex deal management and so forth) will be available for on-premise deployments in Summer 2013.
Microsoft Acquires MarketingPilot
If all this release cadence is making your head spin, let’s move on to the big news event of the week. On Oct. 17 2012 Microsoft announced its acquisition of MarketingPilot (www.marketingpilot.com ) The announcement came from Dynamics CRM VP Bob Stutz, and unlike other recent acquisitions (Yammer, Skype) this one was driven by the CRM team presumably with an eye to CRM-specific functionality.
Why is this important? If you have some experience with Dynamics CRM, you’re probably aware that its native marketing management functionality has some feature gaps. As with other areas, gaps in marketing’s core feature set are filled by a robust market for third-party add-ons. ClickDimensions, CoreMotives, Marketo, and Exact Target are just a few of the marketing automation firms that augment Dynamics CRM’s core marketing features with additional ones like these:
- Email marketing with high delivery and rich event tracking (opens, clicks, unsubscribes & so forth)
- Feature-rich HTML email template editors.
- Internet form design and lead capture.
- Integrated web analytics.
- Workflow and nurture marketing capabilities.
- Survey design and deployment tools and advanced subscription management.
If you take a look at MarketingPilot’s web site, their integrated marketing management feature set includes all of these plus a lot more. For example, from the home page I clicked on Products:
IMM, AMS, CMO, Email, Media Buying, Ad Sales, Lead Mgt, Events, DAM, all of that I expected. But the MarketingPilot CRM is apparently more feature-rich than Dynamics CRM! Plus it’s got SalesForce.com integration!
I was intrigued enough by this to do some more research, so I checked out the Gartner Magic Quadrant report for Integrated Marketing Management software. Here’s the quadrant:
Take the quadrant with a grain of salt, but at least it’s interesting from a competitive standpoint to see Marketo alongside MarketingPilot in the niche players quadrant. The detailed writeup on MarketingPilot provides some additional insight, especially in the R&D investment section:
R&D investment: MarketingPilot has made substantial investments in campaign and lead management, as well as the new Akela Marketing Cloud cloud-based platform, while continuing to invest in MRM. It plans two major releases for 2012, with six total releases planned. The next release in early 2012 will focus on adding additional campaign management capabilities, behavioral targeting analytics, CRM integration (e.g., salesforce.com integration), Google Adwords integration, behavioral scoring and social campaign functionality. Future releases will consider mobile, predictive modeling and will offer optimization functionality.
Can’t you just hear the brakes screeching on that salesforce.com integration?
Anyway, when the Dynamics CRM group acquires a maker of integrated marketing management software it’s a safe bet they’re looking to do a combination of two things:
- Add marketing automation features to the core feature set. If like me you already use a marketing automation add-on (ClickDimensions in my case) this possibility raises some obvious questions: will the new features compete with ones you already have? If so, are they compelling enough to switch? Marketing automation is a relatively complex and specialized area, and there’s a lock-in effect once you learn a product well. So while it’s not costless to switch, most organizations would at least consider core product features; and organizations just starting out with CRM would probably default to them.
- Add a new product version with marketing automation features not found in the core. This possibility is interesting in some other ways. First, Dynamics CRM traditionally has not had different versions: you license Dynamics CRM and you get everything (whether you need service scheduling or not!). In my view this has been a strength, but it’s almost inevitable that the one-version fits all approach won’t last forever. We’ve seen previews (for example, activity feeds delivered as an add-on solution), but the acquisition of a product with as much stuff as MarketingPilot will definitely accelerate the trend.
I gave three sessions; here are the highlights and key takeaways:
Session 1: Simplifying Goal Management
Goals introduce calculated fields, in the form of three fields on the goal record: the Actual and In Progress fields, plus a third Custom field you can use to track things like lost opportunity revenue. I think of these calculated fields as the secret sauce of goal management. Understanding how they are calculated – which records roll up to them and how the fields from the rollup recordset determine their values – this is the deep voodoo. I won’t reprise the entire session here, but here’s a video on my YouTube channel that covers how Goal Criteria work, one of the key takeaways from my session.
- Use the default Goal Criteria options when the only thing that matters is the owner of the underlying records. That is, the owner of the goal is the same as the underlying records owner.
- In all other cases, (except for Parent-Child goals) you need to use a Rollup Query. Sometimes the job of a rollup query is to narrow the rollup recordset, but sometimes it’s to broaden it.
- If you look at the goal form’s time period section, goals appear to require a hard-wired date range. I don’t know about you, but if I had to create 52 separate records for weekly goals of phone calls or page views…I probably wouldn’t do it. Fortunately, you can use rollup queries to create dynamic goals. Just use date functions (Today, This Week, This Month..) in a rollup query, and as long as it’s more binding than the (hard-wired) goal period — BAM! — dynamic goal.
Session 2: Custom Workflow Activities 101
The topic for this session is somewhat advanced from a technical standpoint: you have to create a custom workflow activity in Visual Studio, inherit from the CodeActivity class, compile it to an assembly (DLL file), and use the plugin registration tool to bring it into your Dynamics CRM organization. Oddly, the title of the session really had the “101″ on the end, which is kind of like Advanced Physics 101 (OK, only kind of like that). Anyway, I showed an example based on code written by Steve Neil and my friends at Grand Canyon University. The general idea is to be able to call add custom SQL statements to a workflow. My specific example was to use SQL aggregate functions (Avg, Min, Max, Sum) to calculate and fill aggregate fields on a parent (e.g., Account) from numeric fields on a child (Orders).
- For now, custom workflow activities are only supported in Dynamics CRM on-premise, with CRM Online support said to be coming soon.
There are alternative approaches, and considering them is a good way to sharpen your understanding of different customization techniques:
- Custom workflow activities allow you to extend the out of the box workflow design environment. So, if you’re developing functionality that could be re-used in different scenarios, a custom workflow activity is a good way to go.
- Plugins are somewhat similar (compiled assemblies, plugin registration tool…) but have one key difference: they run automatically, triggered by an event of the developer’s choosing. So if you;ve got specific logic that should only run for specific events, a plugin’s the way to go.
- Jscript can also be used to update the value of calculated fields. The problem with Jscript is that it’s a client-side web resource, and requires a user interacting with a form to trigger it.
- The example I showed provides the same ability for workflows that dialogs have out of the box: it allows you extend the data context of a process as it runs….which leads me to session 3:
Session 3: Advanced Dialogue Creation
I thought the English spelling of dialog added a touch of class to session 3, and it also didn’t confuse anybody about the topic. I started with a brief review of the two kinds of business processes available in Dynamics CRM:
- Dialogue processes are synchronous, require user interaction (forms), and can query CRM data.
- Workfloue processes are asynchronous, do not support interaction, and cannot query data (apart from extensions with custom workflow activities, as you know).
- Dialogues can extend their data context as they run, using either the Query CRM Data action or a Lookup prompt/response.
- Query is in some ways more flexible since you can create dynamic queries, using one query’s response as a filter variable in a subsequent query.
Lookup prompts allow you to prompt the user with an entity’s lookup view. I find it useful to think of them from the context of a child record of the one I want to look up. The Reference Entity is the child record, and the Reference Field is a lookup to the (parent) entity you want to prompt the user with. For example, if you want to prompt the user with a Contact lookup, either of these two options work the same way:
- Use Case as the Reference Entity, and Responsible Contact as the Reference Field.
- Use Account as the Reference Entity, and Primary Contact as the Reference Field.
If you can think of any other combinations that give you a lookup to Contact, let me know! Here’s a drill-down article I wrote on the topic.
- Partly because of a dialogue’s ability to extend its data context, it’s not always obvious which record type you should write one for. My rule of thumb: when in doubt, make User the primary record type for a dialogue process. Which raises an interesting point: by default, you run a dialogue by selecting a record on a grid (or opening its form) and clicking Start Dialog on the ribbon. But it seems kind of odd to ask a user to make sure and select their user record before running a dialogue process! Hence the importance creating a dashboard any user can go to, click a button, and a little Jscript behind the button runs the dialogue as the current user. Here’s an article that covers this topic in detail.
P.S.: CRMBizBook Webinar Coming up Friday!
If you read this far, I guess the odds are pretty good you bought my book, Building Business with CRM: Using Processes in Microsoft Dynamics CRM 2011. Exclusively for book purchasers, I’m offering a series of (free, yet so valuable!) webinars to review the example processes and conduct live Q&A. The first two are scheduled for this Friday (10/26) at 1:00 PM CDT, and two weeks from Friday (11/9). We still have some seats left, so visit the CRMBizBook Webinar registration page to register, and a genuine Dynamics CRM auto-responder will send you the information you need.
Richard Knudson, Richard.firstname.lastname@example.org