Reference architectures and Scrum: friends or foes?
Document typeConference report
PublisherAssociation for Computing Machinery (ACM)
Rights accessOpen Access
Software reference architectures provide templates and guidelines for designing systems in a particular domain. Companies use them to achieve interoperability of (parts of) their software, standardization, and faster development. In contrast to system-specific software architectures that "emerge" during development, reference architectures dictate significant parts of the software design early on. Agile software development frameworks (such as Scrum) acknowledge changing software requirements and the need to adapt the software design accordingly. In this paper, we present lessons learned about how reference architectures interact with Scrum (the most frequently used agile process framework). These lessons are based on observing software development projects in five companies. We found that reference architectures can support good practice in Scrum: They provide enough design upfront without too much effort, reduce documentation activities, facilitate knowledge sharing, and contribute to "architectural thinking" of developers. However, reference architectures can impose risks or even threats to the success of Scrum (e.g., to self-organizing and motivated teams).
CitationGalster, M. [et al.]. Reference architectures and Scrum: friends or foes?. A: European Software Engineering Conference. "ESEC/FSE 2017: proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering". New York: Association for Computing Machinery (ACM), 2017, p. 896-901.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder