What should you expect when upgrading your ERP solution? In a word: disruption– at least a little bit.
If you use your Enterprise Planning (ERP) solution in a 100% vanilla-manner, then this probably doesn’t apply to you. For the rest of us, direct involvement is required to ensure that the configurations and customizations made to your existing solution work as needed in the upgraded solution.
Addressing Potential Conflicts When Upgrading Your ERP
Specifically, you and your partner will need to address potential conflicts between 1) what was done to cater the existing solution and data to meet business needs and 2) what the software vendor has added to the out-of-the-box solution in the more recent version(s). Whether your ERP solution handles those customizations directly in the business logic, as added layers, or completely external to the system, conflicts will inevitably occur.
Your partner will help address those conflicts by enhancing data upgrade tools to include your structural changes, merging your custom business logic into the new solution, possibly removing customizations no longer needed, addressing any security changes needed for the new version, and generally testing the system to ensure consistency.
Your team will be impacted to a moderate degree - in testing iterations, possibly some joint-process-(re)design sessions and, in some cases, formal end-user acceptance testing. Likewise, the release of the upgraded application and environment will probably cause efficiencies to decrease slightly in the short-term as everyone gains familiarity with changed interfaces, new functionality and altered workflows.
On the bright side, and unlike remodeling a house (using the analogy from Part 1 of this series), an upgrade project does not actually impact your live environment until the release/go-live date. Therefore, during the project, you are not trying to work in a kitchen without counters or a room without flooring. Your use of the existing production ERP solution should not be limited in any way until you finally execute the upgrade at go-live.
A Typical Upgrade
A typical upgrade includes the following phases (order may vary depending upon project approach and business requirements):
- Technical Upgrade: Your partner merges code from the current version of the application to the new version of the application
- Server / Environment: You partner or your internal IT staff builds or updates the server and infrastructure to support new application
- Test Data Upgrade 1: A test instance of the application is loaded onto your network, generally including an initial pass at upgrading your data
- Integrations: External systems with integrations or touch-points to the application are duplicated in a test environment (or redirected as needed for testing)
- Key Training: Key users are trained on the new version of application
- Test Workflows: Key users test the new version of application
- Iterative Changes: Any reported issues, workflow conflicts, or security conflicts are reported to the partner and are addressed
- Test Data Upgrade 2: [Optional] A second test run of the upgrade is performed – typically if some data conversion issues were discovered in testing
- End User Training: Key users train end users
- User Acceptance Testing: End users test their respective processes - for workflows, outputs and permissions
- Go/No-Go Decision: Go-live / conversion date is confirmed (with conversion activity typically targeted for a weekend)
- Release: Go-live / release of upgraded solution
- Support: Post release partner support and issue resolution
Approach to Testing
Unfortunately, this process is not perfect unless you overspend to avoid any potential fallout. With that in mind, there are generally two ends of the spectrum when we consider the approach to testing:
- On one end of the spectrum, no testing is performed and any conflicts or issues with the code and data migrations are addressed after go-live. In fairness, this approach is often the cheaper one – even when post-release costs are included. Unfortunately, it also increases user frustration, limits adoption and acceptance of the new solution and leaves your whole team with a general distaste for the product and upgrade process.
- On the other end of the spectrum is over-testing. The argument here is for spending whatever it takes, in terms of hard dollars and internal resource time, to ensure that not a single surprise surfaces after go-live. While obviously much more expensive, this approach also tends to “burn out” the users on the product and their own processes. In return, the go-live will almost assuredly be worry-free.
The reality is that you should fall somewhere in-between – based on your budget, user preparation for some iterative post-go-live pain and the time-sensitivity of your processes and data. If your go-live is fully pain-free, then you 1) may have over-invested in testing or 2) had no conflicts in your customizations or 3) got very, very lucky. Instead, you should aim for full testing of critical processes and light-to-moderate testing of non-critical processes. If you are able to then absorb the incidental issues arising after go-live within the first few weeks, you have probably struck the perfect balance.
If you're considering whether or not to upgrade your solution, find out more information on the topic and our organization at stoneridgesoftware.com
As Director of the Microsoft Dynamics NAV Practice at Stoneridge Software,Sean Solberg is a veteran of many upgrades and implementations.Stoneridge Software is a Fargo, ND and Minneapolis, MN area Dynamics AX and Dynamics NAV partner. If you're researching an ERP implementation or considering an upgrade to your solution, contact the experts at Stoneridge Software: 612-354-4966 or info@stoneridgesoftware.com.
by Stoneridge Software