Tuesday, December 31, 2019

D365FO new vertical/ product development

When you complete your brainstorming and designing of new vertical or product in Dynamics 365 for Finance and Operations, the next phase is development. You cannot directly jump on Visual Studio and start coding, there are many steps that you need to do, here are some of them:

  1. Create Azure DevOps project
    Azure DevOps is the new name of previously know TFS (Team Foundation Server). It's basically code repository service with advanced versioning features. I personally prefer Azure DevOps to GitHub, but for D365FO you cannot make your project on GitHub even if it's your favorite. You need to create a project for your product in Azure DevOps; It's free for upto 5 users.
  2. Specify VMs
    In D365FO, like other good renowned software, you need to have different VMs for different purposes. The most needed ones in initial phases are one development VM per developer, one code merge VM (build VM) and one test VM. You may also use your build VM for testing purposes.
  3. Build the Models
    Till this step you may already have a model diagram with you on paper, Microsoft Visio and any other tool. You may also look in this article of how I drew mine,
    https://microsoftdynamix.blogspot.com/2019/12/d365fo-new-vertical-product-architecture.html

    Model is technical classification of elements in your product. All the developments or extensions will be done inside these models.
  4. Start coding
    Now you can connect your Azure DevOps with your Development VM and start coding. Remember to go through Microsoft best practice documents in every blog they share, they help a lot in keeping the product up to date and in high performance.
Best of luck. Thank you!

Monday, December 30, 2019

D365FO new vertical/ product architecture

Hi,

It's common for ISVs to launch their products based on Dynamics 365 for Finance and Operations. Internally they call those products 'Verticals'. There are different stack holders indulged in this process from brainstorming of features till the testing and launching the product. In this blog, I will describe the process of designing the new product in technical perspective. We assume that brainstorming of the product has already been completed. The following steps are most important in this phase as I faced:

  1. Identify elements
    The first step after brainstorming is identifying as much elements as you. By elements I mean anything you can count as user, screen, process or even condition.
  2. UML diagram (Unit)
    Draw UML diagram of each user separately. Try to think as much deep as you can to cater corner cases. I believe that though brainstorming is done while deciding the features, it is a never ending process which shall keep going on till the final steps or even the product is launched to bring improvements in the product. Likewise, drawing drawing UML diagram for each user separately will make your mind think centrally in that perspective and identify processes in its perspective. The diagram below is an example.
  3. Complete UML diagram (Module diagram)
    Now connect those unit diagrams, it is a good idea to draw them on paper with pencil so you can rectify them easily. Module diagram will represent your product in business perspective. It will show the flow and dependency of objects on each other. The diagram below is an example.
  4. Model diagram
    Model is the technical classification of elements. Once every element is identified in Module diagram, you need to look how you can divide them with respect to development. In D365FO it is not good idea to put all your element in one cumbersome model. It is Microsoft best practice to make relevant models. The diagram below is an example.

Thank you!