My AX 2012 Upgrade Project Plan - Analysis Phase
So, it was my job to be the boring PM that had to explain that no one was to start coding anything until the boring analysis phase was completed.
And I was right!
Critical success factor alert - Make sure your team (both technical and functional) understand the target version as well as the current version so they can make the right decisions for your upgrade.
For a few weeks, our technical team was divided into areas of interest in the system, and had the tasks to study the AX 2012 documentation, play with the AX 2012 sandbox to get to understand what we were dealing with. None of our team had expertise in AX 2012 really, we were really early adopters!
For every key area, both functional and technical team members had to develop a document that would describe the way we currently had implemented a pattern, describe the AX 2012 pattern, and then come up with a pros and cons analysis and a path to how to upgrade.
Knowing the task was a big one, we also had support from our management to engage with the AX R&D team. We spent a week in Bellevue which helped as an accelerator for our team. Also, while in Bellevue, we were able to validate our project plan, which is what I was most interested in.
Below are the details of the analysis phase of my project plan. You may have customizations in other areas so use this as inspiration not a template:
I divided the phase into requirements and technical analysis. Under requirements, I wanted us to really understand the target system we were going to land on. So, from infrastructure requirements (which I will write in a future post related to performance) to learning the upgrade framework and attend the sessions in Bellevue. To have this sink in, we ran a "dirty" iteration "0"/"R&D" upgrade to see what that looked like. Basically a "throw away" upgrade with no code fixes or data upgrade scripts ran. Kind of scouting the terrain before a battle :)
For the technical analysis, each team member had one or more areas to analyze with the output being an assessment and upgrade path decision. Every one presented to the team in our "team code review" sessions so we all could comment, contribute and learn from each other different areas of AX 2012.
Critical success factor alert - The upgrade decision matrix. This was the main artifact from this phase. In this document, we listed out all the impacted patterns, how we had it implemented in the current version, what options we had to chose from for the upgrade, the decision made and all reference materials and accompanying document from the technical analysis. Very useful document as it helps keep our focus on upgrading to patterns we would use and minimize unnecessary work on the upgrade.
Now, we did fail in one of these analyses, we did not really understand date effectivity, and that cost us a lot of headaches and rework! Basically, we had custom processes that used start dates and end dates. During the analysis, this looked like a pattern that should be upgraded to the date effectivity pattern. Well, in AX 2012 this meant something different and we had a lot of refactoring to do post upgrade. So, make sure to run team code reviews on the upgrade decisions you make! If you want to know details, let me know.
The functional team updated our functional fit gap analysis, but this document was less important for the upgrade for us, since we had a mandate of an apples to apples upgrade. No new features and requirements in the upgrade.
Critical success factor alert - Conduct a user experience analysis. We knew early the UI was going to change significantly and we used time to go visit all super users and do an analysis of all the forms used in our custom modules with the goal to remove as many "unnecessary fields" as possible. In addition to this "pruning" exercise, we would also bring up AX 2012 screen prototypes printed on paper to sit and write on with our users. This way we could do some UI design with them in a non-threatening way, and also reduce the number of fields to upgrade. I would say we eliminated 10-15% of fields, in hindsight we could have taken out 20-30%. So, challenge each fields value to your process.
Next, I will either answer questions from you or write up the design phase. Let me know!