We've come a long way already! Here's what we've completed:
1. Reviewed all our customizations and determined what we didn't need or use anymore. For those we decided to retain, we validated that they were still in working order or made the adjustments necessary to continue to use them.
2. Built new servers with upgraded versions of operating systems and applications. Besides Dynamics AX itself SQL, Windows Server, remote desktop services, PowerShell, SharePoint, Management Reporter, and Excel were upgraded.
3. Created our upgrade script (view previous post upgrade script here) starting from the Microsoft published documentation. Each company's upgrade will have their own nuances depending on your configuration and specific version. Our DBA/system administrator stepped through the documented upgrade script and made his own script with additional notes and details. Through our testing, we found additional steps that needed to be added to make our system functional. There were also some things learned along the way that adjusted some steps.
4. Built our gold modelstore (view prior post on gold modelstore). This is your starting code base. One of the early steps of the upgrade in place process. The gold modelstore is vanilla CU9 with any VAR, ISV, CUS and USR layer models from your production environment and any adjustments you need to make to have a clean compile.
5. Determined additional models to make our final code base that we'll take to production. From our testing and validation of customizations, there were updates to code that we made. Some came in the shape of hot fixes from Microsoft and our ISVs as well as code fixes related to our customizations. We are also including a few additional enhancements that were identified by the business.
What we have left to do:
1. Final round of testing. Our DBA/system administrator will walk through a final dry run of our upgrade script. Included in the script will be updated model from our implementation partner, a hot fix from one of our ISVs, and our internal development model. We'll execute a mini regression test touching on key functions and integrations.
2. Coordinate with the business. Communications have already occurred to select an appropriate downtime window that will work with the business. Planned are various notifications: an early communication of the upgrade schedule, a notification day of, and of course updates when the system comes down and when it will come back up.
3. Create a detailed cutover plan. Besides executing our unique upgrade script (#3 above), there are the steps that we need to perform ahead of the upgrade script and then what we'll do after. Ahead of the upgrade scripts, we want to insure that the system is shut down to all users, we've completed a a final run of batch invoicing, load revenue and backlog to the data warehouse, shut down all integrations to/from AX, and back up the environment. After the upgrade script is complete, there are some additional configuration steps to perform, code migrations of related and affected applications. Then we'll perform a smoke test of key functions and integrations before making the announcement to the user base that the production system is back online and upgraded.
Then it will be all hands on deck from IT and the project team to answer questions and fend off any go-live issues. Hopefully it will be minor familiarization type issues and the project team can go outside to experience the solar eclipse!