Mitigating Configuration Differences Between Development and Production Environments: A Catalog of Strategies
Marcos Nazario, Rodrigo Bonifacio, Gustavo Pinto
TL;DR
This paper investigates how software organizations mitigate configuration differences between development and production environments within a DevOps context. Using 17 semi-structured interviews analyzed via Thematic Analysis, it derives a catalog of eight concrete strategies (e.g., Automated Deployment Pipeline, Build Profiles Management, CMP, and PaaS/Web Server configurations) and examines their perceived sufficiency, benefits, and challenges. Two higher-order themes—Data Governance and Management, and Operational Efficiency and Effectiveness—are integrated into a Data-Driven Operational Excellence framework to explain how these practices interact to improve reliability, performance, and compliance. The study provides practical guidance for tailoring configuration-management approaches to organizational context and highlights the ongoing need to balance automation with governance, scalability, and security.
Abstract
Context: The Configuration Management of the development and production environments is an important aspect of IT operations. However, managing the configuration differences between these two environments can be challenging, leading to inconsistent behavior, unexpected errors, and increased downtime. Objective: In this study, we sought to investigate the strategies software companies employ to mitigate the configuration differences between the development and production environments. Our goal is to provide a comprehensive understanding of these strategies used to contribute to reducing the risk of configuration-related issues. Method: To achieve this goal, we interviewed 17 participants and leveraged the Thematic Analysis methodology to analyze the interview data. These participants shed some light on the current practices, processes, challenges, or issues they have encountered. Results: Based on the interviews, we systematically formulated and structured a catalog of eight strategies that explain how software producing companies mitigate these configuration differences. These strategies vary from 1) creating detailed configuration management plans, 2) using automation tools, and 3) developing processes to test and validate changes through containers and virtualization technologies. Conclusion: By implementing these strategies, companies can improve their ability to respond quickly and effectively to changes in the production environment. In addition, they can also ensure compliance with industry standards and regulations.
