Thursday 22 February 2018

Future Proofing your Implementation and Configuration – Part 3 - The Configuration Question

In part 2 of this 3 post series I spoke about the Microsoft and how you are able to keep up to date with what is being released, so that you don’t end up building something into your Dynamics 365 implementation that is going to be added in a next release. In this post, I am going to talk about why it is important to carefully consider the use of custom functionality versus the use of out-the-box functionality when implementing and configuring Dynamics 365 Customer Engagement.

Why would we want to make our implementation of Dynamics 365 future proof? Well, there are loads of reasons.
1.      So that upgrades are smoother and less painful.
2.      So that customers can leverage other parts of the solution to support their business.
3.      So that Dynamics can be grown from both a functional and business point of view.

Essentially, Dynamics is used to solve more problems, which then increases user consumption and adoption.



So, I guess the million-dollar question is “Should we configure this or should we use what’s available out the box”? I have been working with Dynamics 365 CE (CRM) since version 3 and a lot of the time, in the earlier versions, we needed to configure stuff from scratch. There was a load of great functionality there already, but the previous versions were nowhere near where Dynamics 365 is today.



I remember spending hours trying to get past a problem without using loads and loads of code. This is partially because I am no developer. There was a huge reliance on form side scripting (pre-business rules) where setting things like field visibility or business relevancy required several lines of JavaScript, and this was incredibly Important because the experience of the user was at stake. The reason we tried our best not to code was because when the next release came out, there were always issues with certain bits of code not being supported and not working.

Now, for all my developer friends out there, I am not saying that there is anything wrong with coding at all. What I am saying is that the role of the developer has simply changed from when the previous versions of Dynamics were released. Before, functional consultants like myself were expected to code and write plugins, and if you couldn’t then you needed a developer with you. Now, this may not be the case. There is so much one can achieve with what is available out the box in Dynamics 365 that developers are focusing more on REALLY extending what Dynamics 365 can do.

So, back to my question….. Do we build it or do we use what is already available? Well, in my opinion, the answer is relatively simple. We use what is already available and extend through configuration, customisation and ISV solutions where the functionality we require is lacking. This approach really is in line with the Microsoft future proof strategy where the current functionality utilised within the Dynamics 365 CE framework is supported. Caveat: Yes, Microsoft do often deprecate functionality that is not widely utilised (Such as contracts).



Some time back I had a scenario where it was suggested to me that I did not utilise the standard Case entity and I was told that it would be better to recreate this functionality in a custom entity because it gave me more flexibility and freedom to do what I wanted. (Multiplexing rules aside) I didn’t agree with this. Why? Well, to recreate the functionality that existed in the standard case entity would have taken me more than 3 times the amount of time that it would have taken me to just do some basic config to support the main case entity that is already available in D365 CE. I would have to do all sorts of crazy stuff around routing rules, SLAS, Entitlements, Case Resolutions, Case Hierarchy and much more. It seemed that the right thing to do would be to supplement the case entity with some related metadata entities that enabled the user to lookup to various sub entities. This worked well because it also gave the users the power to maintain their own lookups.



The other thing that we thought of was that we couldn’t ad hundreds of fields to the case form. This would make maintenance and business rules a logistical nightmare. We ended up creating several sub entities for each case category and then just associated the sub entity to the case. This way the core case management functionality was utilised but not drowned with attributes. This also made upgrades MUCH easier.

Scenario 2 was a little different where I wanted to utilise the standard Contract & Contract lines entity in Dynamics 365 CE. I found that the functionality that I wanted couldn’t be achieved through utilising this entity set. One thing that really stood out was I couldn’t enable a contract to be associated to the Business Process Flow functionality, which was pretty important as far as the “Agreement – Contract” process was concerned. I actually ended up creating a custom set of entities and only ended up replicating a very small amount of the current contract functionality.

There are hundreds of examples of this type of thing that I could bring up at any one given point. One of the most talked about scenarios at the moment is “Will Custom Controls (CCF) replace web resources”. In many cases, yes! Check out this video for a bit more information.

Essentially the moral of the story here is that the requirement to configure the solution versus utilise what’s out the box is entirely scenario based. What I’ve found is that the more I utilise out the box functionality within Dynamics, the ore future proof it is. HOWEVER, this needs to be done in such a way that you don’t completely overuse the standard functionality to a point that it can’t be leveraged across the rest of the solution. The example in scenario 1 with the case management is a perfect example of using what’s out the box, but knowing how to supplement with config.


When implementing Dynamics you need to be a bit like the precogs from the movie Minority Report. You need to look into the future and try to understand how your customer may grow as well as how the solution may grow in order to be more future proof.


Monday 5 February 2018

Future Proofing your Implementation and Configuration – Part 2 – The Roadmap Question



In Part 1 of “Future Proofing your Implementation and Configuration – The Licensing Question” I covered off a couple things to take into account as far as licensing goes. The next question is around the Microsoft roadmap and a few things both customers and partners need to consider when planning for and implementing Dynamics 365 Customer Engagement.

Let me start with an example It’s 2011 and Partner X has developed a FANTASTIC business process management solution that enables businesses to create and manage sales processes, which in turn effectively promotes governance and sales performance within their sales team. After joining the CRM 2013 preview program, it was realised that out-of-the-box Business Process Flows did a similar job. The functionality created and implemented by partner X was still VERY relevant and provided a brilliant solution to their customers, but would the Business Process Flows replace this? The answer is yes and no.



