Towards Continuous Deployment at Scale in Software-Intensive Embedded Systems: A Maturity Model from the Telecommunications Domain
Paper i proceeding, 2024
Continuous deployment aims to reduce the deployment cycle of new software, enabling software development companies to deliver new and improved functionalities to customers faster and more frequently. In software-intensive embedded systems, continuous deployment is often introduced as a subsequent step to continuous integration. While several empirical studies explored the transition from continuous integration to continuous deployment from several aspects, such as challenges, benefits, and success factors, these studies remain limited as they focus on applying continuous deployment to a small subset of the entire customer base. However, as software-intensive embedded systems are often high-volume products used and operated by many different customers, scaling continuous deployment becomes important to ensure that all customers perceive its benefits while at the same time enabling the software development organization to have one release and deployment cycle applicable to the entire customer base. Thus, to further understand the progression of continuous deployment from introduction to scaling, we conducted a longitudinal case study at a multinational telecommunications company producing complex telecommunications software-intensive embedded systems. Our results show that continuous deployment passes through four phases: R&D experiment, R&D core practice, as a service, and finally, continuous deployment supporting a result-oriented business model. Based on the results, we inductively derive a maturity model for continuous deployment, which we discuss based on the four dimensions of the BAPO framework (Business, Architecture, Process, and Organization).
Continuous deployment
Product Service System
Software-intensive embedded systems
Software evolution