Thursday, August 3, 2023

10 Things to consider when managing Enterprise Apps - Microsoft Dynamics 365 on cloud - Part-2

 This is a continuation of my earlier blog on the same topic. (link). Here are the remaining of the 10 things to consider when managing Enterprise Apps like Microsoft Dynamics 365.

7. Operations Process Management - Enterprise App Support teams have to follow certain process and procedures. This needs to be well documented and understood. The below is a list of processes (not an exhaustive list) that one must have in place with proper training. 

  1. Change and Release Management process - How the changes and release will be managed and deployed to production.
  2. Incident Management process - How are the incidents reported, triaged, assigned to the support team.
  3. DevOps deployment process - This is for the build and release pipelines process.
As discussed earlier in my previous blog there could be multiple teams working on the Project. All teams need to be aligned and work in coordination. This requires proper planning of processes. The process needs to be documented and proper training provided to the Enterprise apps support team. 

8. Environment planning for Apps support - During the development phase it may be only 1 team that is doing the development. This may require few environments like Dev - Test - UAT - Prod. Once the application is in operations there can be multiple teams that are working together. This may increase the need of separate Dev and Test environments for each App support and Enhancement teams. Setting up of environments can be a challenging task and may require dedicated personnel while also support the application in Production. Additionally there can be a Hotfix environment for Prod support.

Multiple Production Support environments
As shown above in Enterprise Apps support the complexity increases as there are more environments and integrations to manage and support. 

9. Continuous learning - The team is now tasked with learning multiple things. There is a need to train the support team on the business processes and operations. The team also needs to keep updated on the latest cloud and application technology enhancements. This require a rethinking of the enterprise training process. There cannot be just once a year training and done. There should be a continuous learning plan. The managers need to monitor the skills of the app support team and identify the gaps and provide the necessary training path. This way the team is able to improve and support the application. AI and innovations in apps require a continuous learning approach.
A team that is aware of its capabilities infuse confidence on taking on new development and improve the productivity for business.
The method of learning also needs to be changed with social media like Linked In and YouTube becoming the go to medium of learning. This requires innovative training management approach.

10. App Optimization and User experience  - The enterprise application is enhanced with new functionalities added over time. There is the need to optimize the performance of the business application. Also the user experience can degrade as more data and custom code gets into the application. It is a good idea to baseline the app performance and user experience. Once the baseline is done the goal is to optimize the app performance and enhance the user experience. 

The Enterprise Application once live and in production, is like a living and growing baby that needs to be nurtured and managed to get the optimal business results. 

I hope you enjoyed this list of 10 things to consider when managing Enterprise Apps blogs. Do let me know how you are managing your enterprise application. 
Thank you for reading.


Thursday, June 15, 2023

10 Things to consider when Managing Enterprise Apps - Microsoft Dynamics 365 on Microsoft Cloud

 Once an enterprise application like Microsoft Dynamics 365 goes live within an organization there is lot of excitement. The project team is happy with the results of the efforts over the year/s. It is the day after going live that the operations team is faced with the post go-live challenges. There are lots of questions on how to support, operate, manage, adopt and scale the new Dynamics 365 application. Microsoft Dynamics 365 in an enterprise cloud environment can be very challenging. There could be multiple integrations with other systems within and outside the organization, compliance and security requirements, business enhancements needs and performance management. This requires planning and coordination with multiple teams. This blog series is about how to prepare and plan for managing of an enterprise Dynamics 365 app. Here are the top 10 things to consider - 

1. Governance (decision making) - There needs to be a governance team in place. There could be multiple operations support teams working on the system for example the application support and maintenance team, the infrastructure and security management team and the application enhancement team. There has to be a defined governance team that may consists of representatives from business, IT, Project and executive management. This helps the operations team to report any blockers, get the guidance and support for the system management. The governance teams meets on a monthly cadence and reviews the teams progress and challenges. They will discuss how to resolve the blockers, improve the operational performance and opportunities for enhancing the Dynamics 365 application.

