D365FO ALM & Continuous upgrade
There are unique challenges which has come up for the Dynamics 365 Finance & operations (D365FO) project managers and technical persons with the introduction of 'One version' and continuous upgrade. The concept of 'One version' is very simple - same as what we have on the application of our mobile phones. Whenever a new version of an application is available, we get a prompt to upgrade it, we click, it downloads/installs and it just works fine (well, in most cases) with all our previous data. The same concept Microsoft has adopted with D365FO ERP.
ERP is no simple application. It is meant for business and two businesses are never the same. Their business processes are unique so it is almost always get customized unlike what we do in our mobile phone applications. And that's where the complexity comes up. How to seamlessly upgrade a product which is customized.
Coming back to the original challenge which the D365FO project team faces during different stages of project lifecycle. First lets take a look at challenges when the project is in pre-development or development phase.
Remember that Microsoft only allows to pause 3 consecutive updates to any D365FO customer, and after that 4th update mandatorily flows into the production environment. Microsoft releases updates which are only semi-predictable; like one can't tell today that total how many updates will Microsoft give to the product and in which months in next year. Exact dates for update release comes only few months in advance. For a long running development project (6months+) it is a challenge. Which version will you do fit-gap, may be another version you'll end up doing development and another for UAT. How to avoid this situation?
Well, you can't avoid it completely but plan better to avoid its impact on your project. Its better to take the impact of the change in early phases of the project, rather than near UAT or going-live.
1. Use agile approach in your project. So that smaller code artifacts can be keep upgraded to newer versions.
2. Keep your dev-boxes with latest version; as soon as it is generally available. This way you'll figure out the conflict early on and avoid last minute bugs/fixes.
3. Provision for one such upgrade each month in your project plan. This provision should be for upgrading the sandboxes, functional test and fix for existing development.
4. Before going into UAT, make sure that you are in the latest version of the product. Even if you have a lengthy UAT, it will be unlikely that Microsoft releases so many versions that you have upgrade before going live.
If above rules are applied, then you can avoid any major impact on your project delivery due to newer versions being released.
Now let's think the problem from the maintenance point of view. A company which is already live on D365FO wants to focus on its business and not the software upgrades coming every month. They may also not have a loaded IT team to analyze the upgrade and see how well it fits with existing customizations. They can do two things for smooth functioning of their business
1. Prepare an automated testing suite (RSAT tool or otherwise) for, at minimum, their key business processes.
2. Invest in either an in-house IT person or sign up a support agreement with a partner. Whenever a new version becomes available, this agency /person can prepare sandbox with newly released build, run the automated tests on it, check and fix any customization, if required, and deploy the final build on production.
-------------------------
Disclaimer - Images copyrights of their respective owners.
Very good write up Deepak. Thank you!
ReplyDeleteNice Article Deepak...
ReplyDelete