I’ve blogged quite frequently in the past about exams and certifications for Microsoft Dynamics CRM and its successor product Dynamics 365. There’s been a lot of change and, for the most part, improvements in this space. Back in the days of Dynamics CRM 2016, there were up to 4 exams that you could get your teeth into; these days, this number has trebled and now covers a wide array of differing functionality across Dynamics 365. A noted absence amongst this list has been a dedicated exam devoted towards extending and developing bespoke solutions using Dynamics 365. The last such exam for this topic was released for Dynamics CRM 2013 nearly seven years ago. Since then, there has been no mechanism for developers to certify and validate their skills in developing custom plug-ins, Actions, working with the SDK Web API and, perhaps most importantly, working with new features such as the PowerApps Component Framework (PCF). These are all essential skill areas to have an awareness of when scoping and implementing a complex Dynamics 365 deployment.
Therefore, after what feels like a small eternity, I was pleased to hear that a new developers exam is currently out in beta release. Exam MB-400: Microsoft Power Apps + Dynamics 365 Developer covers all of the areas you would hope for in a developer exam and, with MB-200 under your belt, will also grant you a shiny new Microsoft Certified Associate certification - excellent! I hope to sit MB-400 very soon, but, in the meantime, let’s take a closer look at the areas covered by the new exam. I’ll also highlight and suggest some recommendations, that may be of assistance if you are preparing to sit the exam yourself.
Reviewing the Skills Measured List
As is typical for a Microsoft exam, a wide variety of subject areas are tested and are granted different weightings when totalling your final score. For this exam, the skills measured list is as follows:
Create a Technical Design (10-15%)
Validate requirements and design technical architecture
- design and validate technical architecture
- design authentication and authorization strategy
- determine whether requirements can be met with out-of-the-box functionality
- determine when to use Logic Apps vs. Microsoft Flow
- determine when to use serverless computing vs. plug-ins
- determine when to build a virtual entity data source provider vs. when to use connectors
Create a data model
- design a data model
Configure Common Data Service (CDS) (15-20%)
Configure security to support development
- troubleshoot operational security issues
- create or update security roles and field-level security profiles
Implement entities and fields
- configure entities
- configure fields
- configure relationships
Create and maintain solutions
- configure solutions
- import and export solutions
- manage solution dependencies
Create and Configure PowerApps (10-15%)
Create model-driven apps
- configure a model-driven app
- configure forms
- configure views
- configure visualizations
Create Canvas Apps
- configure a Canvas App
- develop complex expressions
Configure business process automation (10-15%)
Configure Microsoft Flow
- configure a Flow
- configure actions to use CDS connectors
- develop complex expressions
Implement processes
- create and configure business process flows
- create and configure business rules
Extend the user experience (15-20%)
Apply business logic using client scripting
- configure supporting components
- create JavaScript or Typescript code
- register an event handler
- use the Web API from client scripting
Create a PowerApps Component Framework (PCF) component
- initialize a new PCF component
- configure a PCF component manifest
- implement the component interfaces
- package, deploy, and consume the component
- use Web API device capabilities and other component framework services
Create a command button function
- create the command function
- design command button triggers, rules, and actions
- edit the command bar using the Ribbon Workbench
- modify the form JavaScript library dependencies
Extend the platform (15-20%)
Create a plug-in
- debug and troubleshoot a plug-in
- develop a plug-in
- use the Organization Service
- optimize plug-ins for performance
- register custom assemblies by using the Plug-in Registration Tool
- create custom actions
Configure custom connectors for PowerApps and Flow
- create a definition for the API
- configure API security
- use policy templates
Use platform APIs
- interact with data and processes using the Web API
- optimize for performance, concurrency, transactions, and batching
- perform discovery using the Web API
- perform entity metadata operations with the Web API
- use OAuth with the platform APIs
Develop Integrations (10-15%)
Publish and consume events
- publish an event by using the API
- publish an event by using the Plug-in Registration Tool
- register a webhook
- create an Azure event listener application
Implement data synchronization
- configure and use entity change tracking
- configure the data export service to integrate with Azure SQL Database
- create and use alternate keys
So as you can see, a lot to consume and potentially learn about, even for the most seasoned of Dynamics CRM/365 professionals.
General Recommendations
- The exam is testing developers on their understanding of, what I would traditionally class as, core customisation topics - primarily when it comes to simple entity customisations, the systems security model and also working with solutions. It is imperative, therefore, not to neglect these areas as part of your learning. Also, because these topics are underneath the Configure Common Data Service (CDS) header, I would assume that familiarity with the new customisation experience will be mandatory in securing a passing grade. A general refresher in these areas would not go amiss.
- Both canvas and model-driven Power Apps are subject areas tested in this exam, with an additional focus on being familiar with the broad range of functions available within a canvas app. Likewise, Power Automate flows (AKA Microsoft Flow) is a subject area that you will need to dive into, alongside its distinct expression language.
- Understanding the differences and usage cases between a Power Automate flow and Logic Apps will be crucial for this exam. As a general rule of thumb, Logic Apps caters for more complex integration needs, is billable based on actual usage, and allows you to leverage Software Development Lifecycle Management (SLDC) / Application Lifecycle Management (ALM) features much straightforwardly.
- For the first time for a developer exam, knowledge of TypeScript is now a requirement; primarily in the context of developing form functions and also in creating a PCF control. While TypeScript is very much C#/JScript like in its general structure, getting your head around the fundamentals and - more crucially - TypeScript’s differences between our C#/JScript may be a challenge.
- This next one has to be a first for a Microsoft exam for me - it now looks as if knowledge of community tools and, specifically, Scott Durow’s Ribbon Workbench is now a mandatory requirement to pass the exam! 🙂 I’m relatively sure most developers will have used this tool at some stage during their travels; if not, then going over the basics of this tool wouldn’t go amiss I’d say.
- A lot of the core focus areas for this exam are in well-versed areas for CRM developers, such as plug-ins, the Web API and custom actions. While this may reduce any revision pressures, I would caution against complete complacency. Things are changing all the time with the SDK, meaning that regular refreshers are always needed. For example, were you aware of the deprecation of the Xrm.Page object, used primarily within JScript form functions? What about the new API limits that are being gradually rolled out? Or, finally, how about the fact that the SDK is now available within NuGet exclusively? Complacency is never an acceptable excuse when working with a cloud application system, so make sure you put the appropriate steps in place to revise any changes made to the SDK within the past 18 months and to keep abreast of any new changes in future.
- Taking the previous point as read, one notable exception from the familiar list is Web Resources. While these are still readily available to use as a solution, their use is becoming less needed, as canvas Power Apps, for example, start to fill the void in their stead. Their omission from the above Skills Measured list though, would suggest they are a subject not worthy enough for exam revision.
- The integrations area of the exam is very much testing your ability to bring Microsoft Azure into the equation. Somewhat surprisingly, amongst this, is a requirement to know all about the Data Export Service too, a topic area that has been covered on the blog previously. Again, this emphasises the importance of having broad familiarity with the overall Microsoft “stack” and how you can slot this into your Dynamics 365/Power Platform solution.
- Remember, if you are sitting the exam while it is still in beta, you will not get your results immediately after completing the exam. You will likely need to wait a few months until MB-400 has come out of beta before receiving your pass/fail notification.
Ultimately, the exam is very much focused towards the Power Platform as an entire solution, as opposed to merely Dynamics 365 (as a model-driven app) and its corresponding database (CDS) as a solution in of itself. If you have so far not looked seriously at canvas Power Apps or Flow, this exam gives you an excellent opportunity to dive into areas that are only going to become more critical in the years ahead.
As mentioned earlier, I plan to sit this exam within the next few months, so be sure to keep an eye on the blog for any follow-up posts relating to MB-400. In the meantime, what are your thoughts on MB-400? Does it sound too harsh or a cakewalk compared to MB2-701? What’s your approach to studying for a new exam like this? I would love to hear your thoughts in the comments below!