2. Security and Access control - As the Dynamics 365 application usage increase so does the need to add new users and give them proper access. There could also be challenges with the existing users who may need to modify their security roles, teams and business unit. It is an ongoing challenge to manage the users access and application security which needs to be considered and managed. Assigning a role based user security template will make the access streamlined. 

The tasks for the security team is to regularly review and update user security roles, active directory teams and business units as user responsibilities change. Also remember to remove users and reassign licenses when the users are no longer required to access the app. Finally regularly audit user access logs on a monthly or quarterly basis to identify any unauthorized or suspicious activities. 

3. Data security and integrity - Having a reliable quality data is important for the adoption and success of the Dynamics 365 app. Users should be confident that the data that they rely on to make business decisions is safe and trustworthy. Implement a data governance practice to maintain data integrity and quality. Regularly set reviews, cleanse and maintain data for accuracy, completeness and consistency. Users should be provided training in proper data entry and maintenance standards. 

The data loss prevention rules should be in place to prevent the leakage of data. Sensitive data in the Dynamics 365 app should be protected and secured using field level security. Duplicate detection should be in place and active where needed. It is essential to set-up data validation and duplicate detection rules to prevent erroneous and unreliable duplicate data. Data lifecycle, archival and storage needs to be planned as the data size grows with complexity.

4. Application Performance Monitoring - The Dynamics 365 application and related infrastructure should be continuously monitored for any issues, bottlenecks or maintenance requirements. A mechanism should be in place to trigger alerts and auto create incident support tickets for any identified issues. The error logs, system logs and performance metrics should be reviewed for measuring the performance of the application. Users should be trained in identifying and reporting issues with proper documentation. 

Microsoft provides many options to monitor and manage Microsoft Dynamics 365 and Power Platform. The Power Platform Admin Center has OOTB performance metrics that can be reviewed. Additionally Azure Monitor and Application Insights can be set-up to track and monitor the performance. Additionally you can even use Power Automate to trigger alerts and create incident support tickets.

5. Support Team  - Plan to have a dedicated multi-level support team. The teams can be set-up on a Tiered support level based on the incident complexity, severity and priority. Tier 1 and 2 support can be provided by the organization support helpdesk. Tier 3 support can be provided by the Application Manage Services Partner and Tier 4 support can be from Microsoft product support team. It is important to have the team trained on the business application and on supporting Dynamics 365 and Power Platform.

6. Product updates and upgrades - Microsoft provides 2 major updates annually for Microsoft Dynamics 365. Plan in advance to have the Dynamics 365 updates tested and implemented. 

Safe deployment of updates for Dynamics 365 by region

The business and IT needs will require regular enhancements of the Dynamics 365 application and supporting infrastructure. Ensure proper training of the support team as part of the enhancement of the Dynamics 365 application and infrastructure.

I hope this helps your organization in planning for the post go-live operations and management of the Dynamics 365 enterprise application on Microsoft cloud. Please stay tuned for my next blog where I will discuss the remaining 4 items to consider when managing Microsoft Dynamics 365 enterprise applications. Let me know your thoughts and thanks for reading.





Wednesday, May 31, 2023

Azure DevOps Pipelines with Power Platform - Part-1 The Benefits

In today's fast-paced world, organizations need secure, efficient and reliable tools to streamline their software development processes. Microsoft's Power Platform has emerged as a leading low-code development platform, empowering businesses to rapidly build custom applications, automate workflows, and analyze data. To further enhance productivity and collaboration, integrating Azure DevOps Pipelines with Power Platform offers a powerful combined solution. In this blog, I will explain the benefits of using Azure DevOps Pipelines in conjunction with the Power Platform to optimize your #PowerPlatform development projects.

1.            What is Azure DevOps Pipelines? Azure DevOps Pipelines is a cloud-based service that enables you to create, test, and deploy applications with speed and efficiency. It provides a robust set of tools for continuous integration, continuous delivery (CI/CD), and release management. By incorporating Azure DevOps Pipelines into your Power Platform projects, you can automate build, test, and deployment processes, ensuring consistent and reliable software delivery.

