Skip to search boxSkip to navigationSkip to main content

An empirical study of architecting for continuous delivery and deployment

  • Mojtaba Shahin
    ,
  • Mansooreh Zahedi
    ,
  • Muhammad Ali Babar
    ,
  • Liming Zhu
  • University of Adelaide
    ,
  • ,
  • Data 61 - Commonwealth Scientific and Industrial Research Organisation
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 1-48 (48 pages)

Journal (Volume, Issue Number)

Empirical Software Engineering

Publication milestones

  • Published - 2018

Publication status

Published - 2018

ISSN

1382-3256

Publication IDs

  • Scopus: 85053470066

Abstract

Recently, many software organizations have been adopting Continuous Delivery and Continuous Deployment (CD) practices to develop and deliver quality software more frequently and reliably. Whilst an increasing amount of the literature covers different aspects of CD, little is known about the role of software architecture in CD and how an application should be (re-) architected to enable and support CD. We have conducted a mixed-methods empirical study that collected data through in-depth, semi-structured interviews with 21 industrial practitioners from 19 organizations, and a survey of 91 professional software practitioners. Based on a systematic and rigorous analysis of the gathered qualitative and quantitative data, we present a conceptual framework to support the process of (re-) architecting for CD. We provide evidence-based insights about practicing CD within monolithic systems and characterize the principle of “small and independent deployment units” as an alternative to the monoliths. Our framework supplements the architecting process in a CD context through introducing the quality attributes (e.g., resilience) that require more attention and demonstrating the strategies (e.g., prioritizing operations concerns) to design operations-friendly architectures. We discuss the key insights (e.g., monoliths and CD are not intrinsically oxymoronic) gained from our study and draw implications for research and practice.

Publication metrics

PlumX, opens in new tab

Captures
192
Citations
46