Yes – I am a geek, and I apologise for the title, I just could not resist!
I have been working with Dynamics CRM since 2011 (not the product, the year). To some of us, that does not seem like a long time ago – but actually, if my maths is correct, it is a little over 7 and half years!
To me – time has flown by; I have enjoyed every stage in my career and I have not even had a slightest thought regarding a career change. I love working with Dynamics 365, the people around me are excellent and will continue to work with CRM many, many years to come.
Whilst working with Dynamics CRM, I have been given the opportunity to work in a wide variety of project roles; these roles depended on the size, complexity and team of the projects I was a member of. Without regurgitating my CV, here are a few of them (at a very high level):
- Support Technician – working on the customer support desk helping to resolve customer support issues.
- Junior Consultant – shadowing delivery teams and assisting on basic CRM customisation and documentation.
- Data Integration Consultant – designing and building data migration/integration solutions to move data in and out of CRM with external systems using third party integration tools (such as Scribe)
- Functional Consultant – gathering user requirements, producing documentation, assisting the CRM solution design and performing a lot of the CRM customisation and configuration duties.
- Pre-Sales Consultant- helping build proof of concept solutions and leading demos with potential clients.
To some people, the roles above would not be thought of as being “Technical”, nor do I see myself as a technical consultant. I am a Functional Consultant, but I do have a technical head. This does lead to the question which changes depending on who is asking:
What is the role a Functional Consultant?
Or with personalisation of the question, as a Functional Consultant, what can you do?
The functional aspects of my role
I previously gave a high level overview of a few of project roles that I have undertaken. But if I was to expand out and focus on just the functional role (which is my actual day to day role) and listed out all the tasks that I expect myself to be able to complete (based on my skill set); then I can actually see that there are not just project roles, but there are different aspects to my role which can be split between a project focus or role focus.
My Role aspects are tasks or activities which I complete in addition to my project role to further my understanding and to help improve at being a Functional Consultant for Dynamics 365.
Over the next few sections, I will list out the tasks that I complete (at a high level and split between project and role) and give my own opinion on what I think a functional role should do, but I will not list what you should not do, as that is entirely up to you.
The key to being a good consultant is knowing your strengths and also knowing your weaknesses.
It is important to know your own skill set and doing what you are comfortable with, what you are willing to do and finally any areas you would like to improve.
Sitting down face to face with key business stakeholders and discussing their organisation is a key part of any project, and should be completed at the beginning of any Dynamics 365 implementation (otherwise where do you start??!).
Whilst this is not always an easy task, it takes confidence and experience to ask the right questions upfront, but I have learned that you just need to be yourself and do not shy away from this and keep at it!
- Identifying the current and proposed user roles.
- Map out the user journeys and their current processes.
- Performing gap analysis between current process and Dynamics 365 out of the box, or even suggest ways to help improve the current processes.
Whilst this may fall under the Business Analysis aspect, gathering and documenting user requirements (e.g. by any method such as User/Job Stories or even just a standard list) and consolidating the list into a readable format such as a functional requirements document can be a time consuming task. This is a worthwhile exercise and will help you explain to business what you are expecting to deliver whilst reducing any potential duplicate or conflicting requirements.
Writing documentation, in any role, is apart of the job; whether this is writing:
- Solution Design Documents
- Functional Requirements Documents
- Business Architecture
- Technical/Bespoke Customisation Specifications
- Test Plans
- Test Scripts
- User Guides
- And the list goes on….
Wait a minute, is this not the boring bit of your role? Not in my eyes, producing documentation does not just mean writing lots and lots of text. In fact, writing more and more can drag out the document and put the user off reading the documents and being able to understand what you are delivering.
“They say a picture speaks a 1000 words”, so why not add some great visuals to your documentation? Get creative! I love using Microsoft Visio, I do not write a documents without them. I embed the diagrams I create into my documentation, whether I am creating Entity Relationship Diagrams (ERD) or process flows to highlight the business architecture. Along with simple narratives can be used in place lots and lots of paragraphs trying to explain the same thing, it will be easier on the eye and will aid the audience to visualise your solution.
Setting up Environment
With the rise of Microsoft Dynamics 365 Online, more and more customers are moving to the cloud. Installation of Dynamics CRM used to be one of the main tasks completed by consultants into a customers environment; and if an Internet Facing Deployment was a requirement, then this may have been a bit too technical for some (including myself!).
Most of the projects I have worked on over the last 4-5 years have been online only; which meant the most I have ever had to do was setup an Office 365 tenant and then provision an CRM instance (a lot of customers already have an Office 365 tenant). Microsoft have made provisioning CRM so painless and effortless, I see this as a key task that I would complete.
You do not need to be a Solution Architect to be able architect a solution for a customer. Granted, it does take experience through working on different projects, I will still talk through any of my designs with colleagues to ensure an agreed solution is chosen for the client.
- Data modelling and generating the ERD.
- Identifying potential solutions to meet requirements through collaboration with the technical teams
- Solution Architecture with external systems
- Business Architecture
CRM Customisation and Configuration
Understanding the full Dynamics 365 functionality provided out of the box is a key requirement for a Functional Consultant. Knowing what is already achievable within the product can help you architect a solution for your customer using whats achievable within the XRM Platform.
These are the items that I enjoy most as a Functional Consultant – hands on with our beloved product, building the solution using basic customisation and configuration of the XRM platform.
The functional role should be the primary resource completing the following implementation tasks:
- Creating and customising Entities/Fields
- Designing and creating forms with a great user experience with clearly defined and simple layouts
- Utilising out of the box business automation (such as Business Process Flows, Business Rules and Workflows) to create business logic.
- Building up System Views and Dashboards which provide valuable and meaningful information to the Users.
- Defining the Security Model (e.g. Business Units, Security Roles and Teams) and assigning users the correct permissions.
- Setting up configuration data and system maintenance routines (i.e. bulk record deletion, Duplicate Detection etc.)
- System Settings – Server Side Synchronisation, previews and Dynamics 365 Addon.
- Configuring Mobile Applications and App for Outlook
There are many more tasks that need completing, and this is just a short list otherwise it would go on and on!
With CRM V4 and 2011, there were no Business Rules, Business Process Flows or even Synchronous Workflows. The options available where:
Server Side Automation
- Asynchronous Workflows
- Custom Workflow Activities
Within Dynamics 365, extending can mean:
- Ribbon Editing
- Sitemap Editing
- Workflow Configuration
- Business Rules
- Process Flows (Business and Task)
- SLA Configuration
- Modular App customisation
These items are before we even talk about building Custom Workflow Activities, Plugins, Actions and Web Services.
Externally – we can also extend Dynamics 365 such as:
- Azure Logic Apps
- Azure SQL (with Export Service)
Reporting requirements are often a key requirement of an implementation, to present related and meaningful information in a suitable format. I will often perform the following tasks to meet these types of requirement:
- Out of the box charts and reports
- Create and Update Views
- Word/Excel Templates.
- SSRS (Fetch based for Online) using Visual Studio
- Power BI Dashboards/Reports
Test what you design and build! Another major aspect of the Functional Consultant; if you have asked the development team to build a piece of bespoke automation such as a Plugin or Workflow Assembly – you should be the first one to test it. Has the acceptance criteria that you have defined (and the customer has agreed) been delivered?
If you do not use automated test tools (such as VSTS test manager*) to help you build test plans and scripts, then often the requirement for writing test scripts for the end users may fall on our laps!
*Test Manager is great for recording your screen navigation and clicks!
A Functional Consultant can drive a key business relationship between the Dynamics Partner and the customer, they are usually face to face with the customer.
There may be a training period just before UAT and also production go-live, and this needs to be delivered. Unless you have dedicated training resource, then usually it will fall to a functional role to provide/lead training sessions for users. This can either be in person onsite, or remote via Web conferencing (where international travel is not practical/an option for instance).
The different training types may include:
- End User
- Super User
Additionally, the focus of the training may not be just on the Dynamics 365 web platform, but the additional interfaces/add-ins such as:
Part of training often involves some element of documentation and producing training deliverable are often required such as:
- User Guides
- Quick cards
- Walk-through videos
A consultant should also know that Microsoft have released some great online content for documentation guides, and we should not be re-creating these if Microsoft have already produced something similar!
In future projects, I would like to investigate setting up Learning Path!
For the smaller projects, I would expect solution deployment to be completed the Functional Consultant; on larger projects – there may be external components that require additional technical resource to complete (i.e. Azure Jobs etc.).
Moving solutions between environments will often form part of a deployment strategy between the environments.
The following components will often need to be deployed between environments:
- CRM Solutions with export/import and publish functionality.
- Moving Configuration data between environments with configuration migration utility tool.
- Setting up Business Units, Teams, Queues and Users in each Dynamics 365 Instance and assigning security rules.
The administration overhead of a few of these tasks can be reduced by using different plugins found within the XrmToolBox!
Go Live Support
Delivering a solution does not mean your time on the project has come to an end; the Functional Consultant will usually be on hand to assist users as the system transitions from UAT to go-live. We can guide users through the process correctly and help identify any issues/recreate any bugs not found during UAT.
3rd Party Add-ons
Quite often there are certain requirements which require bespoke customisation; and it is quite often that a 3rd party offer a solution that meets about 80-90% of the requirements.
Over the years I have encountered these scenarios and have actually investigated and implemented some of these solutions e.g. DCP from MSCRM-Addons
Keeping up to date
The Dynamics 365 platform is continuously evolving, recently Microsoft have released V9.0 and have rebuilt the current interface and built us a new one called the Unified User Interface. Whilst this is positive and exciting, it makes life difficult to keep up with the pace! There is so much I want to learn and investigate, and by the time I have gotten around to doing so, Microsoft go and release something new!
Microsoft have just announced a public preview of Dynamics 365 for Marketing – a whole new area of functionality to learn!
Whilst it can be frustrating, I hope Microsoft never stop releasing new functionality!
Knowing what new functionality is being released (and also deprecated/removed) is key to building a future proof solution, like my colleague Chris writes about!
Use the Dynamics 365 road-map to help stay up to date with the future releases of Dynamics 365.
As part of my CRM learning over the years, I found the most helpful resource is the Dynamics CRM community, engaging with them has been the most beneficial and rewarding parts of my role. If you have any questions/queries of even encounter issues, then there is always someone there eager to help!
Further, as mentioned above, I like to stay up to date with the latest releases of Dynamics 365 product. I do this by:
- Reading community written blogs and MS blogs
- Learning about new features and writing blogs on them, this allows me to help make a contribution back to the community!
- Attending Events (such as CRM UG) – great for gaining valuable and insightful knowledge whilst also making new connections and having fun!
- Dynamics 365 Forums – go to help areas to gain help and advice from your CRM peers!
Collaborating with colleagues
Helping your colleagues leads to great teamwork, do not shy away from this. I aim to be proactive and will help where I can, ultimately they are the first people I turn to if I ever need help or guidance.
Dynamics 365 Certifications
Last but not least – Certifications.
This is something I have slacked on the previous year, but I am aiming to resolve this aspect later on this year!
To aid my learning, I find that using the Dynamics Learning Portal is invaluable. It helps me keep up-to-date with the latest functionality and provides contextual information to help identify scenarios where the functionality can be used to meet customer requirements. It is also a valuable place to follow the exam content which is tested as part of the certification exams.
Whilst I have not listed all the aspects of the functional role, I have highlighted the key items that I complete, as a Functional Consultant for Dynamics 365! Please remember that this is my own opinion and view of a role that I perform every day of the week.
Thanks for reading,