ADO Pipeline monitoring in Power Apps

2.            Key Benefits of Azure DevOps Pipelines for Power Platform:

a. Seamless Integration: Azure DevOps Pipelines seamlessly integrates with Power Platform, offering a unified environment for managing the entire application lifecycle. From version control and code collaboration to automated deployment and monitoring, all development stages can be orchestrated within a single platform.

b. CI/CD Automation: By configuring continuous integration and continuous deployment pipelines, you can automate the process of building, testing, and deploying Power Platform solutions. This not only saves time but also reduces human errors, ensuring consistent quality throughout the development lifecycle.

c. Version Control and Collaboration: Azure DevOps Pipelines provides version control capabilities, allowing multiple developers to work on the same Power Platform solution concurrently. With features like branching, merging, and pull requests, you can manage code changes effectively and promote collaboration among team members.

d. Agile Project Management: Azure DevOps Pipelines integrates seamlessly with Azure Boards, enabling you to manage and track work items, backlog, sprints, and project progress effectively. This integration ensures that the development process aligns with Agile methodologies, facilitating transparent communication and enhanced project visibility.

e. Extensive Library of Tasks: Azure DevOps Pipelines offers an extensive library of pre-built tasks that can be easily customized and configured to meet the specific requirements of your Power Platform projects. From environment provisioning and solution packaging to testing and deployment, these tasks provide a comprehensive set of tools for efficient project management.

I hope this blog helps you understand the benefits of leveraging ADO Pipelines with #PowerPlatform. In my next blog I will write more about how to use ADO Pipelines and #PowerPlatform better together.

Thanks for reading



Sunday, March 26, 2023

Dynamics 365 - 2023 Wave-1 - Customer Service part-1

 We are back again, this time for the 2023 wave-1 update on Microsoft Dynamics 365. This blog will focus on some of the Dynamics 365 - Customer Service update that can be expected in April 2023.

1. Knowledge base updates . I have worked with many clients who are using the built in Microsoft Dynamics 365 knowledge base (KB). Clients service reps are using the knowledge base articles available in the Customer Service app in a call center environments. Many of the Clients also showcase the knowledge base articles on their Customer or Partner Portal.

Now the Customer Service Reps can add the KB articles to their favorite list. This helps them to refer back to the KB articles quickly.   This is shown in the pic below.

Mark KB article as favorite

Additionally now you can add external sources as knowledge base. This will help organizations that have the KB stored in for example Sharepoint to upload the KB articles and make it available for the Customer Service agents to do a search. I think this is very useful for Clients who have an existing Knowledge base site.

This is enabled by adding External Search Providers in the Customer Service Admin App > Agent experience > Knowledge section. Refer to the pic below.

External Search Provide options

 There are 3 options to add external search providers 

1. Cross Organizational Search - This will allow you to select any Dynamics 365 org within the same tenant. Thus you can add the KB articles from another org into your Dynamics 365 org.

2. SharePoint - You can add any SharePoint site URL within the same tenant. If you are maintaining a SharePoint site with information, you can add the URL and the users will be able to do a search for information on the SharePoint site from within Dynamics 365.

3. Microsoft Graph connector - If you have implemented Microsoft Graph you can add the connection ID.

One thing to note is that the Customer Service Rep doing the External Search will also need access to the external data in SharePoint or Dynamics 365 org or the Graph connector.

Below pic shows how the external data will show up when doing a KB search from within a Case record. 

External Search Results
Microsoft uses AI to analyze and show the relevant search results from both internal and external sources.
Hope this helps to enhance the KB article and search experience for your users. I will write more about other topics in Wave-1 release.
Thanks for reading.


Monday, November 28, 2022

What's New in Power Platform - Process Mining

 This is a continuation of my blog series - What's new in Power Platform for the 2022 Release 2. This time the focus is on Process Mining using the Process Advisor. I will discuss here the need for a business process review and how a tool like process advisor can be useful for the organization. There are some paradigms to reflect upon,

"That's how we have always done it"

