Wednesday, March 8, 2017

Managing Dynamics 365 (CRM) deployments online

Why we need to manage?

1. Multiple environments - 
Dynamics 365 (CRM) online enterprise projects have multiple instances deployed - Dev / QA / UAT.  Clients also want to be able to do continuous development and deliver releases to Production in an agile process. Agile also adds complexity, as we have multiple teams (dev / integration / business) who interact together as the development progresses through different sprints. Hence in a typical deployment you will have possibly many or all of the following instances.
  1. Development
  2. QA
  3. UAT
  4. Integration 
  5. Migration
  6. Performance
  7. Pre-production
  8. Production
2. Multiple user access - 
Each environment has its own team of users who may need access to that specific instance only. There may be few users who need access to multiple environments like Build Manager or System Admin. Also the Solution owner or Build manager maintains and deploy the correct customization code (solutions) for each instance. All of this requires proper planning and management of Dynamics 365 (online) deployments.

Here are some of the options to manage Dynamics 365 deployments -

1. Deployment process – A deployment process needs to be planned out for the Project. In an Agile continuous development the deployments are done in “Releases”. So there could be an initial Release-1 which goes through Dev to Production.  

A typical Release-1 deployment path from Dev to Prod is shown below -
Release-1 deployment path


Once the Production environment is ‘Live’ with Release-1 functionality, it is essential to have a second parallel path for the development and testing of Release-2 functionality. 
In addition a hotfix deployment path is also needed to fix any bugs found in Production environment. A Release-2 deployment can include the following instances.

Production and Release-2 development path

Any fixes done for Production are also implemented in Dev-2 environment. As the Release-2 is ready to be deployed the same path can be followed for deployments for the next Release cycle. Thus providing ongoing Production support and continuous development.

2. Control User Access - 

Security plays an important role in preventing unauthorized users from accessing environments. There are many ways that Dynamics 365 environments can be secured and managed.

  1. Active Directory / Office 365 user access – Dynamics 365 online access is provided through Active Directory / Office 365. Once the user has access to Office 365,  they have to be provided access to the individual instances by assigning them a valid license and a security role. If an employees leaves the organization and their Active Directory access is removed, this also disables the user from all Dynamics 365 environment.
  2. Security roles - This is the next step to grant user access to the Dynamics 365 instance. It is also probably the most widely used (not recommended) method of managing user access to different environments. A user with system admin security role in Dynamics 365 can assign another user a security role – This will grant access to the instance to the user.
If we only manage user access by adding or removing security roles it can be difficult to manage for large number of users. Users may get temporary access to environments and the access never gets removed. It is also a challenge because there is no way of knowing which user has access to what environments without logging in to each individual environment.
  1. Security groups – This is one feature that should be used for managing user access to Dynamics 365 environments. In office 365 users can be added to Security groups. The security groups can than be assigned to the individual instances of Dynamics 365.
Users can be divided into the following groups.
1. Dev
2. QA
3. UAT
4. Integration / Migration
The security groups can now be given access to the corresponding environments. A user who needs access to multiple environments can be added to the corresponding security groups.

 

3. Solutions Management
 
Solutions are used to move customization's and configurations from one environment to another. The build manager will be responsible for the solution movements and tracking. Solutions can be managed or unmanaged and this depends on the project requirements. 

Dynamics 365 has tools to do Solution patching and versioning which can be utilized. Versioning is important to keep track of the customization's in each environment.


In addition to import and export a solution, there are 3 new buttons as highlighted above. They are
1. Clone a Patch
2. Clone Solution
3. Apply Solution Upgrade

I hope the above assists you in managing multiple Dynamics 365 deployments. Please leave your feedback on how do you manage Dynamics 365 deployments in your project. 

Keep reading.
Mihir










Wednesday, February 1, 2017

Dynamics 365 as a Collaboration Strategy tool

As we are starting the new year, there is the reflection of past experience and observations. One of which I want to highlight, is the increasing use of Dynamics 365 (CRM) as a collaboration strategy tool.


Why Collaborate - 


Since the dawn of internet, businesses worldwide are facing ever changing new challenges, like social media, app driven economy, consumer buying behavior, business models…

