Data now assumes a common role in controlling software logic, in the form of application parameters or configuration data. Yet this critical data often sidesteps the careful controls which are in place for source code changes. The business need to adapt quickly often conflicts with the careful controls in place to manage source code changes.
Business users sometimes realize they can bypass these controls by changing settings or configuration data, to immediately change the course of the running application. What was once hard-coded and carefully controlled can now be dynamically reconfigured. It is considered chaotic to change code ‘in the fly’ hence this rarely occurs on-purpose. Changing configuration data ‘on the fly’ however is often all too easy.
Even when authority to change configuration data is restricted to just IT staff the problem still persists. Without implementing similar careful controls on configuration data changes as we have for source code changes, developers and testers can easily introduce undesirable consequences, either by accident or deliberately.