Organizations have been running business processes for ages on their ERP / CRM platform of choice. The processes may get modified over time and there may be "process debt" which is some old process that is still leftover in place because that was the way the system was set-up. In fact I have asked many clients why they do it in a certain way and the most common answer was "that's how we have always done it here!!"

"We are special" 

Another common answer to the question is "we are special" or "our business is unique". Every client is unique in the way they want to operate their business processes and that can create an ego issue when recommending solutions. I have worked with Clients who have changed their Systems three times but they refused to modify their business process. It is always the systems fault!!

"You cannot improve what you cannot measure"

I normally look for quantifiable data to prove to the client the benefits of a process change. When I ask the Client for any measurement on their business process KPI's they are looking at me as if I am from another planet. What's the point of implementing a system whose performance you cannot measure? How do you ensure the process is working or not? How do you plan to improve??

 That is where the Process Mining can help. It may be time to re-evaluate your current CRM / ERP processes. This will help in -

1. Setting a baseline - How are we doing today? How fast do we complete a Customer support case? What is our Lead to Opportunity conversion ratio?

2. Identify process bottlenecks - What is the longest stage / step in providing a Customer quote? Where does the Case gets stuck the most? How many variants of the process are there?

3. Automate - Identify what can be automated? Provide a business case for automation? How much can we decrease the Call Center agent time by automating certain steps? Do we really need to wait for an approval for all Cases? 

4. Re-evaluate your process - Is it required? obsolete? What are the competitors doing? What can we improve? Are we in compliance?

 Microsoft has recently announced the public preview of the Process Mining capabilities with Minit and Power Automate Process Advisor. 

Process Mining - map and dashboard

Some of the new capabilities added to the Process Advisor are detailed here -

Highlights -

  • Improved web experience 
  • New Minit Desktop App for deeper analytics 
  • Customizable reporting using Power BI and new pre-built templates

In order to get all the benefits of Process Mining you may require multiple licenses that includes - Power Automate per user, Power BI premium, Microsoft Dataverse etc. If you already have all the required licenses why not try and make use of Process Mining today?

I will write more about the new Process Mining capabilities in my future blogs. Till then let me know what is your thoughts on Process Mining and how it can help to change your business processes. Thanks for reading.



Monday, October 31, 2022

What's New in Power Platform - 2022 Release wave 2 - Managed Environments

       It is that time of the year for reviewing what's new in Microsoft Power Platform for the 2022 Release Wave-2. In addition to the many enhancements to the existing functionality there are also new features that are being added. In this blog I am reviewing the new capability of Managed Environment.

As the Power Platform is becoming mainstream in the enterprise domain, there is the need to set boundaries and maintain governance. Just like the new shiny toy that every kid on the block wants as present, the power platform, once introduced to the users, they will want to play with it. The power users want to try, make and see what is the realm of possibilities with and within the platform. They will find out sooner that it has a lot to offer and all with no code or less code. This can get out of control very fast same as the gold rush!!

Microsoft has realized the problem at hand and provided apps and guidance for managing the power platform. This guidance came in the form of the excellent - Power Platform Center of Excellence kit. To add to that Microsoft is also releasing the Managed Environments capability.

What is a Managed Environment ?  Managed Environments is a suite of capabilities that allows admins to manage Power Platform at scale with more control, less effort and more insights. Basically to do more with less.

Note - One of the requirements for an environment to be enabled as Managed Environments is that all the users in the environment should have premium usage rights for example - a Power Apps or Power Automate - per user or per app per user stand alone plan. 

Managed Environments elements

Currently there are 3 elements of Managed environments and I hope more are added in the near future.

1. Limit Sharing - This helps to prevent makers from sharing Canvas Apps with security groups and also limit the # of people the app can be shared with by the makers.

Limit Sharing
This is useful in a Dev environment you want the maker to to limit sharing and test it before sharing the app to other users. This will also limit the # of apps that a user sees in the environment.

2. Usage Insights - This provides a weekly email digest for Power Platform admins and Dynamics 365 Services Admins on the Managed Environments. The email gives insights as below -

