Why invest in a development environment? First, it is an industry best practice to avoid doing development activities in a production environment. The development environment is where all software code changes should be made and tested. Here’s why:
- Regression testing is the testing done to make sure that new code changes don't have side effects on existing system functionalities. Done right, regression testing takes time, which means extended production downtime without a development environment;
- Microsoft is no longer friendly in supporting legacy software, which means you don't have the luxury of postponing upgrades like you may have done in the past;
- It is also an industry best practice to install security patches immediately, not at the next available maintenance window. That means your best practices dictate that system maintenance be more of an ongoing activity;
- Without a development environment, maintenance windows are limited to nights and weekends. You would be at risk of having to pay overtime for upgrades etc.;
- Not all development activities go as planned. Because every system is unique, scheduled patches and software upgrades can cause unforeseen problems which ripple through the system and bring it down for a prolonged period. Using a production environment for development activities is a poor operational practice.
The best way to think of a development environment is as an inexpensive insurance policy. It will give you peace of mind knowing that changes to your system will have zero operational impact on your company, even in the event of a worst-case scenario.