The Dangers of Not Syncing Your Development, QA, and Production EnvironmentsAug 2, 2018
A Surprisingly Common Challenge
Ticking one box in your Warehouse Management System’s production server to slightly alter how a function works on the floor seems like pretty a harmless activity, right? What could happen?
The answer: a lot more than you bargained for.
From upgrade nightmares to difficulty implementing hot fixes and continuous improvement initiatives, having out-of-sync development and production environments can cause a host of issues for your team as they strive to meet the already daunting task of fulfilling customer orders on time. Unfortunately, this is an all-too-familiar challenge for many organizations.
How Environments Get out of Sync
Even if your business is used to regular audits to comply with industry or government regulations (e.g., Sarbanes-Oxley), it’s still easy to get out of alignment when it comes to servers. To complicate matters, many operations teams maintain only a development/sandbox environment and a production environment; there’s not a separate environment on which to test changes before they go live.
There are really two types of changes happening in your WMS. The first is configuration that alters processes in ways that enable you to streamline how associates complete tasks. The other type is vendor-supplied hot fixes that clean up system bugs or add incremental functionality enhancements. In both cases, if changes are implemented to either development or production environments without being tested and tracked, things can break.
Sometimes one person will be developing a change in the sandbox and another will push everything from the sandbox into production without realizing there’s coding that still needs to be completed or evaluated. This can cause the system to malfunction, leading to downtime and lengthy support calls. It’s a classic case of the right hand not talking to the left. Suddenly the system starts to behave differently and hamper your ability to execute on orders, and no one really knows what happened because the changes weren’t discussed or documented.
Time: Enemy Number One
The primary reason so many organizations find themselves in a tangle of misaligned environments is they are busy fighting fires throughout the day. They simply lack the time to carry out the necessary steps to properly test, document, and implement new fixes, modifications, and updates. However, considering the problems that can occur, they certainly don’t have time not to complete these activities.
What Happens When Environments Don’t Match
When environments aren’t synced, one of the first issues is any development being done in the sandbox may not be on the latest version running on the floor. Not only is this a waste of time, but it also will yield inaccurate test results once it goes to QA on the test server if that environment isn’t up to date either.
A well-crafted script can compare your environments to determine whether they match. If you discover that your development environment doesn’t mirror production, you can take the somewhat painful step of making a copy of the live environment and applying it to the existing development version to make them the same. This probably means you’ll lose a lot of data and any items being tested. It is also expensive in terms of both time and money.
Many companies have the unfortunate experience of finding out their environments don’t match when they go through a system upgrade. Once again, it will be an expensive proposition to find any discrepancies and determine what should be applied to the new version of the software. Or you may have to take the step of copying the production environment over the development environment as discussed above. Given that upgrades already put a lot of stress on time-strapped teams, try to avoid this by syncing environments from the get-go.
Best-Case Scenario: A Three-Part Environment + Change Management Strategy
Having three separate environments (development, QA, and production) is really the best way to set up the servers underlying your mission-critical distribution operations. In this way you can effectively work through code-based changes before they affect your live operations. By regression testing these updates you can ensure you get the expected results. If you don’t get the right results in QA, you have the opportunity to correct problems in the test environment without risk—and before your team is pressed to fulfill orders or receive shipments using a system that isn’t functioning properly if untested updates run amok.
It’s important to have the right controls in place for migrating changes and checking scripts, which is where your change management strategy comes into play. This includes establishing a good handoff process as well as checklists, timelines, and roadmaps for your system functionality. Discuss the proper steps for applying and testing hot fixes and configuration changes with all personnel who can access your WMS so they know what to do and how to document all steps involved. This includes the critical action of communicating update plans with other departments as required.
Growing a Culture of Continuous Improvement
Change management goes hand in hand with having a team that understands the importance of continuous improvement. Investigating ongoing opportunities to enhance your system is key to your ability to achieve new levels of efficiency. Especially if you’re experiencing growth, you need to be prepared. You want to have your overall system maintained in a way that you can take advantage of the latest vendor hot fixes and upgrades so you don’t get too far off the latest functionality.
Hopefully you’ve read this and given yourself a pat on the back for having all your ducks in a row. But if not, you likely have some work ahead of you. 4SIGHT can help you address any of the following steps at any point to either lead your efforts or supplement your existing team.
- Determine how far out of sync your environments have become by running a comparison script.
- Evaluate whether you can make manual changes to make necessary adjustments. If this isn’t possible, you can bite the bullet and copy your production environment over your development and testing environments.
- Once your development and production environments are in sync, consider adding a test environment if you don’t currently have one.
- Develop and document your change management process and share it with everyone who can affect the WMS.
- Introduce or refine your culture of continuous improvement so keeping your environments aligned becomes part of a larger initiative to innovate as often as possible and have a system ready for the latest vendor changes and upgrades.