Tag: Power BI

  • Winter in July: Release Notes for Next Dynamics 365 Version

    Winter in July: Release Notes for Next Dynamics 365 Version

    While I’m over in Finland enjoying the biggest and longest heatwave ever, some of my fellow MVPs and Dynamics 365 community members were attending the first ever Microsoft Business Applications Summit this week on the other side of the globe in Seattle. As much as I would have enjoyed sitting in cold & dark conference rooms instead of trying to hide from the burning sunlight, this time I had to rely on the others to share the latest news from #MSBizAppsSummit while I attempt to enjoy the summer vacation.

    A large share of the conference’s announcements are covered in the October ’18 Release Notes, which you can download in PDF format right here. This is a massive “drop” that follows the format of what we already saw with the previous April ’18 release. Even though it’s been made available during the summer heat, it’s actually a list of features that Microsoft intends to (mostly) make available between October 2018 and March 2019. So, winter came early this year, which is a positive thing, since now we have several months of advance notice of what’s in the product team’s pipeline. These release notes essentially replace the earlier roadmap.dynamics.com website, which in itself was kinda cool (running on top of Dynamics 365 Portals and all) but didn’t communicate the actual road ahead all that well. So, these twice a year PDF releases with ongoing updates to their detailed content is the thing you need to pay attention to now.

    One small but notable difference is that Microsoft is no longer calling it “Dynamics 365 Release Notes” but “Business Applications Release Notes”, which together with the Summit’s name reflects the new context in which we all should approach whatever parts of the toolkit we use in our end user solutions. Recently also the Microsoft Most Valuable Professional program updated its terminology, and now the previous Business Solutions MVPs are in the Business Applications MVP category.

    The previous April 2018 release was the first time when we saw the new organizational structure of Microsoft Business Applications Group (“BAG”) bringing previously separate product offerings under one roof, with CRM & ERP products being represented in the same release notes list as PowerApps, Flow, Power BI. That also was the time when things like the Common Data Service for Apps were announced as replacements for what XRM previously stood for. However, from a raw functionality level there appeared to be a greater urgency in reaching GDPR compliance before the May 25th deadline than to actually push out new integrated features for the CDS for Apps platform.

    Reading through the October 2018 release notes, this time it’s very different. There are huge steps being take to bring together the “ex-XRM” technologies with the newer products and make it truly one Power Platform. Here are selected highlights:

    • PowerApps Canvas Apps and Flows can now been included inside CDS for Apps solutions, giving them the ALM story for enterprise grade deployment across different dev/test/UAT/prod instances. This clearly makes them no longer a “power user” focus tool but a building block for credible business applications.
    • PowerApps Canvas Apps can be embedded inside the model-driven app entity forms. The traditional UI of XRM apps that was generated from metadata will get a touch of pixel-perfect design options that the Canvas Apps have always been about. This ability coincides with the new options to freely set the app size instead of earlier phone/tablet format limitations.
    • Flow is promised to reach parity with async workflows. Even though the transactional capabilities of real-time workflows (similar to plug-ins) is not yet within October 2018 scope, that’s one bold step to make the XRM workflows history and move their logic into Flows.
    • Power BI reports & tiles can be embedded onto CDS for Apps entity forms and the record context as well as any record attribute can be passed to them for data query and visualization filtering. Surely pretty much anyone has at one time wished “gee, wouldn’t it be sweet if instead of working with this limited ASP.NET chart XML from Dynamics CRM 2011 we could leverage those modern Power BI charts instead”. Well, that day is getting closer!
    • PowerApps Canvas Apps will FINALLY offer native support for lookups, option sets and datetime fields. For anyone who’s tried to replicate pretty much any CRM functionality with PowerApps, this will have been a very early stumbling block. Not so easy to solve with separate product teams inside MSFT apparently, but within the new Business Applications Group these gaps for real life solutions can now be filled.
    • There will be a single mobile “player” for both Model-driven Apps and Canvas Apps. When previously the Dynamics 365 Customer Engagement mobile app for Unified Interface and the PowerApps apps lived behind separate app icons on your phone, soon the users may no longer see any difference when switching between different business applications.

    These are only a few items in the long list of upcoming features that the 239 pages of October 2018 release notes contain. A lot of important unification is also taking place in the author and admin experience of how Dynamics 365 Customer Engagement apps, CDS for Apps platform, PowerApps Canvas Apps and Flow can be used together for your solution design needs. Similarly, a lot of advances are being made on the UCI front, with the legacy web client being more and more replace with Unified Interface. Then there’s the whole CDS for Analytics side of things coming up, with promises for new AI apps and capabilities. You’re going to need to read through a wealth of blog posts to grasp the full spectrum of what Microsoft is planning to launch, so a good place to start is the Scott Durow Top 10 favourite features in this release.

    The April 2018 release for Dynamics 365 CE was a bit of a surprise due to the fact that it wasn’t officially a major release like v10 or even v9.1, instead it was only a v9.0.2 update. Deployed automatically to your v9 instances, with no CDU process to schedule the update from the available time slots. Now in July we got a confirmation from Microsoft that this reflects the way all future updates will be rolled out, in the blog post Modernizing the way we update Dynamics 365. Looking at how the Power Platform will increasingly be consisting of functionality that isn’t found in the “XRM server”, the automatic updates make a whole lot of sense. It remains to be seen how the remaining on-premises customers will be serviced with the updates and to what extent there will be feature parity. At least we now got a confirmation at the Business Applications Summit 2018 that there will be a new on-prem release this fall, so there appears to be a plan to bring things like UCI available for those who still prefer to run their own business application servers.

  • Business Application Platform at Microsoft Build 2018

    Business Application Platform at Microsoft Build 2018

    Build is the lead event for all things developer related in the Microsoft ecosystem. This year was the first time that the Business Applications side of MS’s stack also had dedicated tracks in the event agenda. While I didn’t attend the event myself (the Elisa Microsoft developer community was of course represented in Seattle), I was quite curious to see what kind of story is being told to the dev crowd about CDS for Apps, Dynamics 365, PowerApps, Flow and Power BI. Luckily there’s the virtual Build Live experience for viewing the live streams from the event these days.

    What’s not so fortunate is that the Build site doesn’t seem to provide a very good experience for discovering the specific content from a particular technology. At least the content selector for “Business Apps” doesn’t really show all too many relevant sessions at the time of writing:

    The good news is that us virtual attendees can also access the session catalog for My Build, which allows to perform either free text searches or filter the content to products in the Business Application Platform category:

    Once we know the IDs for the sessions we’re interested in, we can then dig the content from from Channel 9’s Build 2018 page. There we can continue our journey to the YouTube videos of session recordings and SlideShare for the presentation decks. Not really all that hard for anyone who’s accustomed to navigating the maze of portals that MS partners encounter, but of course it might be a bit tricky for newcomers into the ecosystem. So, just for the sake of convenience I though it might be useful to have the most relevant Business Applications content fro Build 2018 collected onto a single page. Which is what this blog post essentially is about.

    Accelerate your SaaS App development using the power of the Business Application Platform (BRK3411)

    “Join this session to learn how the Business Application Platform can accelerate the time to market for your next Line of Business SaaS app. Through the lens of an ISV/software developer, we will walk you through the entire application development process showcasing what it takes to build a new, composite app from the ground up using out of the box no-code/no-code tooling, to extending with custom code and connectors through to packaging and publishing to AppSource allowing you to reach 120M+ monthly active users. During this session we will also touch upon the value of the Common Data Service for Apps as it applies specifically to you as an ISV, how you can extend and contribute to the ISV ecosystem flywheel and greatly reduce both cost and time to market for new SaaS apps.”

    A good introduction to what the steps for app development are when working on the Business Application Platform (BAP) as opposed to other environments. Includes a demo of the development path as well as discussion on what investments are being made to deliver a more seamless app delivery experience in the future.

    Be sure to check out the slides if you want to see the “before” and “after” architecture of XRM, PowerApps + CDS 1.0, and the final Common Data Service for Apps (a.k.a. CDS 2.0):

    There are more ways than ever for partners to work with the platform, now that it also encompasses PowerApps and CDM:

    Watch the session recording on YouTube, then view the presentation on SlideShare:

    Extending PowerApps and the Common Data Service for Apps with custom controls and server side logic (BRK3403)

    “Professional developer extensibility is a key capability to the Business Application Platform. We’ll focus on enriching model-driven PowerApps solutions with server-side code and custom controls on the Common Data Service for Apps. We’ll utilize the developer toolkit and write code for native plugin development, use of functions and logic apps, Web API, Administration API, and the Virtual Entity subsystem.”

    Whenever Matt Barbour delivers a session, you’re going to want to pay close attention. This session is no exception, as Matt talks through the story how XRM evolved into CDS for Apps in his candid manner and explains to us what decisions and choices were made along the way. No matter if you’re an XRM old timer or only starting to look deeper into app development story of CDS for Apps, you need to watch this session.

    While the logical architecture of CDS is quite familiar to friends of the XRM SDK, the important bits are about how plug-ins will eventually be replaced by Azure Functions, how Microsoft Flow now owns the Business Rules story, and all these details about future investment areas that you can pick up from Matt’s presentation. After all, the former XRM solution management system will be how you’ll deploy also Canvas Apps, Flows, connections and gateways from one instance to another in the future, so it’s far more relevant to an ever larger audience.

    Watch the session recording on YouTube. No slides available so far, but Matt only had a few anyway and mostly focused on the demo side.

    Build and extend applications for Office 365 with PowerApps and Flow (BRK2303)

    “Come discover the capabilities of PowerApps and Flow as the unified high productivity application development and workflow platform across Office 365 and Dynamics 365. As the successor to InfoPath and Access Web Apps, PowerApps enables users to build both simple forms to advanced, feature-rich apps, while Flow as the successor to SharePoint Designer Workflow, enables users to build automated workflows for a range of scenarios from notifications to approvals. In this session, we’ll cover integrations with SharePoint, Dynamics 365, Microsoft Teams, Microsoft Graph, Excel, and more. Start extending and building apps and workflows for Office 365 and Dynamics 365 today!”

    If the earlier presentations were more developer focused platform discussion, this is a more citizen developer themed session that demonstrates the built-in integration points of where the different MS provided apps meet each other. If you have less hands-on experience with the non-Dynamics side of things, then have a look at these demonstrations to catch up on things.

    The slide deck contains a lot of good reference material for you to store on your hard drive for customer facing presentations. There are also updated product roadmaps for PowerApps and Flow that are always interesting:

    Watch the session recording on YouTube, then view the presentation on SlideShare:

    Automating business processes and approvals with Microsoft Flow (BRK2302)

    “Use Microsoft Flow to easily add business process automation and approval processes to your solutions. You’ll learn to build Flows with a few simple clicks and extend your learnings to more advanced techniques and expressions used to build complex workflows. Finally discover how you can take it up to Azure Logic Apps when it makes sense.”

    Stephen Siciliano has been doing great presentations on Microsoft Flow that sort of work as the missing manual to how us citizen developers can approach scenarios where Flow doesn’t quite offer any obvious ready-made features – yet there are capabilities hidden in the tool that could solve the problem. Judging by the slides, this looks like another information session where you’re bound to learn many things you thought Flow couldn’t even do.

    Funnily enough, Stephen’s deck actually seems to offer the best answer to the question that most Microsoft Build attendees probably would present when encountering this Business Applications side of MSFT for the first time: how does the Business Application Platform differ from the Azure platform?

    Check out the slides below, and the session recording on YouTube.

    Deep dive into building apps on Common Data Service for Apps (BRK3404)

    “In this session, we’ll deep dive into the concepts needed to build applications on CDS for Apps, whether you leverage it PowerApps or in your custom built solutions. We’ll cover all the fundamentals like entity modelling, business rules, business processes, and include an introduction to extensibility options like Plugins, Virtual Entities, and more.”

    No one can escape the Digital Feedback Loop slide, not even the developers. This is a demo-heavy presentation where a sample app is built and the various capabilities of Model-driven Apps are explained. All pretty familiar to anyone who’s done app building with XRM.

    Video only, no slides.

    More Business Application Platform content from Build

    For session recordings that touch upon parts of the platform we’re working with, here are some more that I picked up from the Build 2018 catalog:

    Did I miss any session that you think is worth watching? Then be sure to leave a comment!

  • Microsoft Business Forward 2018 Event and Spring Wave for Dynamics 365

    Microsoft Business Forward 2018 Event and Spring Wave for Dynamics 365

    The public launch of the Dynamics 365 Spring Wave was at the Microsoft Business Forward event in Amsterdam on March 21st, 2018. Here are some highlights from the event, shared over on Twitter with the #MSBusinessFwd and #MSDyn365 hashtags. (If you’re viewing this post on Dynamics Community page then you might want to visit the original post on Surviving CRM site to see the embedded content.)

    There’s A LOT to chew on in this release and there’s literally 10+ blog posts released today by Microsoft, spanning from traditional Dynamics 365 Customer Engagement team blog to PowerApps to even Power BI. You can start drilling down into this wealth of new information from the announcement by James Phillips: Accelerating digital transformation with the spring 2018 release for Dynamics 365 and Business Application Platform.

  • Top 3 Themes for Dynamics 365 in 2017

    Top 3 Themes for Dynamics 365 in 2017

    The first day of the new year is a good moment to reflect on what 2017 gave us (or didn’t give) in the Dynamics 365 business. Here are the top 3 themes that came to my mind when I looked backed at the last 12 months of news, releases and overall directions coming from Microsoft.

    Business Applications

    A major theme that emerged this year and found its way into most of the communication coming from Redmond was Business Applications. Those two words on their own of course don’t mean anything very revolutionary, but it’s rather the way in which they were used to broaden the context of Microsoft’s business software beyond just Dynamics that’s of greater significance. If 2016 was the year when CRM and ERP were commercially bundled into Dynamics 365, then in 2017 the scope began to reach further beyond that. At the start of the year the XRM platform was given the Customer Engagement name, with the absolute minimum fanfare allotted for the occasion, so the true focus for product marketing was obviously somewhere else.

    Looking around at what specific software products sit alongside Dynamics 365 in the high level MS technology stack illustrations, it’s quite logical that we’re now seeing the “Power Suite” tied into pretty much every commercial narrative around Microsoft’s business cloud. More precisely, the technology grouped under this suite with no official name is very central to the story being told to both business and technical decision makers for one reason: its purpose is to connect the big three MS clouds. Office 365, Dynamics 365 and Azure are all equal beneficiaries from the toolkit that is provided by PowerApps, Flow, Power BI, CDS and their numerous connectors.

    On an everyday level it may still not be all that common for the real life CRM solutions to heavily rely on the Power Suite technology, like using MS Flow instead of D365 workflows. Because it was first rolled out as a power user focused set of tools for an individual information worker rather than something you’d deploy across a large organization, the practical as well as perceived maturity of this technology has formed a barrier of sort for full-on adoption. The long term outlook for it does look bright in my opinion, however. There’s only so much that Dynamics 365 as a platform can do on its own (be it the XRM, AX or NAV flavor), but if you can connect it with the outside world of MS and non-MS services without the traditional integration development effort, that opens up the door to a world of possibilities. I’m pretty sure customers will be interested in taking a step through that doorway and having a look around during 2018.

    App/Plat Separation

    Taking a few steps down from the higher level clouds and diving into the platform formerly known as XRM, 2017 was a busy year. This didn’t really come as a surprise to me, since I had a wonderful opportunity to get a peak at what the product team had planned for this calendar year already in the last MVP Summit in November 2016. My initial reaction to it was “are you guys SERIOUSLY going to push all of this out in the next release?” Well, a clear majority of the planned features and changes was indeed shipped during 2017 eventually, although the naming of V9 as the “July 2017 Update” didn’t turn out to be such a great idea.

    There were massive changes introduced to XRM (which I’ll continue to call for what it is), both above and beneath the surface. Rolling out Unified Interface initially to the mobile devices and eventually to every UI is going to change the client side of XRM in ways that are even greater than the previous user experience overhaul in CRM 2013. Opening up the client UI to custom extensions with the Custom Control Framework (CCF) sometime later (hopefully in 2018) is a major step in enabling and encouraging the reuse of configurable UI controls for data visualization. Finally, the App/Plat Separation that has moved the previously built-in application features of Sales, Service etc. into optional solution packages is now turning XRM into the type of generic application platform that it has earlier often been depicted as – in the technical decision maker slide decks from MS, at least.

    The combined effect of this transformation which materialized largely in V9 is that XRM should now be a lot more future proof. Having the individual applications as their own packages is a bit like how at one point in the late Windows Phone operating system’s lifecycle the Office apps needed to be separated from the OS, so that they could be serviced and updated without having to ship a new WP build. (Naturally I hope that the fate of D365 will be considerably more glorious than that of WP.) The new UI controls in CCF that now aren’t tied to a single app feature but can rather consume any data coming from XRM database or from external sources via Virtual Entities are bound (pardon the pub) to be more useful in delivering solutions to varying customer needs. Sharing the same client framework across different devices and embedded apps is going to reduce the amount of effort needed to get these solution features in the hands of different user groups.

    Licensing Model

    Sometimes the planned features take a little longer to ship than was originally estimated, which certainly is no surprise to anyone working in the business of software. Other times it turns our that what you initially promised to deliver isn’t actually going to meet the needs of the outside world after all. The delays experienced in getting V9 out to the customers represent the former scenario, while what happened to the Business Edition is an example of the latter.

    There’s no denying that with the growth of the platform and all the new cloud services attached to it, Dynamics CRM had grown from humble beginnings to enterprise scale in the recent years. Therefore the idea of labeling the suite as a true enterprise product and building a different lightweight offering for the needs of smaller CRM environments probably made a lot of commercial sense when MS announced the Dynamics 365 branding with the Enterprise and Business licensing plans to the world in WPC 2016. Only the practical problem remained of how to actually mold a new offering out of the big suite – at least without taking several shots at one’s own foot while setting up constraints for customization and expansion for those customers who’d initially start their exercise from the lower end of the license pool.

    Those 14 months from announcement to eventual cancellation of a separate Business Edition were filled with confusion on all sides – from partners to customers, and probably within Microsoft, too. Although this did leave an unfortunate stain on the year 2017 for Dynamics 365, the long term outcome from the decision to NOT roll out an artificially separated lower tier may turn out to be a better choice after all. It’s all still wide open on how the promised “lower price point” licenses and apps will be packaged, but at least it sounds to me like MS has acknowledged they need to build bridges instead of walls around the growing set of applications in Dynamics 365. For instance: just take a look at the documentation of the upcoming Dynamics 365 for Marketing application and tell me if it looks like an SMB only -product that no existing (Enterprise) customers would have any use for? Exactly. Sanity must prevail and customers be given a chance to license the technology that best fits their needs.

    Hello 2018

    What can we expect to see from Dynamics 365 in this new year then? There are no definite product roadmaps from Microsoft that would publicly disclose what’s planned for be released in which year, since the software business no longer operates on the type of schedule that we saw when products were shipped in shrink wrap every 2-3 years. It now looks more like a mesh of forever updating cloud applications and web services that move along according to their own backlogs and team velocity. Given that the real business applications that customer organizations deploy are a combination of several products that in turn use a variety of back end services, who can actually tell when a certain feature will be “ready”? For example, Dynamics 365 for Marketing utilizes Customer Insights, which in turn relies on the following Azure services:

    • Azure Data Lake Store
    • Azure Data Lake Analytics
    • Azure HDInsight (Spark, Phoenix, HBase)
    • Azure SQL Database
    • Azure Key Vault
    • Azure Secret Store
    • Azure Event Hub
    • Azure Stream Analytics
    • Azure Redis Cache
    • Azure Service Fabric
    • Azure Active Directory
    • Azure Monitoring
    • Azure Metrics
    • Azure Websites
    • Azure Service Bus
    • Azure Storage

    That’s what the future is made of, and that’s why it is so unevenly distributed. We may well see MS announce the next Dynamics 365 Customer Engagement capabilities before existing customers are even able to update their instances to V9. The specific points in time where a particular capability is 1) announced, 2) in private preview, 3) in public preview, 4) available for new environments and 5) deployed for live customer environments may therefore be spread out over a time period that makes even assigning a proper year to it challenging at times – let alone a calendar month like “July 2017”. In this light, I’m personally mainly expecting to see how the above three themes from 2017 will play out as they get closer to impacting the real life scenarios of customer organizations all over the globe that get to put it all into action in their digital business processes.

  • Dynamics 365: The Next Chapter of MS Cloud Business Apps

    Dynamics 365: The Next Chapter of MS Cloud Business Apps

    Have you heard about this brand new thing called “Dynamics 365” yet? If you attended or followed the WPC 2016 conference, I bet you have, since it was the big headline news for Microsoft’s partners and corporate customers that kicked off their FY17. Satya Nadella spent a significant part of the WPC keynote explaining how Dynamics 365 is the service through which his vision of reinventing business processes comes to life. So, obviously there’s got to be some big things packaged into this new offering. But putting the visions aside for a moment, what exactly does this service contain in practice?

    WPC16_keynote_Dynamics_365

    In short, Microsoft Dynamics 365 is both the same old and brand new when it comes to the underlying components. As presented by many of the tech news sites, essentially Dynamics 365 is about taking the previous Dynamics CRM & ERP products and bundling them into a single cloud service. Comparing it to “the other 365”, meaning Office, it’s not an entirely different approach than taking established server applications like SharePoint & Exchange and making them easier to purchase via a single Office 365 plan. While the name is different and the tools to administer the applications are specific to the subscription service, beneath the portal there are many of the same bits as you could have on your own servers, too. In the case of Dynamics 365, you’ll be mostly getting the latest versions of CRM and AX/NAV from the Microsoft cloud.

    “Ok, so we’ll have a new SKU to purchase Dynamics products from the cloud. A bit like the earlier bundles for Sales Productivity then, where you bought CRM, Office 365 and Power BI for a discounted price. Got it, can I now go back to chasing nearby Pokémons with my phone ’cause I’d really want to catch them all?” Well, if you ask me, I think you should look a bit deeper into the Dynamics 365 story to understand how it really will impact CRM as a product as well as the ecosystem around it. I too was initially a bit skeptical about this whole thing when reading the first press release from Microsoft, but the more I’ve investigated the pieces of information available at this early stage, the more I’ve started to believe that what we have here isn’t a mere product marketing stunt but rather the next major chapter in the story of Microsoft Dynamics applications.

    Satya’s Masterplan

    One year ago when Microsoft announced that they were going to tear down the silo of MBS (Microsoft Business Solutions) and merge Dynamics product teams into C+E (Cloud and Enterprise), Nadella said he wanted to “enable the company to accelerate ERP and CRM work and bring it into the mainstream C+E engineering and innovation efforts.” It took a while before saw what this “mainstreaming” really means, but I believe Dynamics 365 is the major output from this process that started with the restructuring. It is elevating the Dynamics product offering from being just an app you can order via the Office 365 portal and turning it into a proper destination of its own.

    Back when I was starting my first gig as a Dynamics CRM consultant in 2010, I distinctly remember the day after I had returned home from the Convergence conference in Prague. I was about to sign the contract with my new employer and was riding in a cab with my boss to be, catching up on the latest tweets (with my Windows Mobile 6.0 device and whatever apps we had back then). I came across Microsoft’s announcement of Office 365 and said to him “have you heard about this already, might be kind of a big deal for the business”. Well, the business of my upcoming employer was largely about hosted MS business applications and it turned out to a big deal indeed, as the rationale for offering local CRM or Exchange instances eroded much faster than most service providers were willing to understand – let alone for them to adapt to this new reality.

    Connecting_your_solutions_small

    How I see this relate to the recent Dynamics 365 announcement is that when you stop to think about the tools we work with these days, it’s not just about the cloud as a delivery channel. If it were enough for the customer organizations to just use their business applications via a browser, from a server environment managed by someone other than your own IT department, then we’d still probably be happily working in the BPOS era of application servers hosted by “someone out there”. In reality, it rarely is about the servers or even the server application bits. It’s about services: how they can be consumed and how information flows between them. Sure, someone of course needs to set up the services, but once that problem has been solved (e.g. Dynamics CRM Online removing the need for manually installing customer specific CRM instances) it’s time to start solving problems higher up in the value chain. This, I believe, is what Microsoft is aiming to achieve with Dynamics 365. Making it more than just the sum of its parts, by lowering the barriers between the apps and encouraging customers to build solutions that consist of a network of apps – from MS and ISVs. The new AppSource portal is therefore a very important part of the Dynamics 365 story (even though at launch time it’s not yet that much better than the infamous Dynamics Marketplace).

    Front to the Back with Dynamics 365

    Once launched later this year, Dynamics 365 will be available as two editions. The Enterprise Edition will be made up of Dynamics CRM modules and Dynamics AX, whereas the Business Edition is being built on top of Project Madeira (brand new cloud version of Dynamics NAV, from what I know). Details about the pricing haven’t yet been disclosed, but at WPC there were slides shown that outline the different plans that the Enterprise Edition will offer. Since the Business Edition is clearly a lot more “work in progress” at this stage, and because it might not even contain any of the Dynamics CRM functionality (if I read the WPC materials correctly), it’s best for us to focus on analyzing the Enterprise Edition.

    Dynamics_365_vs_current_SKUs

    Looking at it from a CRM perspective, the platform formerly known as Dynamics CRM is being broken down into smaller modules that can be purchased separately. We’ve already seen how the recent CRM Online enhancements like Project Service and Field Service have been introduced as separately licensed modules (and their trials are now distributed via AppSource), but with Dynamics 365 this will be taken even further. A sales user can be assigned only a license to the “Sales app”, rather than needing a “CRM Online Professional” license to manage their opportunity pipeline. Even without knowing the price points for per app licenses in Dynamics 365, it’s easy to see that the barrier for consuming application features from the cloud will be lower when you can only select what you want. In the on-premises world the traditional “all you can eat” model of Dynamics CRM licensing probably made sense, but if Microsoft now has the option to make their cloud service available in various different shapes and sizes, why wouldn’t they?

    Even though there will be more individual apps to choose from, the main value proposition of Dynamics 365 is in the possibility of making the whole end to end business process visible to the users. Traditional licensing silos between the front office CRM system and the back office ERP system have often led to scenarios where employees need to ask another employee to check information from a system they can’t access – or needing to work with limited snapshots or static reports rather than the real-time dynamic data from the business application. Microsoft surely recognizes this as a great opportunity to move customers gradually away from using legacy ERP systems by offering a cloud platform where the licensing model is no longer determined by the server application barriers but rather the workloads of the users. The Enterprise Edition contains a “Dynamics 365 for Team Members” plan that covers read rights to each and every application, from marketing to operations (the ERP part), which specifically addresses the information silo issue.

    How Can It Actually Work?

    Knowing that all the CRM and ERP applications under the Microsoft Dynamics umbrella have been completely separate products with little in common when it comes to architecture, how is Microsoft going to turn these into a single business application platform all of a sudden? Well, that is the billion $ question to which we don’t yet have an exact answer, but let’s speculate a bit while we await for it.

    Microsoft has announced that underneath the Dynamics 365 apps there will be a platform layer called Common Data Model. On the official Microsoft Dynamics blog this CDM is described with the following words:

    The common data model is a cloud-resident business database, built on years of experience with our enterprise customers. It will come with hundreds of standard business entities spanning both business process (Dynamics 365) and productivity (Office 365). The standardization and consistency of schema enables partners to build innovative applications and to automate business processes spanning the entire business process spectrum with confidence their solutions can be easily deployed and used across Microsoft’s entire customer base.

    Hmm, okay, so there’s at least going to be a new database in addition to the application specific databases of CRM and AX, as we can see from the Dynamics 365 architecture image below. The promise of a “standardized, consistent schema”  also implies that at least the OoB entities will be connected across CRM and AX without any additional configuration effort required. Now, how exactly the integration of custom entities can be configured, or how the platform will handle the business logic involved in each connected app is something that isn’t very clear at this point.

    Dynamics_365_architecture

    Surprisingly enough, the most detailed information about CDM was first released not via the Dynamics product blogs but on the Power Apps blog. The post PowerApps and the Microsoft Common Data Model gives us the first practical view into what functionality the CDM part of the platform is expected to deliver. Some examples:

    • CDM will encompass not only CRM and AX but also the data model of productivity apps like Outlook.
    • CDM will include complex data types like address and auto-numbering.
    • CDM will contain features familiar to CRM admins, like field level security and auditing.

    Dynamics_365_Common_Data_Model

    Once the CDM Preview arrives in August we’ll hopefully get to explore the contents and functionality of this data model via the PowerApps Studio at least, even though Dynamics 365 itself will probably arrive a bit later. On another PowerApps blog post, it was announced that there will be a Dynamics 365 specific SDK, which should be launched in preview mode before the year ends.

    Why does the PowerApps team work so actively in bringing this information available? There’s a simple explanation: PowerApps, Power BI and Flow are a fundamental part of the Dynamics 365 product offering. They are included in the Enterprise Edition plans and they form the new business application platform that supports the 365 apps on top of them – to the extent that there is now even a dedicated site to describe the capabilities of these three products.

    Business_process_orchestration_small

    Since business process orchestration is fundamentally a cross-application domain, it makes a lot of sense that you don’t only rely on the workflow process engines found inside applications like CRM. Also, if you’ve tried to leverage these three tools with current Dynamics CRM Online application, it soon becomes obvious that working with the relational data and specific data types of CRM is not where Power BI, PowerApps or Flow currently excel. Therefore what CDM as part of Dynamics 365 can offer for the business process orchestration tools to make the interaction easier is surely very welcome.

    Farewell to On-prem

    All of this you see coming available for Dynamics 365 is exclusive to the Microsoft cloud. Period. While you could of course take many of the individual technologies like Dynamics CRM and build custom integrations to your own servers, a single commercial offering licensed and managed by Microsoft will not become available for that environment.

    In the past Microsoft has been using the “power of choice” as an argument on why investing in Dynamics CRM technology is a safer choice than going with a cloud-only platform like Salesforce. Six years ago when CRM Online was launched that certainly was an important benefit of the MS stack. Even though the business world is a lot more “cloud ready” today, there still are many scenarios where a service hosted outside the borders of the customer’s country is not a valid option. Nevertheless, the power of choice isn’t such a clear differentiator anymore if pretty much everyone is making the same choice. For those organizations who are able to move ahead at the speed of cloud, there just has to be a fast track available. Sure, CRM Online has already been developing at a faster release cadence than CRM on-prem, but with Dynamics 365 the ties are officially cut now.

    AX_cloud_firstIt isn’t a completely new situation, even within the Dynamics product family. From what I know about Dynamics AX, the latest “AX 7” version has been designed not only as a “cloud first” but pretty much “cloud only” approach. The application architecture has been heavily redesigned and now relies on services from Azure, so it’s not something you could ever install on a Windows Server. The strategy for on-premises support is based on the Azure Stack product, which will allow customers to run a version of the same services on their very own servers. (In related news, the Azure Stack release plans have recently been revised: it won’t arrive for another year yet and it will require specific hardware when it finally does.)

    Does the announcement of Dynamics 365 mean that no investment will be made to on-premises Dynamics products anymore? No, at least according to the official statement from Microsoft. CRM, AX and NAV, meaning the in-house application layer of Dynamics 365, will continue to be developed, sold and supported. For example, AX 2012 will be supported until 2021 which gives some indication about the expectations Microsoft has on when existing on-prem ERP customers would really be able to adopt the new cloud offering of Dynamics 365. I bet that the hybrid scenarios will be taken into consideration as well when driving the adoption of the 365 cloud service.

    Still, if you’re looking for the latest Microsoft product innovations and integrating your business applications with the coolest new services, it’s hard for me to see how remaining in the on-prem land would be a viable option anymore. While new server versions will still keep on coming, having a new product feature that doesn’t require you to be running Dynamics 365 is probably going to become an exception rather than a rule. Already many of the latest CRM Online features have been built on Azure based services (offline sync for mobile, Relevance Search, machine learning in product recommendations) and the 365 cloud platform is going to make it even easier for MS to hook these things up to their business apps. The gap is just going to grow wider and wider.

    What Will Happen to XRM?

    Looking at the Dynamics CRM application specifically, there’s been a reasonably good parity between the Online and on-premises editions when it comes to the core XRM platform features. With all of these new integration points and platform layers now being developed for weaving together the complete Dynamics 365 service, it raises the question of whether the “core” really is inside XRM anymore or is it being actively replaced by something completely different?

    While I don’t think Dynamics 365 signals the death of XRM, it certainly does give a clear indication about how it is positioned in Microsoft’s new business application platform architecture. It’s what the individual apps are still built on (sales, project service, field service, portals, Voice of the Customer and so on) but it may not deliver the full user experience anymore. The users may interact with data through a purpose built PowerApp rather than the standard CRM client apps. The business process automation may jump across different apps via Flow, with CRM workflows handling only a part of it. The process metrics will frequently be monitored and analyzed with Power BI charts and not the CRM dashboards. I don’t think the 365 platform will overnight replace too many of the traditional XRM features, but it will undoubtedly set a boundary for feature development at Microsoft’s end if the new capabilities could be leveraged also outside the XRM apps.

    The arrival of a Dynamics 365 SDK means that the wider ecosystem of partners and service providers who wish to connect with customer organizations using Dynamics 365 may well choose to integrate their apps via this new API and not the XRM specific Web API, as modern and RESTful as it might be. Without knowing the exact services available in 365 it’s of course impossible to say yet what functionality would move to the CDM part of the platform, but since the whole point of CDM is to make it easier to connect cloud apps together, that’s where much of the development effort will naturally gravitate towards. Extending a specific 365 app like Sales with new UI level functionality will surely still require XRM developer skills, similarly as modifying the Operations app’s logic requires knowledge of X++ (the programming language for AX). Now, if you’re an XRM developer with no experience of AX, imagine being tasked with building a custom feature that needs to talk with both the Sales and Operations apps. Would you rather dive right in to learning X++ or start by exploring the common 365 platform SDK instead? Exactly. That’s how our solution design practices get disrupted: first gradually, then suddenly.

    XRM_cow_managementHonestly, the direction that Microsoft appears to be taking with Dynamics 365 makes perfect sense to me, and I see it as a brighter future for Dynamics CRM to be a part of this cross-application business platform – rather than a self-sustained “any relationship management” toolkit. No matter how awesome it is, XRM can’t do it all. It could certainly use a lil’ help in certain areas where Microsoft has more advanced tools available. If the new platform gives a wider set of options for me when designing solutions for customers then sign me up for it! Even if the administration experience or depth of functionality may not be on quite the same level when working with a set of connected applications sitting on top of CDM rather than a single XRM solution, it’s probably a price worth paying in the long run.

    Dynamics 365 explains a lot of the shortcomings with the current pieces of the MS cloud puzzle. Like: why must Power BI try and consume the CRM Online data via the slow OData endpoint when Microsoft could surely open up a shortcut between their two clouds? Well, here you go! The answer is that instead of taking the easy way out, a brand new Azure based architecture has been designed to support the current and future needs of CRM and other cloud business apps. It’s impossible for us outsiders to know all the different dependencies that the Dynamics 365 product strategy has had on the CRM feature roadmap, but it’s easy to imagine quite a few of them. I’m not expecting the floodgates to open with the initial release of Dynamics 365 this fall (more likely it’s a preview than a fully baked V2 platform), but I do expect the pace to pick up as the new strategy is executed on the commercial delivery side.

    How we’ll be able to transition an existing organization from Dynamics CRM Online to Dynamics 365 and connect to the Common Data Model is going to be a big question. I’m not worried about the application functionality really, as it might well be just a simple CDU experience of upgrading to the latest version. On the data model side, If there are some “best practices” implemented in CDM that don’t align with the customer specific entity model and attributes, then some refactoring of the existing CRM solutions may well be needed. While there may not be an immediate need to switch over, in the long run I expect there to be a number of services that target CDM specifically which cannot be used with a “legacy” CRM Online environment. As funny as it sounds, we may have indeed reached a point in the Dynamics CRM lifecycle where even the cloud based environments need a bit of a “reboot” to reach the next generation business application platform compatibility.

    It’s Always a Journey

    If we look at the history of Microsoft’s CRM software starting from 13 years back and analyze how the platform has evolved over time, we can see that up until the past couple of years, the progress made has been fairly product focused. Setting aside the app vs. platform debate on what the product is really about, the core package of what a Dynamics CRM server does has remained the same on a high level since the start, and I’d assume the story on the ERP side isn’t radically different either. It’s the world around it that has transformed into something quite different, and it’s this interface with the outside world of other apps and services where the most exciting stuff is happening.

    On the product code base level, Microsoft tried to merge their in-house CRM with the four acquired ERP products already over a decade ago with Project Green. As we now know, this never resulted in any “One Microsoft Dynamics” type of a platform nor new products being brought to market. When Satya Nadella (CVP of MBS at that time) was asked about why the ambitious initiative appeared to have stalled in 2007, his response was “we don’t have the goal of just convergence for convergence’s sake”. I can believe that while technically not an impossible task, there just wasn’t a clear enough business benefit for the customers to make them want to move into a single code base product merged from five existing applications, knowing how disruptive the migration could have been for their day to day operations. Fast forward ten years to the Dynamics 365 announcement and the business case now looks a lot more solid in this cloud era. Although the initial release of Dynamics 365 this fall is likely to be more of a preview than a fully functioning business application platform, it will already be a lot further in terms of visible platform harmonization than what Project Green achieved.

    While it’s easy to label almost anything in the IT business these days as “digital transformation”, there are quite a few signs that Microsoft is serious about aligning their set of different cloud products into a comprehensive toolkit for companies wanting to build and operate those digital business processes. How transformative will the end results be is something that we’ll see in time as the Dynamics 365 platform materializes. Whatever happens, Surviving CRM will be there to report on the progress of this journey!

    For a summary of what other community members have shared around the Dynamics 365 announcement and sessions from WPC, please have a look at this Sway presentation I’ve compiled from the #Dynamics365 tweets:

  • Voice of the Customer: Conditional Questions

    Voice of the Customer: Conditional Questions

    My favorite podcast by far is CRM Audio. In fact, it’s the only podcast I regularly follow, since whenever I put my headphones on, quite often it will be for playing something from Spotify or Mixcloud to keep me from being distracted by people talking around me. Anyway, the podcasts that Joel, George and Shawn record about the latest news from the Dynamics CRM world together with their guest stars always provide some interesting insights that you can’t catch from the blogosphere. If you haven’t subscribed to it yet, I encourage you to give it a go.

    In episode 21 of CRM Audio, titled “That’s Not A Survey”, these CRM tipsters explored the brand new Voice of the Customer solution and discussed how to position it in relation to other tools like ClickDimensions Surveys and the likes. As you may have noticed from my previous blog post, I’ve also spent a bit of time playing around with VoC, since I see quite a lot of potential with this XRM based survey engine.

    One of the misconceptions around VoC that I’ve come across a few times before was also mentioned in the podcast was about conditional questions in a survey. It’s quite a basic requirement from any more advanced online surveys that the remaining questions should be adapted based on the earlier answers that the user has given. Call it “skip logic” or conditional show/hide, this would be something that a well designed survey would often need to apply, so that it adapts to the customer’s scenario being studied and can branch into different directions if parts of the questions are not relevant in a particular path. The misconception here is that in the Voice of the Customer survey designer UI there doesn’t appear to be a way to define such conditional logic. However, VoC does have this functionality already today.

    Being a very recent addition to Microsoft’s portfolio, and having been delayed from the original CRM 2016 release schedule, the features of VoC aren’t very well documented at the moment, nor is there much training material available for instructing users how to get familiar with the tool. The regular readers of Surviving CRM might recall that VoC was actually called Mojo Surveys when MS acquired it one year ago. This means that documentation does exist, but it just hasn’t been remade into Microsoft’s format yet. Here’s a little tip: Google for mojo surveys filetype:pdf and see what you’ll find…

    How the “skip logic” is done in VoC surveys is via a feature/entity called Response Routing. Found from the related records menu under a survey record, this is where you can define both the response conditions under which the routing  should take place as well as the response actions that should be carried out when the conditions are met (or not met). A condition would be associated with the response given to a particular question and evaluated via “equal/greater/less” type of operators. Below you see a simple example of a single condition per response routing, but you could also group multiple conditions together via AND/OR operator.

    VoC_Response_Routing

    The actions that you can take based on the conditions are split into two categories: client and server. As you may guess, the client side actions are performed during survey runtime, similar to client side scripts on CRM forms. Server actions are not performed until the survey response is submitted into the CRM database (like plugins), at which time it will be too late to affect what questions were presented to the user. So, the most interesting actions will be client side, which allow us to determine show/hide actions for questions or sections of a survey page, skip to a specific page, end the survey or even direct the user to a whole different survey.

    VoC_Response_Action_client

    In the example of the eXtremeCRM MVP Survey which I published together with my previous post, I added a Response Routing on the page 1 question “are  you attending eXtremeCRM 2016 in Warsaw”:

    VoC_Response_Action_demo_1

    If the user selects the answer option “Definitely!” then a further set of three questions will be revealed underneath that question on the same page. Similarly, because I also built response actions for the reversed scenario, if they change the answer value and click “I’ll have to skip it” then these additional questions are again hidden in real time on the survey page.

    VoC_Response_Action_demo_2

    As you can see, VoC does already contain quite nice functionality in the first version that’s been released now. There are many more features to discover, such as piping dynamic data fields into surveys, so let’s hope that Microsoft will publish tutorials that showcase the real potential of these VoC surveys – not to mention the possibilities of what you can do with the response data as it flows into your XRM environment!

    VoC_Piping_dynamics_fields

    One word of warning is in order here: currently there’s a known issue with the Voice of the Customer solution that will break the CRM v8.0 OData feeds (the new OData v4 endpoint) if you install it into your environment. If you then try to build a report with Power BI Desktop and want to use CRM Online as the data source, you may run into an error dialog saying “The field ‘regardingobjectid_msdyn_surveyresponse’ already exists in the record.” Microsoft is aware of this bug and is working on a fix, but if you are relying on Power BI for your production CRM Online reporting, then it’s maybe better not to deploy VoC outside of your sandbox environment just yet. (more…)

  • 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.

  • Previewing the New Power BI Experience with Dynamics CRM

    Previewing the New Power BI Experience with Dynamics CRM

    Around one year ago Microsoft introduced the capability to access CRM Online data via Power Query, one of the client side components of the Power BI suite. More precisely, the capability to authenticate with the already existing CRM OData feeds via Office 365 credentials was introduced into PQ, which then allowed us to use CRM Online as one data source in our Power Pivot data models driving Power View visualizations. No Dynamics CRM specific feature had really been developed, but it was the first step on the road of unlocking the cloud data from the analysis limitations that the previous tools (CRM charts & dashboards, SQL Server Reporting Services reports with Fetch XML queries) had imposed on CRM Online customers.

    There was a lot left to be desired still. Building reports from the raw OData feeds can be a cumbersome process, since no built-in tools existed for filtering the amount of data pulled from the entity tables. Also, not all the components needed in basic reports, such as optionset labels, were available to be retrieved dynamically from the OData feed. The biggest gap, however, has been the inability to automatically refresh the reports published onto Power BI portal, which means that each report end users would have needed to perform this refresh manually. As a result, Power BI has so far not been a something that I would have suggested to CRM Online customers as a company wide reporting solution, since it’s mainly been suitable for fairly advanced CRM power users building their own reports via Excel 2013.

    The Next Generation of Power BI

    Just before Christmas Microsoft announced the new Power BI Public Preview, which has a number of impressive looking enhancements to the service offering:

    Include in this announcement was also the statement: “In addition to the existing seamless connection with Microsoft Dynamics CRM Online, with today’s release customers can also connect to their data in Salesforce, Zendesk, Marketo, SendGrid, and GitHub with many more to come in the months ahead.” Upon first read, it was easy to interpret it as “nothing new for you Dynamics CRM folks out there right now, better luck in the next update!” This, however, isn’t the case.

    PowerBI_Preview_CRM_app

    When browsing through the new support site for Power BI I came across a posted idea on supporting Dynamics CRM as a data source, and a very recent comment from a Power BI product manager that the new Public Preview actually included native support for Dynamics CRM. Here’s the article where you can find the exact steps needed for connecting your Power BI Preview instance to Dynamics CRM. As this Preview is only available in the US for now, I decided to spin up a new CRM Online trial org from across the pond and try it out.

    What’s in Store for Dynamics CRM Cloud BI?

    After going through the process of enrolling for the Power BI Public Preview program with my Office 365 US trial tenant, I completed the steps for connecting to CRM Online. This really is quite a simple process with not too many options. You only have to dig up the OData feed URL from your CRM Online instance. After you’ve added this Microsoft Dynamics CRM app into your Power BI environment, the data retrieval process will start uploading your CRM Online records from one cloud to another. (more…)

  • Access Option Set Labels in Dynamics CRM OData Feeds via Power Query

    Access Option Set Labels in Dynamics CRM OData Feeds via Power Query

    If you’re using Dynamics CRM Online without direct access to the underlying SQL Server database, there may have been a few occasions when you’ve wished for more flexible options for reporting and customer data analytics than what is possible via configuring CRM charts or developing Fetch XML based reports in Visual Studio. Late last year Microsoft enabled support for accessing the secured OData feeds from CRM Online via the Excel Power Query tool, which opened up some interesting options for building modern BI solutions on top of the CRM data up in the Microsoft cloud.

    CRM_OData_Excel

    For a non-developer who hasn’t leveraged OData before it might come as a bit of a surprise that not all of the business data is necessarily readily available via the feeds when examining a particular CRM entity. One crucial thing that’s missing is the option set values. More specifically, it’s the label values that are not accessible via the entity tables retrieved via the OData feed, as all we have access to are the numerical values representing the labels (1, 2, 3, 4… 10001), but not the human readable versions.

    CRM_OptionSet_Value_Label

    From a reporting perspective, it’s very likely that any chart or table that you wish to build is going to leverage one or more option set fields. Formerly known as picklists, these are basically the dropdown fields on CRM entity forms that allow the user to select one value from a list of predefined values. Much more convenient for reporting purposes than free text fields, as I’m sure you’d agree.

    So, what are our options then? We could of course manually create new tables into the Excel workbook that store the mapping of ID values and labels, but that just doesn’t sound like a fun exercise at all. More importantly, that would only give us a static list of option set values that couldn’t adapt to the changes in CRM customizations. Nope, not a good approach from report maintenance perspective, so let’s not go there.

    As a bit more efficient workaround we could be adventurous and import a copy of the CRM solution file containing the entity customizations as an XML data source into Power Query and then pick out the necessary mappings from there. Due to the power of Power Query, this would actually technically work, and we could even set it to reference a file location from where the latest customizations would dynamically be imported upon workbook refresh. Still, that would leave us the burden of setting up an automated export system that would produce the customizations.xml file to reflect the latest changes.

    After a bit of poking around in the OData feed data source, it turns out the optionset labels are actually included there. The tricky part is that they’re not simply a [Record] link that you can drill into and expose the values from your existing entity data set. Nope, they reside in a specific table of their own, called PicklistMappingSet. In this tutorial I’ll show you how to retrieve the data for a “Leads by Source” chart created with Power View, taken from an OData feed data source pointing to Dynamics CRM Online, using Power Query to pull the data into a data model built with Power Pivot.

    1. The Data Source: Power Query

    PowerBI_CRM_Odata_1To follow the steps you should have the latest Power Query version installed in your Excel client. I’ve already covered how to access CRM OData feeds from Power Query in a previous article, so please refer to that one if you haven’t done the exercise before. After connecting to the OData feed URL we should select the tables that we want to work with from the data source navigator pane. By minimum you should grab the LeadSet and PicklistMappingSet to build the chart.

    The problem with CRM and OData is that by default the feed will pull down each and every record in the table. The query performance is less than stellar with CRM Online and if you have a high number of leads (status doesn’t matter, also the closed ones will get downloaded), you might be waiting for a while before the query is completed. If you want to move on a bit faster then check out this great tip by Andre Margono on how to set up a query filter for the Dynamics CRM OData query (for example, only active leads).

    The real beauty of Power Query is in the query steps you can use for manipulating the workbook queries. Before we go there, though, let’s create a duplicate of the PicklistMappingSet query. This will make it easier for us to map the values into our actual leads table later on, as well as preserve the original option set value table available for further queries.

    PowerBI_CRM_Odata_2

    Open up the new duplicate query you’ve added into the edit mode by double clicking on it, which launches the Power Query query editor (yes, query is the word of the day). The first step we’re going to add for the query involves expanding a column that only shows a green “Record” value by drilling into it from the small icon next to the column label. Do this to the ColumnMappingId column and just load up all the columns found from behind it.

    PowerBI_CRM_Odata_3

    You’ll see the Record column transformed into three new columns as a result of drilling down into the data. The column we’re interested in is ColumnMappingId.Name, which has the names for all option set fields in our source CRM system. For this example we want to see the LeadSource field, so add a new filter for this value, just as you would in a normal Excel data table.

    PowerBI_CRM_Odata_4

    By now you might have noticed that the Applied Steps box in the Query Settings pane is collecting all of the actions that we’re performing on the query and storing them as steps. If you make an error in your selection, just click the delete symbol next to the steps to get rid of it. (more…)

  • Dynamics CRM OData Feeds and Power Query: What’s the [Record]?

    Dynamics CRM OData Feeds and Power Query: What’s the [Record]?

    Now that Power BI has hit the GA milestone (general availability), I decided to spin up a trial subscription for it and get familiar with the tools that it offers. My previous experiment with connecting to CRM Online OData feed with Excel 2013 Power Query seemed to be one of the very few blog posts that come up when you search for information on the topic. In that article I never bothered to go deeper into actually working with the CRM data as the big news really was that the latest version of Power Query was finally able to access data from CRM Online, thanks to the added support for Office 365 authentication on the OData feed.

    I repeated the steps for connecting my Excel 2013 Power Query to a CRM 2013 organization hosted on CRM Online and started to think about a simple report I could build. Opportunities tend to be a nice entity for demonstrating your typical reporting needs on summing money values based on sales process stage, owner etc. so I selected the OpportunitySet to be included in my workbook query. Scanning through the columns showed that I had every field I needed, but there was one problem: I couldn’t see the actual data in them. Instead of the Estimated Revenue figures or Owner names all I had was a link that read “Record”.

    Dynamics_CRM_Odata_Reporting_1_small

    “Hmm, well, a link’s a link so let’s click on it then. (Click) Okay, so now I’ve drilled down into an individual value. I no longer have a grid of opportunity records and columns, which kinda sucks. Oh, and also I can’t see any Undo button to take me back.”

    Life would be so much easier if you just read the manual before starting to use new tools, but ain’t nobody got time for that in the fast paced IT consulting world, right? After a bit of trial and error I figured out what the procedure for turning that [Record] link into actual data values is. Since it’s not immediately obvious, I decided to write it down onto this blog post, so that anyone else experimenting with using Power Query and Dynamics CRM Odata feeds can move on faster than I did.

    In all the columns that display the record link you can see a small icon with two parting arrows on the right side of the column header. This is where you can drill down to the column contents and choose which attributes for that field you would like to include in your query data. For example, when I click on the CustomerId column on the OpportunitySet query, the following menu opens up:

    Dynamics_CRM_Odata_Reporting_2_small

    Once you click OK, the values for the chosen columns to expand will be shown on the query editor grid. Repeat this for each column you plan to leverage on your report. As you expand more columns, you’ll notice that the Applied Steps dialog in the query settings pane will list each of them as a step. You can also see that these fields will be included on the formula bar, which will read something like Table.ExpandRecordColumn and then a list of our chosen attributes.

    Dynamics_CRM_Odata_Reporting_4_small

    After we’ve expanded all the necessary columns, we can then proceed with using this data in our report. While Power Query is the component in Excel 2013 that pulls the data into our Data Model, it doesn’t necessarily offer all the tools that we’d want to use for working with the data set. Move over to Power Pivot instead to define relationships between different tables, rename the columns, create calculated columns and do any other manipulation with the data before presenting it on a report layout. Then finalize your work on the Power View canvas and design the report that you wanted.

    Dynamics_CRM_Odata_Reporting_5_small

    There’s an excellent tutorial available on the U2U Blog that covers all of the steps in more detail: Dynamics CRM 2013 and Power BI for Office 365 – Part 1 and Part 2. Wish I had also found that earlier on, but better late than never…

    There should also be a Part 3 coming up that will talk about how to upload the report onto Office 365 Power BI for publishing it to the end users. I’m quite interested in seeing what will be the procedure here, because I’ve not seen much information about how to consume OData feeds in the Power BI portal. In fact, this tweet by Jamie Thomson implies that some OData features would have been dropped from the product:

    PowerBI_OData_suppor

    When I click around in the Power BI Admin Center, I don’t see any options for adding a new data source that would be an OData feed. If I’d like my report contents to get updated after I’ve uploaded it, I’d need to set up the Scheduled Data Refresh feature. However, the list of supported data sources doesn’t mention anything about Dynamics CRM. This leads me to believe that the current version of Power BI doesn’t yet support using CRM OData feeds as data sources in reports published on the Power BI portal.

    With an on-premises Dynamics CRM instance you could of course set up a direct SQL Server data source and publish it to Power BI via the Data Management Gateway component. However, the much more interesting cloud scenario of building Power View reports that leverage data from CRM Online directly seems to be beyond the current feature set offered by Power BI, unless I’m mistaken. Let’s hope that we get more information about the possibilities of Power BI for CRM Online customers when Microsoft presents their latest Dynamics product roadmaps at Convergence 2014 in a few weeks time.