  Software architecture is critical in succeeding with DevOps. However,
designing software architectures that enable and support DevOps (DevOps-driven
software architectures) is a challenge for organizations. We assert that one of
the essential steps towards characterizing DevOps-driven architectures is to
understand architectural design issues raised in DevOps. At the same time, some
of the architectural issues that emerge in the DevOps context (and their
corresponding architectural practices or tactics) may stem from the context
(i.e., domain) and characteristics of software organizations. To this end, we
conducted a mixed-methods study that consists of a qualitative case study of
two teams in a company during their DevOps transformation and a content
analysis of Stack Overflow and DevOps Stack Exchange posts to understand
architectural design issues in DevOps. Our study found eight specific and
contextual architectural design issues faced by the two teams and classified
architectural design issues discussed in Stack Overflow and DevOps Stack
Exchange into 11 groups. Our aggregated results reveal that the main
characteristics of DevOps-driven architectures are: being loosely coupled and
prioritizing deployability, testability, supportability, and modifiability over
other quality attributes. Finally, we discuss some concrete implications for
research and practice.