In order to manage the competitive forces and competition, firms are acquiring, merging or building strategic partnership. Some of the examples of strategic partnership or collaboration are -

  • Automobile industry – Global partnership between auto manufacturers and parts suppliers to reduce cost of inventory and enhance quality
  • International Air Travel industry - Strategic geographic alliances between airlines to attract the global corporate travelers and increase their market share
  • Retail industry – Retailers adding new products and services and co-branding with firms to become the go to store / website / app for the customer.

The need for collaboration is growing and this is resulting in new business processes and systems designed to integrate business partners and customers to meet the shared goals.


How does Dynamics 365 (CRM) help in collaboration – 


Dynamics 365 has a set of built-in tools that can be effectively used for collaboration. The collaboration tools are discussed below.

  1. Portals – Partner and Customer Portal in Dynamics 365 is the #1 tool for collaboration. Companies now have the capability of engaging their partners and customers with their core business teams and processes.
    1. Partners can be given secure access to the portal. Partners can provide input on sales opportunities, complete an activity or task and add / update documents as needed for the business process
    2. Customers can use the Portal to place orders, check history, request services and provide feedback which will be valuable to the organization
  2. Mobility – You can provide mobile based access to partners with a mobile app. Using the mobile app the partners can log into Dynamics 365, access necessary information and update the records. For example a medical services firm can partner with independent nurses who visit patients, review their medical history and complete their annual health checkups at home using a mobile app.
  3. Field Services – Dynamic 365 Field Services allows the scheduling of service providers and track maintenance of assets. The service providers can be partner firms who get their schedules from the Dynamics 365 and manage their daily service activities. This helps the services organization provide better service to the customer.
  4. Security – One of the most important requirement for a collaboration system is Security. The security can be classified as –
    1. System level access – Restrict which employee of the partner gets access what part of the system
    2. Entity & record level access – Restrict what entity and records within the entity the partner can access - read and edit.
    3. Document access – Restrict access to documents and allow to add new documents
    4. Device access – What devices can be used to access and update data

Dynamics 365 with its granular security achieves all of the above and allows further control using business unit, teams, team queues, security roles, web roles (for portal), role based form…

  1. Process flexibility – A collaborative system has to be flexible and adaptable to changing business processes. Dynamics 365 allows organizations to build upon an existing business process and add or change the process in the future as needed. Partners can be users of Dynamics 365 or can access the data through Portal or a mobile app. Within Dynamics 365 one can build custom business apps for Partners and provide a customized collaboration experience.

As you can see there are many new ways that Dynamics 365 can be used for Partner and Customer collaboration. I believe that more organizations will use Dynamic 365 as a Strategic Collaboration tool to engage partners and customers, improving the efficiency and productivity in their business process.


Please provide your experiences in using Dynamics 365 for collaboration.

Thanks for reading.


Mihir Shah

Wednesday, December 7, 2016

Enhance UX with custom business apps in Microsoft Dynamics 365

Dynamics 365 (CRM) has a new feature called Apps. This allows admin to create a customized app for users without writing code. I believe this is a significant user experience benefit as it shows the user the functionality that is needed and removes all unwanted clutter and confusion.

Use Case - Scheduling App

Consider a Service Support Call Center whose main responsibility is to schedule support services and update status of Case.  A custom scheduling app can be created for those users. This group of users do not need access to Sales, Marketing or Settings. They also need to access specific business process flow, views and charts. We will walk through the creation of a custom Scheduling app.

1. To create business apps - Go to customization and select apps. Click new and name your custom business app.
2. Give a name your app in the App designer. Also a custom url link can be created for the app which can be shared with the users. Users can go directly to the custom app from the link.
 3. The App designer allows to add components - Dashboards, Business Process Flows and Entities. The entity consists of specific forms, views and charts. Select configure to design the Site Map
In the Sitemap Designer you can add -
  1. Areas - Scheduling
  2. Group - Service Scheduling
  3. Sub-Areas - Scheduling Dashboard, Appointments, Case. The sub area can consist of Dashboard, Entity, Web resource or URL






Once the app is configured and components added you can validate the app. This will help to identify any missing components and dependencies. After validating the app can be published.

4. App Security can be configured on the Settings > My Apps to allow only specific security roles to be able to access the app. The user will only see the app they have access to and thus their experience is unique to their role.


 
Let us know how you are enabling custom business apps and enhancing the user experience.

Mihir Shah
Dynamics 365 consultant