Our Managed Services team is standing by, ready to get you set up on Live 365 or to answer your questions.
How to Plan for an Upgrade from Dynamics AX Code to Dynamics 365 for Operations
Microsoft has released its latest update to its flagship ERP solution Microsoft Dynamics AX in November 2016, and have rebranded it as ‘Microsoft Dynamics 365 for Finance and Operations’.
Microsoft Dynamics 365 for Finance and Operations is an ERP business application that is part of the Microsoft Dynamics 365 platform, a next-generation, cloud-based business management system that combines ERP and CRM capabilities within one seamlessly integrated platform.
For current Microsoft Dynamics AX technical users and developers though, the question of how to upgrade Dynamics AX code to Dynamics 365 for Finance and Operations has many people pondering. The process is really a matter of understanding how your business uses the system now– and that’s where an implementation partner comes in.
A trusted implementation partner has the industry expertise, in-depth understanding of business processes, and IT knowledge and resources to efficiently identify, plan, and execute the upgrade path that makes the most sense for your business. Relying on a system expert will help you get the job done successfully, in a timely and cost-effective manner.
Here are some considerations to keep in mind when planning a Microsoft Dynamics AX code upgrade.
Working with a Partner on a Microsoft Dynamics AX Upgrade
Currently Microsoft provides a direct upgrade path from Dynamics AX 2012 to Dynamics 365 for Operations. The code upgrade service in Microsoft Dynamics Lifecycle Services (the collaborative portal for managing updates and upgrades) currently accepts a model store file as an input, which essentially means that you can upgrade anything from Dynamics AX 2012 to Dynamics 365 for Operations.
When considering an upgrade path, however, it’s important to keep in mind the integrations your ERP system currently uses in order to operate properly and provide the data visibility you need. Smaller companies with minimal integrations can generally manage a system upgrade with their in-house IT team, but larger companies with a more complex IT infrastructure should leverage the expertise of an experienced Microsoft Dynamics implementation partner.
A veteran implementation partner (such as Hitachi Solutions) will be able to guide your company through the upgrade process unique to your organization, ensuring that your upgrade project runs smoothly, cost-efficiently, and delivers the system you need to run your business.
One thing to keep in mind is that Microsoft does not currently provide an upgrade path for older versions of Dynamics AX – Dynamics AX 2009 and AX 4.0 – to Dynamics 365 for Operations. What does that mean if you’re running a Dynamics AX 2009 or AX 4.0 instance?
Chances are you would be tempted to do a re-implementation. And with the huge investment that Microsoft has put into Dynamics 365 – all the powerful features and the cool new user interface – it would be worthwhile for your business to do so.
But just in case you want to wait, or you don’t want to undertake a total system re-implementation, an implementation partner can first help you upgrade your system to Dynamics AX 2012. It is a time-tested upgrade path, and with a Dynamics AX 2012 application, your partner would then be ready help take your system to the next level with Dynamics 365 for Operations (at the time that makes the most sense for your business).
Upgrade vs. Re-implementation: Which is Right for You?
Deciding whether you should upgrade your system or do a full re-implementation is contingent on the complexity of your current Microsoft Dynamics AX system, and the business management systems that it integrates with – which is why it’s so important to involve an implementation partner at the beginning of your evaluation.
An implementation partner has the knowledge and skill-set to help determine and guide the code upgrade path that’s right for your business and its various operations, from both functional and technical perspectives. The less time, energy, and resources you need to expend on your assessment and planning, the better; an implementation partner will reduce the headaches of the decision-making process by providing thought leadership and support from beginning to end.
An upgrade to Dynamics 365 for Operations from Dynamics AX 2012 would ideally involve two activities:
- Code upgrade: This is the process through which you upgrade your business logic, or ‘code’ in technical parlance.
- Data upgrade: This is the process through which business data is upgraded to the new data model.
We say “ideally” because Microsoft has not released a data upgrade service yet, which we expect to be available in 2017.
The alternative to an upgrade is a re-implementation. A re-implementation is similar to a full implementation and requires the new system version to be deployed from scratch, with the necessary business logic, opening balances and master data uploaded.
Having a partner that understands the bigger picture of your business and the nitty-gritty, everyday details of what you want your system to accomplish is critical in facilitating a seamless re-implementation project. An implementation partner with extensive industry and project experience will work closely with you on understanding what you need from your new system, and ensure that your implementation smoothly reaches desired milestones at each step of the project.
But there’s also another approach a business can take. This approach involves doing a code upgrade but going with the opening balance and configuring the master data. The important thing to note here is that Microsoft has a well-defined code upgrade service and a comprehensive and well-tested approach to upload data in Dynamics AX that partners can leverage – which makes this approach an attractive option to consider.
Pre-Requisites for a Code Upgrade
The code upgrade is done through Microsoft Lifecycle Services (LCS) so you need an LCS project to start with, which an implementation partner will be able to enable for you.
As mentioned earlier, you need a model store file (not database) from any Dynamics AX 2012 version. If your application is ready to go into upgrade mode, an implementation partner can set-up a Visual Studio Team Services (VSTS) project for managing the upgrade process.
VSTS has a lot of other functionality and is the “go to” ALM/Version control solution for Dynamics AX.
It’s a wonderful tool to manage your Dynamics AX journey and allows collaboration between all the stakeholders of a project – between both the organization and its implementation partner’s – in an efficient and transparent manner.
Actions that a partner will help you take before you start a code upgrade process (to make sure your system is all set):
- Remove unnecessary models in your model store. These may be test models created by developers, conflict models that get generated when you import hotfixes, or any other model which has features you don’t use. The fewer models you have, the easier the upgrade process; and chances are that a majority of the code will be auto-upgraded, leaving you with minimal manual effort.
- Make sure to upload a fully compiled model store that has no errors.
- Another consideration is the presence of ISV models in your model store. Check with your ISV partner on whether they already have a Dynamics AX-compatible version for their solution.
- If you have customized the ISV solution heavily to fit your needs, it might be a good idea to include your ISV model as part of the upgrade process. The upside is that you don’t have to re-write all the ISV specific customizations you have done in Dynamics AX, while the downside is that all your ISV code gets over-layered to the Platform, Foundation and Application Suite packages. This will potentially increase the complexity of patching and servicing your Dynamics AX solution in the future.
- If you include ISV code in the upgrade process, and if any platform or foundation objects are modified in the code, you have to remove the code from those packages and refactor the code in extension packages.
Microsoft provides a code upgrade service through LCS. There is no data upgrade tool available at the moment, so working with an implementation partner would be the best way to load master data and opening balances through the data entity framework. If you are already live on a newer Dynamics AX instance and want to upgrade to Dynamics 365 for Operations, a partner can use Runbooks to do the data upgrade.
- Convert to XML: All AOT objects are now in XML format. So this is the first thing the LCS code upgrade tool does.
- Re-baseline model Store: In this step, the model store is split into individual packages. This is nothing but a model spilt and is essentially the process of rearranging legacy metadata into individual packages. Dynamics 365 for Operations has three core packages: Application Platform, Application Foundation and Application Suite.
- Auto migration: Code migration takes place in this step using an over-layering principle. An over-layering principle is used to minimize complexity, but wherever possible an extension principle is also applied. According to Microsoft, the success rate of this process is 95% for code, and from our experience, the success rate is pretty close to that percentage. Hitachi Solutions has never encountered any issue where the code is dropped because of the upgrade tool.
- Conflicts and TODO: Upgrade service doesn’t resolve all the code merge scenarios and will generate code conflicts that will be flagged with TODO tags and comments that help you to resolve them later. Those can be resolved with a code merge tool provided in Visual Studio.
- Estimates and tasks to be solved: A brilliant feature of the upgrade service is the analysis it does on the uploaded model, and how it details tasks that need to be completed manually to finish the upgrade. The level of detail in this report is great for developers and technical consultants, and Microsoft even provides an approximate estimate of the effort required to manually resolve the conflicts. You can generate this report even without actually upgrading your model store, just to get an idea of the work involved.
- Migration report: If you run the upgrade service on an “estimation only” mode, you will get this report and the task list as the two main artefacts. Based on this you can plan your entire upgrade without actually doing it. This report is downloadable as an excel file.
- Create conflict projects in Visual Studio: For this step, a mandatory prerequisite is creating a connection between the Visual Studio Team Services (VSTS) project and Lifecycle Services. This is a one-time setup, and it helps during the entire phase of the project. Once the connection is established, LCS automatically creates conflicts project with relevant objects and checks in the solution to VSTS. A developer has to map their latest virtual machines (VMs) to this project to get all the source code. Start resolving conflicts from base packages like Application Platform, Foundation, Dimension, and Ledger by looking at the package dependency diagram. The code upgrade service also checks in the entire migrated metadata to a VSTS folder called ‘Release,’ Developers can get the migrated source code when they map to this folder from Visual Studio in their VMs.
- Auto-check in to Visual Studio Online (VSO) with work items: As a consultant or project manager, you can also track the progress of outstanding work. Once you link your VSTS project with LCS and complete the upgrade process, the service will create ‘work items’ in your VSTS project, which details the work required to be done to complete the upgrade. You can then assign these work items to developers in your team and track and manage them efficiently.
In Summary: Recommendations for Code Upgrades
Upgrading an extensively customized system, or re-implementing a new system, can both be easily handled by an implementation partner on your behalf. An experienced implementation partner has the knowledge, skill-set, and tools to get your new system up-and-running in the most cost-effective and efficient way possible, and configured exactly to your business needs and specifications. An implementation partner takes the guesswork out of what you need to do, helping you optimize your team’s productivity, your resources, and your project’s budget.
If you are upgrading from Dynamics AX 2009 or earlier, you can clean up unwanted code as you upgrade to Dynamics AX 2012. You should be aware though that some things work differently in Dynamics 365 for Finance and Operations and you might have to refactor your code in the upgrade process to make everything work the way you want it to. An implementation partner can help you through this process.
Microsoft is likely to release a standard tool for accomplishing a data upgrade in 2017, so you have the option to line up the code upgrade process and be ready for the tool when it is released. However, if you have an implementation partner, you don’t need to wait – the partner can take you through the data upgrade process now.
If you’re wondering how and where to begin the long and tedious process of migrating all your data over to the new solution, Microsoft has you covered; specially crafted state-of-the-art migration tools will do a lot of the heavy lifting for you.
The improved migration approach enables you to move to Dynamics 365 for Finance and Operations without having to do a full migration of historical data; you can choose what is relevant to your business and only migrate what you need.
Hitachi Solutions helps organizations across industries identify the upgrade paths that best suit their business needs and goals. Please contact Hitachi Solutions today for any questions on how to properly upgrade your Microsoft Dynamics AX system to Microsoft Dynamics Operations for Sales.