We see similar scenarios in loads of implementations where partners and customers have implemented functionality utilising ISVs, as well as custom code, and this functionality is matched by something being released by Microsoft in a “Next Version / Release”. So, what do we do? We only know what we know right?

There are a load of resources out there that will give you a certain amount of visibility into future releases to make sure you are not “Double Dev’ing” or buying an ISV product that may be deemed unnecessary in the future…Caveat: If your customer needs the functionality now, it will be up to you to be open and suggest the right solution.

My first go-to resource is the Microsoft Dynamics 365 roadmap site. There is a LOAD of information about what is going to be released in the future releases of Dynamics 365 (the ‘In Development’ tab). It’s a really user friendly site that allows for filtering by application.

Back in the day (up to last year) D365 participants were able to register on the MS Connect website to participate in the D365 preview programmes. Connect has been RETIRED… Many of the services offered by Connect are moving to new tools and services. Check out this post for more information.

A lot of the Connect functionality seems to have moved off to the Dynamics 365 Ideas site where one can present ideas which can be voted on. This is a very smart method of keeping an eye out for functionality that may be expected in the roadmap site, based on input from the D365 community.



I would suggest joining the Dynamics 365 Insider programme and applying to be one of the “Insiders” who will join the previews for the selected applications and feedback based on your findings. The application can be filled out here.

A very reliable source of information can also be some of the direct Microsoft resources available to you. Don’t forget the DynamicsLearning Portal (DLP) and the ‘Blitz’ recordings which highlight upcoming functionality and capability. It’s often also worth your time to reach out to your Partner Development Manager or Partner Technology Strategist if you have these available.



The other method of finding out what may be in the pipeline is to watch the forums and groups on all of the social sites. The Dynamics 365 community is larger than you think and many of the members are active participants in sharing knowledge, enthusiasm, and war stories. Multiple blogs out there (Including this one) really do try to share the Dynamics 365 love. The MVP community also do a fantastic job of sharing what they can with all of us, which really helps.

Honestly, the frequency at which functionality is released is completely dependent on Microsoft, but according to a Mr. James Phillips this release cycle should be more consistent and reliable starting from 1 April 2018. It is best to be open and upfront with your customers about what is coming in the future, as you may want to stagger the delivery cycle to cater for this. If we know we have a delivery roadmap of 1 year with our customer and we know that functionality X is coming in 6 months, we may not want to build anything in the interim and then have to deprecate that functionality… OR you may… The most important thing is to be aware that the functionality will be released and that your customer may want the opportunity to select what is available out the box rather than a custom solution.

In summary, try your best to keep your ear to the ground regarding what is coming in the Microsoft Dynamics 365 roadmap and utilise the tools and services out there to educate yourselves. You may be saving yourself time and your customers’ money!

Part 3 of this article will focus on some of the functional elements in future proofing your implementation and configuration.

Thursday 1 February 2018

Dynamics 365 Saturday Learnings and Overview


Recently Kyle Hill and I attended the D365 Saturday event in London. Firstly, What an EXCELLENT, well organised event. Thank you to all of the sponsors that invested so much time and money into growing the Dynamics 365 community. It was amazing to see so many D365 community members in one location, getting involved and collaborating. A special shout out to RazMohamedJanet and the rest of the organisers and MVPs that made this event amazing!
We started the event on Friday with a hackathon hosted by the likes of Jonas Rapp talking about the XRM Toolbox and how it can support all kinds of D365 users in their implementations and management of D365 CE solutions. Good to see functionality like the Sitemap Editor and Plugin Registration tool is still in there. I highly recommend this set of tools and give much respect to all of the contributors ðŸ™‚ Check out the list of plugins here.
Ben Vollmer hosted a Connected Field Service (CFS) workshop where attendees were taken through the CFS Setup process and were even given an actual IoT devices to connect to the Azure IoT Hub. level 10 cool!
James Phillips opened the session on Saturday with an excellent talk on Digital Transformation. A few big bombs were dropped such as the Outlook Client deprecation message being deprecated. Good news for the MS customers using this… BUT the focus seems to still be on the App. More information can be found here: CONTINUED SUPPORT FOR THE OUTLOOK CLIENT.
There were some really interesting sessions on the go from a host of different presenters. Some were very technical where as others were fairly business centric. One of the areas of clarity that was demystified by Ben was where and how Dynamics 365 Route Schedule optimisation works. You can grab a copy of the presentation HERE. Thanks for this on Ben ðŸ™‚ Gethin & Nickfrom CafeX ran a number of sessions on the Saturday which showed how to improve customer experience and engage customers in the most efficient ways possible.
Something else that had a massive focus was “Women in Tech” and the ability to generate diversity in our partner teams. This was awesome and it was wonderful to see so many of the ladies in Dynamics at this event ðŸ™‚ This is a campaign that should be adopted by as many of the Dynamics partners as possible. In order to promote digital transformation, we have to work differently. Jon Keen did an excellent talk at the end of the day which really highlighted the need for diversity. Those Dynamics Guys fully support this and have actually changed our site URL to “The Dynamics Society” in order to show our support.
All in all, it was a FANTASTIC couple of days and I’m really looking forward to the next one!