Active apps / flows / users in the last month
This shows how is the adoption rate of the apps. A graph of the active app users will be more useful to show the growth of adoption over time.

Last time the app was used

This shows what apps are no longer being used. IT can ask the maker to remove / delete the app if it is no longer being used. Good for keeping the environment clean and useful.

Most useful apps and flows

This shows the top run apps and flows. Makers can learn from the top used apps / flows and update their apps.

3. Data policies - This shows all the data policies applicable to the managed environment. 

Applicable Data Policies

I will update my blog as new elements and capabilities are added for Managed Environments a step in the right direction to do more with less. I hope this helps you in deciding upon and enabling Managed Environments capability.

Thanks for reading. 

@mihircrm | 365WithoutCode

Friday, September 30, 2022

Enhancing legacy ERP systems with Microsoft Power Platform

On-premise ERP Systems have been the default system of record for the past 30+ years. They are the legacy systems used by millions of business globally which are running strong but lack modern technology. Organizations can find it difficult to improve their business processes and user experience without upgrading or moving the systems to a new cloud-based ERP application like Microsoft Dynamics 365. Organizations may also have challenges finding the necessary talent to incorporate complex AI / ML with their existing on-premise legacy apps. 

One option is to use Microsoft Power Platform to enhance the legacy ERP experience. Microsoft Power Platform is a low code application platform (LCAP) that provides multiple components (refer below figure) to use with existing system of records and add new technological capabilities. This blog discusses some of the business process automation that can be enabled by Microsoft Power Platform.

      #1 - Order to invoice process – Consider the scenario of a order to invoice business process. Typically, a customer sales order is received from website or email as an attachment and entered into the CRM or ERP system. This leads to the user creating a purchase order in the legacy ERP system to procure materials or products from the supplier. Supplier processes the PO and ships the products to the Customer (drop ship). Supplier sends packing slip and invoice to the business.  The business user invoices the customer. In a legacy ERP system, this can be a very manual, error prone and time-consuming process as the volume of orders increases.  

Order to Invoice process

This process can be automated and here are some scenarios where Microsoft Power Platform can be used along with the legacy ERP application.

  1. Automate Order Entry – Using Power Automate the entering of the order from email or as an attachment can be enabled. Power Automate cloud flow can trigger AI builder to scan and read the email attachment and capture the items that are ordered by the Customer. The cloud flow can trigger a Power Automate Desktop flow to enter the ordered items in the Legacy ERP system.
  2. Automate Vendor Invoice entry – As above the Power Automate can also be used to automate the vendor invoice entry into the legacy ERP system.
  3. Email to Customer – Power Automate can be used to trigger an order delivery email to the Customer when a Packing Slip is received from the Vendor.

There are many such use cases that can be automated using Microsoft Power Platform. An example of utilizing Microsoft Power Platform along with SAP CRM and SAP ERP applications is also shown below.

In this example Azure Data Factory is used to get data from SAP CRM and into Azure SQL. Then Power Automate flow and AI Builder is triggered to complete the automation.

Some other examples of using Microsoft Power Platform are also discussed below. 

#2 - Customer Chat-bot - Power Virtual Agent can be used on the Portal to answer queries from Customer. Customer goes to the Portal and want to know the status of the order. Power Virtual Agent can be enabled to trigger a Power Automate Flow to query the database and get status of the order and provide the information to the Customer. The Chat-bot capability can also be enabled to assist in answering queries on product inventory and pricing.

#3 - Gain business insights – Power BI can be used to develop visuals and dashboards to gain insights from business data. Power BI can connect to legacy on-premise systems using the data gateway. Power BI Desktop can be used to develop powerful visuals dashboards. Power BI can help empower business users to work with the data, model complex business scenarios and get insights they need to take actions and business decisions.   

Microsoft Power Platform as a low code app platform can help to empower your employees to do more with your existing legacy applications. Hope this makes you to try one of the Power Platform products. Do let me know about your experience using Microsoft Power Platform with your existing legacy applications.

Thanks for reading.