Blog

  • First Glance At Dynamics CRM 2016

    First Glance At Dynamics CRM 2016

    Another year, another major Dynamics CRM release! What a time to be alive, eh? CRM 2016 has now been published for new Online trial instances globally and will be coming available as on-premises download within the next couple of weeks. If you haven’t yet explored what’s new with Dynamics CRM 2016 then I recommend starting from the following three links that I personally always refer to when discussing the latest version:

    Rather than just making it a “go and RTFM” type of post, here are a few notable features in the latest release that I personally think you should pay attention to.

    Start From The Top

    For folks upgrading their on-premises CRM environments, this is definitely a sizable release, as the features from CRM Online 2015 Update 1 (v7.1) are only now becoming available to them. Working mostly with CRM Online environments these days, it does really feel painful whenever I have to go back to the pre-7.1 Nav Bar, so the new navigation experience should definitely cheer up your users who are now spared from the game of sideways scrolling accuracy Olympics. I’ve yet to find a single thing that the new navigation would be worse for than the old one released in CRM 2013. Don’t forget to configure a custom theme & logo for your CRM while visiting the customizations menu! Oh, and remember to leverage this Theme Generator, since MS apparently had to cut the development budget when it came to “nice to have” things like color pickers instead of hex codes.

    Experience_it_now

    Moving from 7.1 to 8.0 may not deliver any immediately visible changes to you, as Microsoft has largely decided not to introduce anything dramatic in the look & feel of the familiar web client. One thing you may notice, though, is a yellow notification bar telling you something about an “interactive service hub” and asking you to “experience it now”. Hmm, sounds interesting, so maybe I’ll click on it and… Whoa, what’s happening?! Why am I seeing the same customization download screen as on the tablet client? And where did half of my menu items from the Nav Bar go all of a sudden?

    CRM_2016_interactive_service_hub_account

    So you thought there’s not much new in the CRM 2016 UI, huh? There definitely is a lot of new investments to be found here, ranging from brand new “interactive experience dashboards” to updated form layouts with embedded cards, revised components like Timeline (ex Social Pane) and new concepts like the Reference Panel (“Related”). It’s all built on top of the MoCA framework, and it gives you a taste of how the Dynamics CRM application of the future will behave: less like a web page and more like an app.

    Why do I say “the future” if it’s in fact already available in CRM 2016, for both Online and on-prem customers? Well, if you’re an existing Dynamics CRM user, the chances are that you’re not going to deploy this into production use quite yet. For starters, it only supports a limited set of the core CRM entities like account, contact, activity and case. Sales opportunities, leads, marketing lists or campaigns aren’t within the scope of this release. While you can show custom entities in the Interactive Service Hub, you’ll not be able to perform many of the more advanced customization tasks that the traditional Dynamics CRM web client supports, like embedding web resources or Iframes to forms.

    CRM_2016_interactive_service_hub_dashboard_filters

    There’s a lot to like about the new user experience that this “interactive” web client presents us with. The new dashboards especially appear to address many of the requests that CRM users typically have, like the ability to apply global filters to all the charts. The method of presenting related records and streams of activities is definitely more in line with the way modern mobile apps work, even if the experience itself feels a bit too mobile for a full size monitor in terms of information density. Still, in its current state it remains more of an experimental release that’s not meant for wider adoption yet. Much like the infamous Polaris release prior to CRM 2013, this Interactive Service Hub will be best used for learning about and preparing for the direction of future Dynamics CRM web clients.

    Explaining this grand scheme of things to the customers will be tricky, as it was with Polaris. For example, in order to leverage the new Knowledge Articles you have to access them via The Hub, presumably because Microsoft hasn’t wanted to build a rich text editor UI for the old web client anymore but has rather focused their investments on MoCA. Within the right feature scope you can probably do cool stuff with this client already, it’s going to required setting the right expectation level right from the start. Oh well, I guess that’s what us consultants are there for…

    CRM Via The Apps

    CRM_2016_visual_controlsOn the mobile apps there is now the ability include new types of visual controls for the mobile forms that can make CRM data both a lot more pleasing to the eye as well as easier to work with on a touch screen device. While many of these new controls would surely be great additions to have on normal web client forms as well, Microsoft has decided not to enable them for browser users of CRM in this release. Remember what I said about the MoCA framework being the focus area for MS?

    CRM_2016_task_based_experiencesTask Based Experiences (“TBX”) a.k.a. Task Flows is another new feature that is not just “mobile first” but “mobile only”. The idea behind these experiences is to be independent from the underlying entity relationship model and rather guide the user through a set of screens that present a subset of only the relevant fields from each related record that need to be touched in the process. What’s a bit cumbersome in this release is that TBX isn’t actually launched for a specific record but rather from the bottom left corner of the mobile app start screen. It’s almost like the old (and mostly abandoned) Dialogs feature from CRM 2011 but with a more modern approach, including the ability to add nice looking photo icons for the launch menu. (more…)

  • Your Interaction Network in Dynamics CRM

    Your Interaction Network in Dynamics CRM

    One of my posts that seems to remain in high demand, based on the site visitor analytics, is Advanced Queries with Advanced Find. Written over two years ago, people still tend to read it far more often than the newer posts dealing with the latest trends around Dynamics CRM or instructions on how to leverage other platform features like workflows and Business Process Flows. Thinking about the potential audience size, it’s of course understandable that a feature accessible to all CRM users will be much more popular than process configuration tools or the Dynamics product roadmap.

    AFAlthough very few updates have been done on the Advanced Find functionality during the 10 years I’ve been using Dynamics CRM, it’s arguably still a real killer feature of the platform, at least when comparing it to the query capabilities of many similar business applications. The fact that you’re able to reference pretty much any related record in your query criteria (and in the CRM data model, absolutely everything is related) means that the tool can be used for building the most complex target group definitions for your marketing campaigns, for example, based on behavioral data stored many relationships away. You only have to use another Microsoft application to understand how powerful such a tool can be in the right hands.

    It never hurts to have a good understanding of the CRM data model of your organization when launching Advanced Find to build some queries, since AF is a world of abundance when it comes to the available options to select from. Usually the relationships between records are something you can figure out from the end user UI if you spend a moment thinking about it – although with the “flat” design of CRM 2013+ menus and navigation structures, the front end ain’t as hierarchical in nature as the old popup-heavy UI used to be, thus sometimes leading you astray with the underlying data model. In some cases, though, Advanced Find will allow you to perform queries on entities that are completely invisible to the CRM end user. In this post we’ll take a look at one such entity, the activity party, and explore ways in which we can use it for providing the CRM users information on who they are interacting with.

    Ain’t No Party Like The Activity Party…

    ActivityParty_Appointment…’Cause in the Activity Party everybody’s connected! OK, so what exactly is this “party” thing then? In the CRM user interface we have activities, which are divided into a number of different types, like email, appointment, phone call, letter, fax (everyone’s favorite default entity, right?) and potentially a selection of custom activity entities for non-standard communication channels like SMS or business specific record types for handling assignments, approvals and these types of work items. Each activity type shares a number of common fields that can be found from the entity called “activity”, which is what allows CRM to show this mixed bag of apples, oranges and pineapples in a single list of fruit activities related to a business record like the customer account.

    When we add people into an activity like a meeting invitation (remember: appointments are always invitations now in the server-side sync world, so be careful when including customer contacts there), CRM is not just populating a lookup field on the activity entity with the GUIDs of all the related users, contacts and other resources. What happens behind the scenes is that each of these related records will result in a new activity party record being created. This is an entity that you will not see in the CRM customization UI if you open the default solution. You can read about it in the SDK, or install a tool like the Metadata Browser (found inside the downloadable SDK package) and have a look at its contents from the live system, as we see below.

    ActivityParty_Metadata

    People who have been tasked to build SSRS reports that deal with activity records will have surely run into the ActivityParty table/view. If you’re interested in learning more about how the data is created and stored into the SQL database, go and read this great investigation by CRM MVP Aileen Gusni. If, on the other hand, you’d rather not spend too much time in Visual Studio / SQL Server Data Tools building reports but rather want to see how to leverage activity parties in Advanced Find, then this is the right article you’re reading right here.

    View of “Activities Involving Me”

    While activity parties are not accessible as a configurable entity in CRM (because ultimately they’re not), luckily they do exist in the Advanced Find UI. The first scenario in which we can take advantage of this capability is in building a view of activities that uses some criteria that’s not directly available on the activity record itself. Out of the box, CRM provides views like “My Activities” that show the records in which the current user is the owner (and which are open, even though the name of that default view is a bit misleading). Sure, it’s important to understand what’s on your To Do list right now, but sometimes it is beneficial to be able to reflect back a bit and see also what has happened in the past, to understand what you’ve spent your time on and who have you interacted with. For this, we’ll create a brand new view called “Activities Involving Me”.

    (more…)

  • My New “CRM Rocks” Podcast Episode Is Out!

    My New “CRM Rocks” Podcast Episode Is Out!

    Do you enjoy reading news and thoughts from the world of Microsoft Dynamics CRM but wish that you could consume such content also in a “hands free” mode, by having someone talk about them rather than publish their thoughts in writing? Well hey: that’s what podcasts are for! If you’re looking for episodes to download to your favorite podcast app on your smartphone, then here’s a couple of channels to subscribe to: CRM Rocks by Markus Erlandsson, started already back in 2013, and a newcomer from this year called CRM Audio, hosted by everyone’s favorite CRM Tipsters: Joel Lindstrom, George Doubinski and Shawn Tabor.

    Why did I bring this topic up then? It just so happens that I’ve done yet another guest appearance on CRM Rocks! Yes, you might remember yours truly from classic episodes like “CRM 2013 User Interface Changes” or “Who Is The Customer in Your CRM?” This time I had the pleasure of joining Markus in the studio and discussing a topic I had blogged about a while earlier, meaning The State of Microsoft Dynamics CRM in 2015.

    CRM_Rocks_State_of_Dynamics_CRM_in_2015

    The topics on our agenda for this episode included the following:

    • Release cadence & CRM 2015 Update 1
      • Office 365 integration points with Excel Online, OneNote, Office Groups
      • The arrival of the CRM web client for Outlook (3 years after its announcement)
      • Cloud first: why is on-premises lagging behind
    • The new organization structure at Microsoft
      • Dynamics moving from the old MBS unit to Cloud + Enterprise
      • Why CRM product development needs better alignment with MS Data Platform
      • The remaining divide between Office and Dynamics
    • Microsoft & Salesforce partnership
      • New MS co-opetition strategy on devices, now also in the business cloud
      • What the rumored acquisition of Salesforce would have meant
      • The two horse CRM race and competitors pushing each other to innovate (and imitate)
    • CRM 2016 Release Preview Guide highlights
      • New modern API & next generation web client
      • Improvements in document generation and content search
      • Mobility with offline, task based applications

    Yeah, so many interesting things going on in the world of Dynamics and only an hour to discuss them. So, what did Markus and me end up covering in our talk? There’s only one way to find out and that is listening to the latest episode of CRM Rocks. By the way, if you have any thoughts on who you’d like to see (well, hear) make an appearance on the show and what CRM related topic should get some air time, then be sure to leave a comment either here or ping Markus directly.

    Oh, I almost forgot to mention: I also took part in a recent CRM MVP Panel on MSDynamicsWorld.com with Chris Cognetta, Donna Edwards, Alex Fagundes and Gretchen Opferkew. We talked about some of the same topics as in the podcast, with a focus around the upcoming Dynamics CRM 2016 release and how to prepare for it, so in case you missed the live event, be sure to check out the recording available on YouTube.

  • XRM Strikes Back

    XRM Strikes Back

    Adxstudio_logoIn case you missed the announcement last week, Microsoft has acquired Adxstudio. This is simply wonderful news for anyone working with Microsoft Dynamics CRM, for a number of reasons. First of all, the Adxstudio Portals product brings in a critical piece of functionality that has so far been missing from Microsoft’s own portfolio, which is surfacing the information and processes of CRM to external parties via integrated web portals. Second, the amount of knowledge and real-life experience that will be brought into the Dynamics CRM product team on topics like solution management, ALM practices and in general the life of an ISV partner in the Dynamics ecosystem is bound to make Microsoft’s product offering even better in the future.

    The third point, and the main topic of this blog post, is that in my eyes this acquistion validates one very important aspect when it comes to Dynamics CRM as a business application platform: XRM is alive and kicking. In order to understand why I think that way & why it makes a big difference to the Dynamics CRM ecosystem, we need to look back a bit and understand what’s been happening on the acquisitions front during the past few years.

    Let’s Go Shopping

    It is not that uncommon for enterprise software vendors to grow their solution portfolio by acquiring companies rather than organically developing new products and features. This timeline from a few years ago demonstrated how Oracle and Salesforce were buying companies related to Social CRM technology. (Funnily enough, the company who posted the timeline was first acquired by ExactTarget, which then got sold to Salesforce within 1 year from that post.) Microsoft hasn’t been quite as active in this shopping spree as some of its competitors, but they do seem to have picked up the pace during the past few years.

    ThreeCommaClub_sAre acquisitions a smart way to spend cash then? Back in the days when Microsoft bought Yammer, the price of $1.2 billion was questioned by many. Three years later the valuation of Slack, which you could call “the Yammer of 2015”, is set at $2.8 billion. Once you get to the “three commas” level, the traditional laws of physics no longer apply, meaning it’s not about technology underneath the product or anything else tangible that sets the price tag for a company. So, instead of handing out investment tips to the big boys in the “,,,” club, let’s discuss a more down to earth aspect of software company acquisitions: integrating the new technology with the old.

    In these days of cloud based services with open API’s, it’s really not that difficult to develop a bit of code that will allow you add a bullet into your marketing materials, claiming “X now integrates with Z”! Heck, with services like Zapier or IFTTT, even a code illiterate geek like me could take two applications from the consumer or business space and make them talk with one another, just by setting up the business logic via point & click configuration in a browser window. If I’d want to push tweets with a negative sentiment into Dynamics CRM as support tickets, all I really need is to watch a video from Azuqua, sign up for their subscription service and click my way through the process shown below.

    In the marketing speak, any software integration will always described as “seamless”. The reality of what you can actually achieve via the integration (if anything) may not become apparent until it is validated in a real-life use case that takes into consideration the variations in configuration & data contents found in live systems, executing an end-to-end business process rather than a simple data exchange between two IT systems. In practice, a cloud application vendor that promises to integrate with 20 different CRM platforms is unlikely to understand very much at all about the built-in logic of each target system, nor the specific use cases in which organizations wish to leverage such integrated features.

    Integrating pieces of software together isn’t a very unique task. After all, that’s the origin behind the term “systems integrator” that’s sometimes used when referring to consulting companies that deploy enterprise IT systems like CRM software and stitch it together with other systems. Integrating actual products, on the other hand, is a much more challenging task than just integrating software. Not only do you need to deliver a solution that adapts to the needs of many customers instead of one, but you also must be able to align the capabilities of all the related products in your portfolio in such a way that makes sense to the customers and end users. Avoiding redundancy and overlap while still smoothly transitioning the old & new users towards the new, truly seamless experience that delivers on the promises made regarding the integration – yeah, I can imagine that being a bit of a product management challenge for sure.

    Microsoft’s Acquisition & Integration Track Record

    The list of acquisitions Microsoft has made in the recent years that involved product functionality related to Dynamics CRM includes the following notable examples:

    • Skype (2011) – At $8.5B, this was the biggest MSFT acquisition to date and the Skype brand has since then replaced Lync as the telephony/messaging brand for consumers and businesses alike.
    • Yammer (2012) – Another big one. The whole social revolution in information work meant MSFT needed to make both their products as well as product development processes more like that startup & viral model of Yammer and less like that traditional enterprise software world of Office & co.
    • MarketingPilot (2012) – Although not primarily a marketing automation solution for digital channels originally, the MP acquisition was transformed into Microsoft Dynamics Marketing (MDM) to attract the CMO’s with an technology budget that would soon pass that of the CIO.
    • Netbreeze (2013) – While Yammer targeted the internal social collaboration scenarios in organizations, monitoring the public social media channels needed a separate channel. Enter Netbreeze with it’s initial Microsoft Social Listening brand and the later reincarnation as Social Engagement (MSE).
    • Parature (2014) – Along with marketing resources targeted to social channels at a growing pace, the customer service work also moved away from call centers into online support portals and customer reps communicating via services like Facebook. Parature was the answer to meeting the market demand on this front.

    For each of these products it was easy to come up with numerous scenarios in which the organizations using Dynamics CRM could benefit from embedding this new technology into being a part of the sales, marketing and service processes managed via CRM, linked directly into the account & contact records, thus promising to deliver that a true 360 view of the customer relationship. Of course the mere change of ownership for the IPR behind these acquired technologies didn’t yet change anything in the physical world that would make such scenarios become reality. How would these new pieces of the puzzle in practice be fitted together with the existing big picture was the important question to ask. Would 1 and 1 be 2+, or closer to “one point something”?

    Yammer_endAt the time of acquisition, there were some existing integrations to Dynamics CRM available for Yammer and Parature. If we take the former as an example, then there was obvious overlap between Yammer and CRM’s own Activity Feeds feature that was introduced to the platform on the year before. While Yammer of course has far more end user functionality available in its own application, on the Dynamics CRM side there’s actually quite a lot less that we can do with these type of social posts in the business process context than with the native Activity Feeds feature of CRM. Since the posts are now split into two different feeds (Yammer and “System Posts”) inside two different databases with two different security models and several different client application UI’s, it’s not so obvious that this new integrated world is a better fit for all Dynamics CRM customer organizations. (For a discussion on the future of Yammer & CRM, check out this blog post from Gustaf Westerlund.)

    Looking at a larger integration effort, Microsoft took the foundation of MarketingPilot and rebuilt much of it to create Dynamics Marketing, but they still decided to keep it as a separate application that can be used with or without Dynamics CRM. So, what does this mean for CRM customers then? Looking at the surface, the main application navigation is identical between MDM and CRM, but the form and view controls presented to the end user have different logic in each application. The system administrator cannot perform similar UI and data model customization on MDM than what the CRM platform provides. Microsoft offers a connector service hosted on Azure that synchronizes data between CRM and MDM databases, but the scope is limited to a set of predefined record types. As an end result, while you get a wealth of marketing resource management functionality via MDM, there will be limitations on how you can integrate the solution to act as part of you specific business processes and data model configured into Dynamics CRM.

    Doing It The XRM Way

    If as an independent application architect it was clear to you from day one that the product you’ve set out to build should work in the most seamless way for Dynamics CRM customers, you probably wouldn’t first develop a separate application and then start thinking about how to connect it with the CRM database. In such a scenario your architecture design would most likely start from the core of the customer data and business processes that CRM is typically used for managing, as you would want to ensure that your solution is well aligned with the installed base of Dynamics CRM organizations out there. Next you would take a look at what functionality the XRM platform offers that could be leveraged as the building blocks of your own solution, to avoid time spent on developing the “plumbing” already available in each CRM deployment where your application would operate. Only after this would you go and build the external services needed in delivering your application’s functionality, by connecting to other systems, presenting data in non-CRM user interfaces where needed, enforcing licensing policies for your product etc.

    The XRM way of developing products has clear benefits not only to the solution provider but most importantly to the organization using the product. The user identities and access rights have a single administration point, the user experience is likely more familiar to your CRM users, you have no application interfaces to configure or manage and the data will (mostly) sit inside the same database as your existing customer account and contact information. Most importantly, from a functional perspective, you can keep on building your business specific processes and reporting for the XRM applications in the same way as you would customize your Dynamics CRM application. If you’re seriously investing in CRM as your business process hub, doesn’t that all sound quite tempting?

    Also Microsoft appears to have understood the temptation behind such a model, since the Dynamics related acquisitions it has made during this year for the most part have XRM written all over them:

    • Mojo Surveys: Design surveys inside CRM, by modeling the questionnaires as CRM entities and tracking the detailed response data back to the customer records. Will be include in CRM 2016 release as a Survey Designer / “Voice of The Customer” feature. Pure XRM ISV solution from Fusion Software, who still continue to work on similar non-MS products like CRM SalesFlow.
    • FieldOne: Field service solution that started out in 2001 with a bit more classic approach for their “Terra” product, then bet the farm on XRM and rewrote it as “Sky”. Built on top of Dynamics CRM and also leverages other leading ISV solutions like Resco for mobility and Scribe for integration. Oh, and coincidentally, Adxstudio for their service portals.
    • FantasySalesTeam: The only non-XRM product on this acquisition list. Well, I guess it doesn’t hurt MS to have some apps in their portfolio that integrate with Oracle Sales Cloud and the likes…
    • Adxstudio: If there ever was a prime example of an XRM application, it would have to be Adxstudio Portals. Their solution was already included as a part of CRM 2011 SDK to replace the earlier Portal Accelerator, and now the circle is complete. With up to 128 custom entities, Adx hasn’t been afraid to use Dynamics as a true XRM platform, all the while offering the critical missing piece that would connect the internal facing business applications with the customer facing websites.

    Depending on what’s the position of your application in relation to CRM, it’s of course not mandatory for it to be fully baked into the XRM platform for it to deliver great value to end users. Also, if Microsoft were to just keep on buying more and more ISV solutions into their product portfolio and assimilating them all into one big CRM suite, there’s a potential risk of ending up with a SAP-esque enterprise monolith that’s no longer serving the needs of the customers (by the way, for anyone interested on some insights on the current state of the “SAP nation”, I recommend reading the book by the same name).

    Still, I for one am much more optimistic about the recent XRM based acquisitions when it comes to the expected time to value for customers and partners, as there shouldn’t be a pressing need for MS to rearchitect these solutions to try and integrate them with the existing Dynamics CRM product offering. From our perspective, they’ve been done right from the start. In a couple of years time I think we should reflect back on these different acquisitions made, to see if XRM truly got its revenge or not.

  • The Irresistible Force of Great User Experience in CRM Applications

    The Irresistible Force of Great User Experience in CRM Applications

    Those who have worked with Dynamics CRM for a longer period of time will remember how the user experience delivered by the platform has evolved over time: from an Office style, data entry focused, Internet Explorer popup window application into the clean and modern Dynamics CRM 2015 application that works on any device and aims to present the maximum amount of relevant information to the user with the minimum amount of clicks. There was a time when CRM didn’t exactly seem like something that was designed with the needs of the end user in mind, but this direction changed quite drastically from the CRM Online December 2012 Service Update onwards, as Microsoft started to redesign the experiences they wanted to deliver for the users of their business applications in the new era where mobile, social and cloud were quickly becoming the most dominating forces in the world of enterprise software. Not forgetting the consumerization of IT, which had shown people that not every app used in a work context needed to look like a 90’s ERP system.

    I have covered this transition in quite a bit of detail in my four part article series titled “Dynamics CRM Platform Evolution”, which I’d recommend you to read through for understanding the practical impact of moving from the “first era” of MS CRM v1-v5 onto the current era of largely CRM Online focused rapid product iterations. One of the points I raised in the article was that not all the CRM software providers in the market had chosen to follow a similar path of introducing a big bang revolution to their application. Unlike Microsoft, Salesforce.com had instead opted for an evolutionary path that had seen their application UI remain almost unchanged for the main components and layout, as depicted in the image below.

    CRM_Platform_Evolution_2_small

    While being wildly successful in becoming the “next CRM application” after the 90’s generation of Siebel style, on-premises enterprise CRM suites had began to slide out of the limelight, Salesforce also began to receive a growing amount of criticism over the legacy that its user interface had accumulated over its history. The question of “Why doesn’t Salesforce upgrade the UI/UX of its core CRM web app?” did seem more and more valid, especially when competing products like Dynamics CRM were transforming the user experience that one could expect from a customer relationship management application. Well, finally in late August 2015, Salesforce announced that their next era of CRM UX would arrive in the form of the new Salesforce Lightning UI.

    Welcome to the Future of CRM, Salesforce!

    First of all, congratulations to the product team behind the Lightning UI on the launch! Pulling off a major redesign like this is bound to be a massive task and I’m sure in many ways the work has only begun now, but it’s still definitely an achievement worth celebrating. As many of you may have noticed, in my day job I work exclusively with Microsoft Dynamics CRM, so whatever I write here about a competing CRM solution is not going to be 100% objective. For that I apologize, but the point of my post isn’t to bash Salesforce but rather to analyze some of the trends in CRM software in general and also reflect back a bit on what has taken place in the world of Dynamics CRM during the past few years.

    But first, I need to just get something out of the way. Damn how these two apps look alike! Here’s the brand new opportunity form on Salesforce Lightning UI, a.k.a. Opportunity Workspace:

    Salesforce_Lightning_Opportunity_small

    …And here’s how the opportunity form on Dynamics CRM has looked like pretty much since the 2013 version:

    Dynamics_CRM_2015_Opportunity_small

    Notice any resemblance? Let me help you out a bit by listing the first five things that come to my mind from the Salesforce screenshot:

    • Sales Path for visualizing the sales process stages and related fields, known as Business Process Flow in Dynamics CRM
    • Tabs for switching between related activities and social posts, known as the Social Pane in Dynamics CRM
    • Composer for adding new tasks, phone calls and events to the opportunity, which simply is an inline activity quick create form in Dynamics CRM
    • Related information on Contact Roles, essentially the Stakeholders editable grid in Dynamics CRM
    • Persistent four header fields at the top of the form, ditto for Dynamics CRM

    Yeah, of course these both are applications for managing your typical sales opportunity information with activities and contacts, so its understandable that the concepts used in the default screens would be unlikely to radically differ from one another. Still, contrasting Lighting UI with the traditional Salesforce UI and looking at how close to the now familiar Dynamics CRM form layout, UI controls and especially the Business Process Flow feature the Salesforce product team has ended up with their design is, well… Quite remarkable in my opinion. Not a bad choice by any means, and also serves in validating the direction that Microsoft’s team took when overhauling their application’s UI a couple of years ago.

    Aside from the similarity to Dynamics CRM, there are plenty of nice looking designs and features included in the Salesforce Winter ’16 release notes. Some of them are about filling the functional gaps to Dynamics CRM (list view charts known from CRM 2011 make an appearance here), others are borrowing concepts from the more recent CRM apps out there (Kanban style opportunity board used in Pipedrive, Pipeliner et al., as well as SalesFlow for Dynamics CRM), but many of the release items seem to be focused on fine tuning the application usability and removing unnecessary friction from common tasks that sales people need to perform on a daily basis. Rather than just slapping on a new field layout and updating the icons, it does seem like the user experience of Salesforce will change quite dramatically with Lightning. Of course the true UX can only be evaluated once a live version of the application is available for testing how it truly feels like to use the app, but at this point it looks like a major step forward.

    The Price of Revolution

    Introducing a new application user experience to new users who don’t have prior experience of the product will always be far easier than forcing it upon the existing user base. While few people would say that they don’t want a nice & easy UI, the reality is that resistance to change is always a factor when dealing with human beings. When it comes to business software especially, disruptive changes are at the very bottom of the want list for the majority of people who are responsible for ensuring that information systems deployed for managing the core business processes of their organization keep on churning out the expected results. What’s going to happen when a CRM system jumps from evolutionary releases to revolutionary changes instead?

    The one important thing to keep in mind is that changes like this never take place overnight. Migrating over all the functionality that vast application platforms like Salesforce of Dynamics CRM have accumulated over time isn’t something you can get away with a single big bang release. With Microsoft there was a preview version of the new UX introduced with the Online only Polaris release, launched almost one year ahead of the actual major release of CRM 2013 (v6.0). Initially only five core entities were updated to the new “refreshed” forms, and even today the latest v7.1 still contains lots and lots of entities and menus that follow the old Ribbon based user experience. So, three years later the work isn’t even done for the Dynamics CRM product team in renewing the platform, which means that the end users and system customizers need to cope with a somewhat mixed application environment. The platform legacy becomes most apparent with the new mobile client applications that don’t support the old product architecture, resulting in features like marketing lists or connections not being available on the modern client versions. Sure, life is much, much better with the new UX, but it has also introduced some new complexities into the product.

    In the case of Salesforce, the story sounds to be somewhat similar, as not every area of their platform will be Lightning enabled right from the start. The Service Cloud will not yet be updated, nor will features like forecasting, orders or person accounts. In moments like these it’s always interesting to see how companies prioritize their development efforts, as they are likely to indicate either the observed level of usage for certain features of their products, or alternatively possible future plans to scrap something old and rebuild it from the ground up. If you’re working as a consultant that advises customers on what features they should take into use or invest in developing for their CRM systems, the messages conveyed by the application vendors via the frequency of updates to certain functional areas of their products are signals you’ll most certainly take into consideration when deciding on what strategy to recommend to your client base.

    With 150k customers and millions of users, it’s going to take a while before Salesforce will have safely moved each and every one into the Lightning world. In fact, based on the statement by Sara Varni, senior VP of marketing for SFDC Sales Cloud,  this milestone may never even be reached, since Salesforce will support the classic experience “indefinitely”. In the oldskool settings of on-premises servers, the way this could have been handled would be for the customers just sticking to an older version of the software and not deploying any updates. When you’re the grandaddy of SaaS platforms, things are obviously a bit different and supporting older versions will require more than just accepting support tickets for ancients releases of your software. With CRM Online, Microsoft has previously been pretty strict on getting every customer to move on to the latest version via the CDU (Customer Driven Update) program, but lately they’ve also changed their update policy to allow skipping the bi-annual releases and updating only once per year. As SaaS products become a more mature market, I bet we’ll be seeing a growing number of options for customers to choose which versions to use, which features to activate and when to schedule these changes to take place.

    Universal Experiences

    The way Salesforce chose to build their next generation UI is different from the path that Microsoft took. While Dynamics CRM 2013 introduced both the new web client experience as well as the “MoCA” tablet client application as separate experiences (followed by the refreshed mobile app in CRM 2015 Update 1), Salesforce decided to first build the Lightning framework for their Salesforce1 mobile app and then scale it out to the PC screens. As a result, the screenshots that we see in the Winter ’16 release notes look very much like a mobile app placed onto the screen of an iMac. While you could in theory also use the Dynamics CRM for Tablets app on a Windows 8/10 laptop, the users will certainly almost always end up choosing the Dynamics CRM web client designed for interaction with mouse & keyboard rather than touch optimized “Metro” experience.

    Salesforce_Dynamics_clients

    I think this will be one of the most interesting design choices to keep an eye on when it comes to user reactions to the new Salesforce Lightning UI. Regardless of all the recent Universal Apps hype that Microsoft has been building up alongside the Windows 10 release, I’m personally not quite convinced yet that you can deliver a great UX with a single app that needs to scale from 5″ touch screens to 27″ desktop monitors. As a result, I’m also not a big proponent of the “configure once, deploy everywhere” slogan used in reference to the Dynamics CRM mobile apps, since I’d rather see CRM applications truly optimized for the device and use case in question. However, if Salesforce can pull this off with Lightning, then perhaps Microsoft has been right all along with their OS strategy and the application teams should now move faster towards unifying the client side of things.

    Applification of Platforms?

    When it comes to products like Dynamics CRM or Salesforce, one of the key reasons why they are being so widely deployed across enterprises today is the ability to customize them to align with the business processes specific to the customer organization. They are not only replacing legacy CRM suites but also capturing an ever larger share of the market that used to belong to custom developed business software, since using a customizable application platform delivered from the public cloud can really drive down the TCO quite significantly. But if the CRM applications are now reaching towards an even more polished user experience in performing common tasks with sales, marketing and service records, what will happen to supporting the business specific scenarios that are more unique than what pre-built application features can cover?

    When Microsoft launched the Dynamics CRM 2013 version with the refreshed UI, they didn’t only add more features into the already crammed product, but rather they took away some configuration options that had been previously expected from the platform. As the saying goes about the goal of design work, “perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.” That may very well be true when designing a product to serve a specific set of tasks, but it may not resonate so well with a toolkit used for crafting these end products. Limiting the options shown to an end users is different from limiting the options available to the designer of the final solution that the user will be exposed to.

    How do such limitations show up in everyday life with the latest Dynamics CRM version? Today we have inline quick create forms for effortlessly adding activities for records, but we can no longer choose if we want to record a future phone call activity instead of a completed one. We can use an editable grid for adding line items into opportunities, quotes and orders, but we can’t configure these grids to contain those fields that the business logic would require to be recorded onto these line items. The price of added convenience for some is therefore resulting in the reduced usefulness to others. Looking at the Salesforce Winter ’16 release, it’s apparent that also here the polished UX will be come at the cost of reduced options. For example, there will be a brand new, great looking Home screen offered for sales users, but the components shown in it cannot be customized at this time.

    Salesforce_Lightning_Home

    Is there an inherent conflict between the needs of the application end user and the platform customizer? I don’t believe this is necessarily the case, but it is obvious that there are trade offs in building something that works great and building something configurable when it comes to the allocation of development resources for these software products. As the release cycles get faster and faster, the pressure for getting a new feature out there can mean there’s no time to perfect the first version into something that will meet the needs of all user groups and align with the rest of the platform functionality. The real question is, will the features be made more customizable in the subsequent releases, or will the requirements be pushed down in the backlog when the demand for more new features arises?

    When discussing the user experience of applications that are not commodity services like email but highly business specific process management tools (at least when properly deployed), it’s very important to understand what the final UX really consists of. It’s not only about having the slickest UI controls for working with the data, the flashiest graphics for visualizing the sales pipeline or most creative layouts for presenting different data sources on one screen. At the end of the day, the users need to feel like they can easily accomplish the tasks they are responsible for, with the help of the application – not despite of it. Understanding what exactly those tasks are and what pieces of information are relevant to the process of their completion is something that requires careful analysis conducted at the organization deploying a new CRM solution. Failure to do this will quickly wash away any value that the software features could have potentially delivered to the organization.

    As today’s CRM platforms become more and more sophisticated with the functionality and data presentation options available, the design work of those who configure the customer specific solutions also needs to be aligned with the increasing expectation levels for application usability. It’s still not rocket science, but it does require a greater attention to detail than the earlier, more primitive business applications where the UI was essentially a reflection of the data model. I’ve illustrated some of these design aspects in my 10 Tips for Designing A Great User Experience presentation, which hopefully can give an idea of how the system customizers can do their part in building CRM systems that the business users will find great value in – a Useful Experience, if you will.

  • The State of Dynamics in 2015

    The State of Dynamics in 2015

    There’s been a lot going on in the world of Microsoft Dynamics during the past few months. As the summer vacation period is now here for many of us (hopefully), this feels like a good moment to reflect back a bit, discuss how the world has turned and share some thoughts on what I think it potentially means for people working with Dynamics CRM. The topics I’ll explore in this post are:

    • Practical impact of the cloud for Dynamics CRM customers
    • Dynamics as a business for Microsoft
    • The intersection of CRM and Azure
    • The platform aspects in the Dynamics CRM product

    CRM at The Speed of Cloud

    For a long time Microsoft had to work hard in convincing customers that their CRM Online cloud offering was functionally on par with the on-premises version, instead of it being a “Lite Edition”. After all, how could a public cloud service ever offer the same level of customer specific customization as the application bits sitting on your very own server’s hard drive? “The power of choice” as a unique selling point for the Dynamics CRM platform has certainly played a central role in reducing the perceived risk of choosing Microsoft over some other cloud-only vendors or traditional enterprise software rooted heavily in the isolated server environments. While this still remains an advantage, it’s less strategic these days when the cloud is the clear default in the minds of most customers.

    During the past couple of years MS has been applying a policy where many of the new CRM features become available first in the cloud. Not only does this make logistic sense for MS as they can control the application delivery more tightly and reduce the time it takes to get a feature from design to deployment stage. It also caters for the kind of audience that is likely to be more receptive to application updates in general, meaning the organizations who have already made their leap to the cloud – or who have never known any other way. This crowd won’t get so easily paralyzed with changes that affect how their tools work and they’re also more likely to adopt new services and features. This in turn helps Microsoft gather user feedback much faster, collect telemetry data from application usage, author case studies highlighting the business benefits from latest product releases, and so on.

    Now, since the cloud has become the default deployment option, it does still mean that not everyone who’s “up there” will want to immediately deploy the latest version once it becomes available. Luckily Microsoft has made some great improvements on how CRM Online customers can manage their environments, effectively building the capabilities for the next generation “power of choice”. For starters, the latest update policy now states that “in Spring of 2015, customers will have the choice to take the two updates as they become available, or take only one update per year.” Thanks to the features available for non-production (sandbox) instance management it’s also easy for customers to create copies of the CRM Online production org and test the upgrades as many times as needed before go-live. What used to be a scary leap of faith into a cloud platform where MS decides what happens to your precious CRM is changing more and more into the “on demand” type of service that you’d expect from the cloud, also in the deployment administration side of things.

    CRM2015U1_Groups

    The latest CRM Online 2015 Update 1 (a.k.a. Spring ’15 Release, codename “Carina”, version 7.1) has made it very clear how the cloud accelerates also interoperability between different applications. Being an Online only release, v7.1 has allowed MS to introduce a great number of new features that don’t live purely within Dynamics CRM but rather Office 365. OneNote integration leverages the SharePoint Online server-side sync, similarly as Folder-based Email Tracking relies on Exchange Online sync. The new CRM App for Outlook is also delivered via Exchange Online into OWA and Outlook 2013. The ability to open views in Excel Online for editing right inside the browser window and submit back the changes is naturally all thanks to Office Online. The brand new Office 365 Groups collaboration feature is, you guessed it, all orchestrated by the O365 platform. So, even though there are many important enhancements in CRM v7.1 application itself, this release really does highlight the fact that if you’re using CRM Online but not taking advantage of other Office 365 applications yet, then… Well, perhaps you should consider if your strategy with productivity tools is giving the best return on your investment.

    Another thing that has also become more apparent is that it’s not just a single batch of CRM application bits that gets delivered in a release. The dependencies to related systems have meant that some of the new features announced for Spring ’15 have rolled out only after the CRM v7.1 application and DB updates became available. Certain features like the CRM App for Outlook or the new CRM for Phones still aren’t available, even though we’re in CY15 (calendar year) H2 already. As the cloud service starts to consist of a growing number of separate components and each product has rapid release cadence instead of a 3 year plan, we’re bound to see more of a continuous stream of updated functionality instead of big bang launches.

    MS Business Applications Reorganized

    This leads us conveniently to the hot topics related to the organization around Microsoft Dynamics. As many of you must have noticed, Satya Nadella announced a major reorganization of MSFT leadership team in mid-June. For the Dynamics folks, here’s a quote of the most relevant part of the press release:

    “Executive Vice President Scott Guthrie will continue to lead the Cloud and Enterprise (C+E) team focused on building the intelligent cloud platform that powers any application on any device. The C+E team will also focus on building high-value infrastructure and business services that are key to managing business processes, especially in the areas of data and analytics, security and management, and development tools. As a part of this announcement, the company will move the Dynamics development teams to the C+E team, enabling the company to accelerate ERP and CRM work and bring it into the mainstream C+E engineering and innovation efforts.”

    In short, MBS is no more and its leader Kirill Tatarinov will “explore what’s next for him”. Microsoft Business Solutions unit was always a bit of an island at MS when observed from the outside, and I’m sure people inside will have run into plenty of invisible walls that haven’t exactly helped in delivering the very finest business applications that seamlessly connect with everything else Microsoft builds. Now the engineering, sales and marketing functions for Dynamics CRM and ERP products will be consolidated into the broader MS organization, with Scott Guthrie (C+E leader), Kevin Turner (COO) and Chris Capossela (CMO) taking care of the Dynamics business. There’s an excellent piece written on the reorg from Dynamics perspective by Frank Scavo, which I encourage you to read for further details: Microsoft Unbundles Its Dynamics Business Unit.

    Guthrie_Azure

    Throughout the history of Microsoft’s ERP and CRM product lines, there’s pretty much always been speculation about whether MS would spin off the MBS business if the right amount of money was offered for it. Being an island of its own certainly helped in envisioning how such a transaction could take place, since the bidder would have gotten not just a piece of source code but the whole organization and partner network around the products. When you put your Dynamics CRM glasses on (hey, even I don’t wear them all the time!) such idea never seemed like a very happy path for neither MS nor the potential buyer. There’s hardly any other product in the MS portfolio that pulls in such a broad range of the Microsoft technology stack when deployed for a customer organization, so trying to untangle it from these roots would be potentially disastrous for the product, in addition to causing MS to lose far more revenue than direct CRM license sales. I can’t speculate much about the Dynamics ERP products due to lack of hands-on experience in deploying them, but spinning off Dynamics CRM after the most recent move seems even less likely than it was to begin with.

    Nadella_BenioffThen again, we should keep in mind that just a while ago Nadella was seriously considering to acquire its nr. 1 competitor, Salesforce, if we are to believe the reports about the $55 billion offer made. If the results of these talks would have been different, we might have been now talking about Microsoft with not just 1 CRM and 4 ERP products but with two huge CRM platforms in its pocket. Not to mention all the underlying infrastructure and technology with which Salesforce competes with Azure, the world’s largest developer conference Dreamforce etc. This would have surely been a very different “State of Dynamics” post in that alternate reality. So, it’s good for us to keep in mind that at the end of the day it’s really just business, not software, and strange things can happen when the big boys are competing with one another.

    The Dynamics of Azure

    Back to the present day, what we now know for sure to be the near term agenda for Microsoft is to move the Dynamics CRM and ERP engineering teams to the Cloud + Enterprise group. So, what do they actually build there in C+E? Well, obviously anything to do with Azure, for starters. Then there’s the server & tools side of things, like SQL Server and Visual Studio. Power BI and BizTalk must also be familiar names for anyone who’s worked in Dynamics CRM projects. What doesn’t fall under C+E is all things Office, meaning products like SharePoint, Exchange, Skype, OneDrive and other productivity tools commonly found from Office 365 subscriptions – and naturally used alongside Dynamics CRM. So why is Dynamics being grouped together with the platform tech and not the productivity apps?

    Nadella_IntelligentCloudC+E is actually the group that Nadella used to run before being appointed as MSFT CEO. In case you’ve forgotten, Nadella was also leading MBS up until spring 2007 (at which point Kirill Tatarinov was appointed as his successor). For old times sake, here’s a snippet from his farewell post on the “Frontiers of Business Applications” blog:

    “We made tremendous progress with Dynamics ERP, CRM and Office Small Business product lines. Six years ago we were not a player in biz apps… the acquisitions in ERP got us to leadership position in mid market and now we are contender in Enterprise. CRM has helped us grow the fastest server product line in Microsoft’s history and now poised to offer “choice” of LIVE service.”

    I think it’s safe to say that Nadella understand a fair bit about not just the Dynamics of Microsoft’s CRM & ERP but also the general market dynamics behind how organizations today are deploying, extending and integrating their business applications. If we look at all the shiny new things that C+E has been launching into their cloud back-end portfolio, like Azure App Services or the Azure IoT (Internet of Things) Suite, then it’s not so difficult to envision that technology like this will also need front-end services for organizations to adopt them as part of their core business processes. If these processes happen to be managed with Dynamics applications today, then hey, perhaps Microsoft could do something on this front to speed up the adoption, right? Reading this blog post from C+E Chief Strategist James Staten sure seems to indicate that Redmond is well aware of the business opportunity.

    How soon will we see concrete evidence from Scott Guthrie and his team that being part of the C+E organization means Dynamics “C&E” (as in CRM & ERP) customers will gain new some next generation capabilities into their own business applications? Knowing the current release cadence with MS products, I hope this reorg would have already started to show up as new priorities being reflected in the backlogs of various product teams in C+E. The thing is, we don’t even need any brand new product features for Dynamics specifically, but we sure could use some higher visibility for Dynamics as the go-to solution for demonstrating how the MS cloud stack can be put into use in practical terms.

    For example, the Power BI story has been unraveling far too slowly for any Dynamics CRM Online customer that would have been interested in leveraging MS products for some cloud based data analytics. Commercial offerings like the Sales Productivity license promotion have been bundling these products for a long time, yet there’s been very little you’ve actually been able to do with the two together, due to lack of support for CRM Online as an automatically refreshable data source. Another example could be Azure Logic Apps, which were announced back in March, but as of today Dynamics CRM or ERP connectors are still unavailable for anyone wanting to configure these workflows to connect with their cloud business applications. Fine, you can support Salesforce and other partner solutions at launch time by all means, but punishing customers for choosing Microsoft is something I hope the new C+E family will put an end to.

    Azure_Logic_Apps_Dynamics

    Platforms and Products

    Back in the early days of XRM a.k.a. “Any Relationship Management” the concept of having Dynamics CRM serve as the foundation on top of which organizations could build their own relational business applications and potentially replace legacy LoB systems sounded perfectly valid. The XRM idea was conceived in the on-premises days, though, where the business owners couldn’t just go and subscribe to a cloud app of their choice to solve their problem with a bit of shadow IT. Sure, they could have also requested an XRM org to be customized for this purpose, but 99% of them probably weren’t familiar with the concept. Oh well. The capability is nevertheless there in the platform that all Dynamics CRM applications run on today, and MS even hinted at more emphasis being put onto the XRM toolkit during Convergence 2015 presentations.

    These days when we think of business application platforms, the image in our minds isn’t probably limited to just a relational database with a few entities and forms for data entry. Thanks to the aforementioned explosion of cloud apps and our many mobile devices, the modern platform concept is, in my humble opinion, a network of connected services that allow you to get your job done, no matter where you are or in which particular app you are. So, rather than looking at how the business application itself is implemented on a technical level (as an XRM solution package deployed to your company’s CRM Online org, for example), in practice more important questions are how does it relate to the other apps the business is using, how it communicates with the outside world and how it fits with the workflow of the end-to-end business process? When observed from this perspective, some might argue that Office 365 with its growing collection of integrated apps is actually more of a business application platform than CRM is.

    Office_365_app_launcher

    Do I see CRM turning into just another icon in the O365 app launcher then – becoming a packaged, ready-to-use product like OneNote or Sway? No, and I think the new organization structure at Microsoft also highlights the fundamental difference between such products. Sure, MS is investing more and more resources in making Dynamics CRM more easily approachable as a “mainstream” product, by creating sites like the new Microsoft Dynamics CRM Online Onboarding Success Center​​ (for comparison, check out the Office 365 Onboarding Center).  We’ll surely see increasing effort put into lowering the entry barrier for especially SMB customers as MS tries to become less reliant on their Dynamics partner network to acquire and retain customers for CRM. The way I see it, turning Dynamics CRM into a packaged application that you can just sign up for and start using for common tasks that businesses tend to perform with their customer and sales data sounds both like a low hanging fruit and mission impossible at the same time. Sure, in terms of application features Dynamics CRM is ready to cater for a whole variety of different types of guests, but just like people do not prefer dining with a Swiss knife, I think there will remain the need for experts to plan the correct eating utensils for the meals, present them on the table and if needed, instruct how to operate them in the most elegant manner. Anyway, making the whole process of attending this grand CRM dinner more straightforward and educating the guests on what they can expect to find on the menu will surely benefit all the parties, so hopefully this type of mainstreaming will be done for Dynamics CRM.

    If we accept the fact that Dynamics CRM is still very much a platform in itself (although delivered under the broader O365 platform), then we must also acknowledge that the platform part doesn’t means just building customer specific XRM deployments. Strategically an even more important factor for Microsoft is the number of partners that develop solutions for connecting Dynamics CRM with their services and apps. Although there are a number of established ISV’s operating in the Dynamics ecosystem that offer the kind of add-ons and integrations that are essential ingredients in today’s CRM implementations, I think it’s safe to say that when it comes to the amount of apps available for Dynamics CRM customers to buy, we’re nowhere near the level that could have been expected back in 2011 when the current solution framework and the Dynamics Marketplace were introduced. It’s also far too common to see vendors develop a v.1 app and then not invest sufficiently in maintaining it as the CRM platform evolves (at an ever growing speed, thanks to the cloud era).

    crmwatchlist_eliteBroadening Microsoft’s own offering to marketing automation, social channels, customer service and other recent additions in the Dynamics product family has surely helped in improving the credibility of Dynamics CRM as an enterprise level player (that has a distinct Enterprise licensing tier now, compared to many years of “all you can eat” pricing model). We’ve also seen announcements from the Dynamics team about partnerships formed with established players like Adobe and Lithium, with the promise of more announcements to follow in the near future. I’m sure these are all beneficial moves for Microsoft in their broader strategy for CRM, validated by evidence like the CRM Watchlist 2015 Elite award from Paul Greenberg (a.k.a. Mr. CRM himself) where he’s confident in stating that “Microsoft gets ecosystems”. This just isn’t quite enough, in my humble opinion, if MS isn’t able to attract and grow the kinds of ISVs that will help the Dynamics CRM customers to connect with the latest services that the “cool kids” out there are using, or affordably bridge the smaller functional gaps that aren’t strategic for MS in terms of the Dynamics CRM product roadmap. As Greenberg also states in his Watchlist results analysis:

    “Microsoft has to be much more cognizant, consistent and proactive about seeing their Dynamics product portfolio as an end to end platform – which will make them competitive in the 21st century.”

    This is the area where I place my biggest expectations from the new MS organization structure to make some visible changes. If we observe what Scott Guthrie and the numerous product teams under Cloud + Enterprise have managed to do to Microsoft’s image in the eyes of the broader developer community in the past couple of years, by open-sourcing their work as well as embracing existing standards rather than inventing their own, then that’s certainly the kind of whole new appeal and earned good will the Dynamics ecosystem could use, too. Making Dynamics CRM more accessible for new vendors to connect with and build their IP on, while at the same time increasing its financial attractiveness by better driving customers to explore the add-on market offering is the kind of virtuous cycle that a thriving business application platform truly needs. If the new “mainstream” position of Dynamics in MS’s portfolio means that the CRM & ERP products would be considered as the de facto tools for solving the business agility challenges that MS talks about when pitching its Azure technologies, this would also help a lot in solidifying Dynamics as the premier platform to build your business processes on.

  • Tracking Pipeline Development Over Time in CRM 2015

    Tracking Pipeline Development Over Time in CRM 2015

    We’ve come to part 3/3 in the Smarter Sales Process article trilogy. In the earlier posts we talked about customizing the lead qualification process and using calculated fields for opportunity estimated revenue, to get more out of Dynamics CRM 2015 than what the standard sales related functionality offers. To close things off, let’s have a look at how we can gain more insight into the data in our sales opportunity pipeline and particularly how it has developed over a period of time.

    Capture the Sales Pipeline Trend

    With the data that Dynamics CRM collects about sales opportunities we can easily draw charts about how many deals were won or lost at any given time, presenting these as a monthly trend of both estimated and actual revenue. It’s also very simple to visualize the current contents of our sales pipeline by looking at the open opportunity records via standard visualizations like the… well, pipeline chart, obviously!

    What we can’t do quite so easily is to present how the sales pipeline has developed over time. For example, has the number of opportunities in a particular stage of the sales process gone up/down, or how the total estimated revenue from open opportunities is developing. An average CRM user may not understand why such a visualization wouldn’t be included in the application by default, but for a system customizer that knows the data model and behavior of Dynamics CRM this should be fairly obvious. The fundamental difference between closed opportunities and open opportunities is that for the former we have a permanent record of when they were closed and with what values, whereas the records that are currently in an open status represent transient data. It will change over time, based on the future actions that CRM users will take.

    So, what’s the problem with such data? The fact that an open opportunity may have been open last week or even ten weeks ago makes it impossible for us to draw a chart that would show a weekly number of records, since only a single record exists in the database, even though it might need to appear in the bar for each week in a chart showing the size of the pipeline on a weekly level. While technically we would have the information needed to project the number of opportunities that have been open at a given time by looking at their creation date, this would be a more complex exercise than what the ASP.NET charts in Dynamics CRM allow us to draw (although I wouldn’t be surprised if CRM Chart Guy would prove me wrong on this one).

    At the end of the day CRM is an operational system focused on managing individual records and transactions, which means it doesn’t bother archiving copies of records in their historical state. Sure, we have the audit log that will keep a record of the individual changes to tracked fields, but that’s data which isn’t accessible for reporting. But the question to ask is: if we wanted to capture such historical data for our analysis purposes, could we do that with Dynamics CRM? Sure we could! In fact, already back in 2008 when CRM didn’t yet have a built-in auditing capability, CRM MVP Guy Riddle showed us how the use of custom entities and workflows allowed us to build our very own audit log feature to capture changes for record field values.

    CRM_opportunity_count_by_week_and_stage

    Sure, our use case here is a bit different, since we’re not looking to only capture entries on when a record changes. To provide us visibility into how the sales pipeline has developed over time, we would need to capture a snapshot of the pipeline status at predetermined intervals.

    Scheduling Snapshots of CRM Data

    One of my favorite features in CRM 2015 version is Rollup Fields, which I’ve already covered in a number of earlier posts on this blog (including the gotchas you need to be aware of). This feature also comes in handy if we want to build a custom snapshot entity to store the count or sum of records related to it. In this scenario for monitoring sales pipeline development, which I presented in my MSDynamicsWorld.com webcast “A Non-Developer’s Guide to Smarter Sales Processes in Microsoft Dynamics CRM 2015”, what we’ll do is make a 1:N relationship between our custom Snapshot entity and the opportunity entity. This in turn will allow us to create Rollup Fields that will summarize the count and revenue of the related opportunities onto the Snapshot record. By having a snapshot per each stage of our sales process, we will get the attributes needed for drawing the kind of chart shown above, to visualize the trend of opportunity count and estimated revenue development per week.

    The detailed steps for the required customizations can be found from the following SlideShare presentation:

    The one missing ingredient that we still need to think about is how to automate the capture of these snapshots. What Dynamics CRM still doesn’t offer out-of-the-box is the ability to schedule recurring workflow processes in an easy way, to perform an automated task every X days. Luckily there are workarounds for scheduling such bulk data processing tasks with using nothing but the CRM platform, and one of the best solution’s I’ve come across is the Scheduling recurring Dynamics CRM workflows with FetchXML solution from Lucas Alexander. I’ve already shown you how to use this solution for monitoring Rollup Field Values with workflows and the same logic can be applied in this scenario, too. Only this time we don’t send a weekly email blast to CRM users, rather we’ll just create new snapshot records to store the opportunity count and total estimated revenue per sales stage.

    CRM_scheduled_process_opportunity_snapshot

    Alright, that concludes my Smarter Sales Process for CRM 2015 series, at least for now. As mentioned at the start, do check out part 1 and part 2, as well as the YouTube recording of the live demos if you’re interested for more details on the topic. Hopefully these examples have given you some new ideas on what kind of solutions you can build with the Dynamics CRM 2015 customization tools. If you’ve got any thoughts on what kind of no-code customization scenarios you’d be interested in seeing in the Surviving CRM blog in the future, please feel free to leave a comment!

  • Using CRM 2015 Calculated Fields for Opportunity Estimated Revenue

    Using CRM 2015 Calculated Fields for Opportunity Estimated Revenue

    It’s time for part 2 in the Smarter Sales Process article trilogy. As described in my previous blog post about lead qualification process customization, this content is taken from my MSDynamicsWorld.com webcast titled “A Non-Developer’s Guide to Smarter Sales Processes in Microsoft Dynamics CRM 2015“. After having adjusted the lead to opportunity process to better suit our needs, we’ll next have a look at how the data managed in the opportunity stage could be more easily entered and maintained by leveraging the no-code customization tools available in Dynamics CRM.

    Introduction to Calculated Fields

    As you should have noticed by now, the CRM 2015 release added the possibility for defining two new “complex” field types in addition to the traditional “simple” fields. Rollup fields is something I’ve covered in more detail in an earlier blog post, so this time we’ll be working with the other type, which is the calculated fields. Essentially these are the types of fields where you don’t directly insert a value in CRM, but rather the field value is calculated from one or more other fields in the system, based on the formula and conditions you specify in the calculated field definition editor found from the field’s properties in the CRM customization menus.

    How calculated fields differ from rollup fields is that with them we’re always working on the current record, whereas rollup fields retrieve data from related records. Well, actually that’s not entirely true, since a calculated field can also reference a value from a related parental record in its formula. A more accurate description could therefore be that calculated fields can access data from the “1” side of the 1:N one-to-many relationship, whereas rollup fields are the tool for retrieving data from the “N” side of the logical data model in our CRM organization.

    Another aspect that the system customizer must be aware of before starting to leverage these new tools for building CRM 2015 solutions is how and when the field values are calculated. As demonstrated in my post “CRM 2015 Rollup Fields: The Gotchas“, the data shown in rollup fields may be up to 30 minutes old, since these are updated based on an asynchronous job (unless you apply the workaround described in that blog post). Once they are updated, though, the values are persisted in the database. Calculated fields work in the exact opposite way, meaning they are calculated in real-time, but the data is not actually stored in the CRM database. While the latter part of that sentence might sound strange at first, it simply means that the CRM platform performs the calculation any time the specific calculated field is needed. This includes opening a form that contains the field, browsing a view with such columns, accessing a dashboard with charts referencing calculated fields, making SDK calls for retrieving this data and so on.

    To familiarize yourself with the details of these features, have a look at the TechNet article Define Calculated Fields. Or if you’re in a hurry, spend 5 minutes watching this YouTube video from the CRM product team, to see how what the new fields look like in the customization UI.

    Applying Calculated Fields on Revenue Estimation

    The scenario that I chose for the Smarter Sales Process series deals with the way we determine an estimated value for an opportunity record in Dynamics CRM. By default, you have the option of either entering a lump sum into the Est. Revenue field of an opportunity record, or creating individual opportunity product records as line items that have a specific revenue value. This is what the bit field IsRevenueSystemCalculated is all about, with its options of “User Provided” or “System Calculated”. Since many organizations using Dynamics CRM don’t actually bother maintaining the detailed product catalog and price details in corresponding CRM records (at least not without a custom integration being built to sync the data from other systems), the “User Provided” option is quite often used for recording just the total estimated revenue value for the opportunity. What this means in practice is that the sales people end up using their own Excels to calculate the various components from which the revenue is generated and just entering the end result into CRM. If any parameter in the equation changes, it’s back to updating your Excels, then CRM again. Oh joy.

    Could there be some middle ground between taking just a single figure from an external Excel sheet and having a full blown product & price catalog maintenance process for CRM? If the products and services you’re selling consist of a limited set of key revenue components that are typically included in each quotation you make, then exploring the possibilities of creating custom fields for these components directly onto the opportunity record might well be in order. While these will not provide the high granularity data of having opportunity product line items with links to the related product record, the data entry and maintenance experience is probably going to be a lot easier for you to sell to the CRM end users. (After all, we’re talking about sales people here, who are the toughest crowd you’ll ever need to please with your CRM system functionality.)

    CRM_Opportunity_Estimated_Revenue_Calculated_Fields

    In this example scenario we’re selling CRM consulting projects that have three common revenue categories: consulting revenue, license revenue and “other” revenue. The total value of each area is calculated via a specific formula, after which each area specific revenue is summed up into the Total Amount field. As you’ve probably guessed by now, this is achieved by using the CRM 2015 calculated fields feature. Compared to adding the line items one by one, configuring unit prices and other variables, the data entry process is considerably faster, since all the user needs to do is tab through the relevant fields on a single form and enter values where necessary. You can catch a quick glimpse of the live opportunity form in this YouTube recording of the webcast.

    For a detailed explanation of how this type of functionality can be configured in Dynamics CRM, have a look at the following slides: Smarter Sales Process in Dynamics CRM 2015 – Part 2: Revenue Estimation.

    A Few “Gotchas” on Calculated Fields

    If you’ve implemented a similar custom opportunity form in the past by using Javascript to perform the calculations, then you should be aware that the native calculated fields in Dynamics CRM don’t offer exactly the same user experience as custom scripts do. The reason is that the calculation logic is executed whenever the fields referenced in the formula are retrieved from the CRM, meaning not before you’ve submitted the updated source field values into the database. So, the moment you change a field value (let’s say “consulting hours” in our example”) and click/tab to the next field, a client-side script would be able to recalculate the fields instantly, triggered by the onChange event of the field. A calculated field will just sit there waiting for the source data to be saved to CRM first, either via the auto-save feature every 30 seconds or the user explicitly clicking on the save icon in the bottom right corner of the form.

    Considering that with CRM 2013 we received the Business Rules feature that acts in practice the same way as a custom script (meaning it’s executed on the client side), this may seem like a slight setback in the level of application UI responsiveness for Dynamics CRM. Knowing that there are also some calculation capabilities available with Business Rules, you might be wondering if this feature could be used instead of calculated fields, to deliver an even better user experience. Well, based on my personal experience, if you try to build a very complex chain of calculations by using Business Rules, you’ll soon find yourself in a world of pain trying to figure out why the events don’t always trigger the way you want them to, how to handle resetting field values and so on. Although I haven’t yet used the calculated fields feature in as many real life scenarios as Business Rules, at least I haven’t run into similar problems in ensuring validity of the calculations performed with them, so my recommendation would be to always opt for calculated fields whenever you need to… calculate the value of a field (ever get the feeling that us consultants just state the obvious things?).

    Another thing to be aware of when it comes to calculated fields and Business Rules is that the two don’t mix. More specifically, a Business Rule cannot reference a calculated field, so you cannot grab the results of the calculation and use them in a subsequent business logic implemented via a Business Rule. Luckily, you can still access the calculated field values in a workflow process, which is the workaround that I’ve used in my aforementioned presentation.

    During the webcast, there was also a very good questions presented on whether there are some limitations on how many calculated fields you can use on a single entity. Based on the official documentation, there doesn’t seem to be any hard limit on the number of calculated fields you can create, but you cannot include more than 10 calculated fields into a single view (or chart), which could potentially be reached if creating a highly complex calculation scenario and a summary view to export the resulting data out of CRM.

    As always, the responsibility on system performance impact ultimately lies on the system customizer, even if the solution is created just via clicking the CRM configuration options instead of writing custom code. As the no-code customization tools get more advanced with every release of Dynamics CRM, it’s becoming increasingly important also for people in the business analyst role to have a basic understanding of how the underlying application platform operates. I want to highlight a couple of recent whitepapers that Microsoft has released around the solution design and performance topic, which should give you plenty of food for thought, whether you’re approaching Dynamics CRM from a developer point of view or if you’re an analyst that’s aspiring to design more complex CRM solutions:

  • Customizing Lead Qualification Process in CRM 2015

    Customizing Lead Qualification Process in CRM 2015

    This is the first part in an article series where I’ll be presenting a few customization tips & tricks that you can use in Microsoft Dynamics CRM 2015 to enhance the functionality used in a typical sales process. The content was first shown in my live webcast on MSDynamicsWorld.com on May 6th: “A Non-Developer’s Guide to Smarter Sales Processes in Microsoft Dynamics CRM 2015.” As promised during the webcast, I’ll be releasing all the slides here on my blog, but since there was a lot of details to go through in the 1h session, it will be split into three separate articles, to improve the accessibility to this information for those who didn’t attend the live webcast.

    The overarching theme of this series is to show you how the creative combination of the various customization tools available in Dynamics CRM 2015 can be used for building whole new functionality into the application – without having to write any custom code. The emphasis is on the word combination, since very often you’ll need to use several different pieces of the platform’s customization tools to achieve the end result. This isn’t something that you can easily learn just by reading the official product documentation that typically focuses on the introduction of a single feature at a time. With the examples in this article series I hope to demonstrate what these combinations could look like, in the context of customizing the standard application behavior in the sales process.

    MSDynamicsWorld_Smarter_Sales_Process_scenarios

    The techniques are by no means exclusive to the sales area of Dynamics CRM. Any process that you manage with our CRM/XRM application can surely benefit from the type of custom functionality that you can build via Business Process Flows, Real-time Workflows, Business Rules, Calculated Fields and Rollup Fields. The absolutely best way to gain an understanding of what you can achieve with the point & click customization tools in Dynamics CRM is to experiment with the tools in a sandbox environment, so I encourage you to go and try out these scenarios in an actual working CRM system. (Why not spin up a new CRM Online trial org and also get access to all the new CRM Online 2015 Update 1 goodies while at it?)

    What’s Wrong with CRM 2015 Lead Qualification?

    Those of you that have been working with Dynamics CRM for more than just a couple of years will probably remember how the things used to work before CRM 2013. When clicking on the Qualify button on a lead record, the user was presented with a dialog that allowed them to choose whether a new account, contact and opportunity record should be created from this lead. In the new world of Business Process Flows and no-popup UI of CRM 2013 (and CRM 2015), such options are no longer presented to the user. While this makes for a smooth user experience in general, it creates severe conflicts with many real life business processes of companies who either A) don’t use opportunities or B) don’t want to directly convert each lead into an opportunity. There are lots of suggestions on MS Connect (registration required, see here) to restore the ability for users to select not to create an opportunity from a qualified lead, but so far we haven’t seen any changes in the product to accommodate this.

    CRM_Lead_Qualification_Dialog

    So, if CRM wants to create opportunities but the user doesn’t, what could a mere system customizer do, without any knowledge of how to write plugins or scripts to develop new functionality by using the CRM SDK? Well, I’ve come up with a reasonably good workaround that uses the following solution components to establish a true user driven lead qualification process:

    • Branching Business Process Flow (BPF) to show stages that don’t take the user to the opportunity entity
    • Real-time Workflow to hand the lead status change and record creation instead of the built-in, non-configurable business logic of Dynamics CRM
    • Business Rules to conditionally show/hide fields for account/contact details on the form
    • Quick View Forms to present the records created from lead qualification process on the lead form after it’s closed

    You can find the detailed description of how I’ve configured each components from the below presentation:

    (For those of you who are not reading this article directly on survivingcrm.com and can’t see the embedded SlideShare presentation, click this link to access it.)

    I hope that this example has given you some ideas on how the lead management process and related Dynamics CRM functionality could be further developed in your own CRM organization. Stay tuned for part two of this Smarter Sales Process series, where we’ll be moving to the opportunity record and exploring how the estimated revenue information can more easily be managed by using the Calculated Fields feature introduced in Microsoft Dynamics CRM 2015 release. If you simply can’t wait for it or want to see the lead qualification process in action, then the webcast recording is available on YouTube already today.