Reference architectures and Scrum: friends or foes?

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).

[1]  Philipp Diebold,et al.  A Multiple Case Study on the Architect's Role in Scrum , 2016, PROFES.

[2]  Florence March,et al.  2016 , 2016, Affair of the Heart.

[3]  Roel Wieringa,et al.  Design Science Methodology for Information Systems and Software Engineering , 2014, Springer Berlin Heidelberg.

[4]  Peng Liang,et al.  A systematic mapping study on the combination of software architecture and agile development , 2016, J. Syst. Softw..

[5]  Matthias Galster,et al.  Architects in Scrum: What Challenges Do They Face? , 2016, ECSA.

[6]  Xiaofeng Wang,et al.  On the Unhappiness of So ware Developers , 2017 .

[7]  C. Martin 2015 , 2015, Les 25 ans de l’OMC: Une rétrospective en photos.

[8]  Eoin Woods Aligning Architecture Work with Agile Teams , 2015, IEEE Software.

[9]  Xavier Franch,et al.  Aggregating Empirical Evidence about the Benefits and Drawbacks of Software Reference Architectures , 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[10]  James Noble,et al.  How Much Up-Front? A Grounded theory of Agile Architecture , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[11]  Uwe Friedrichsen Opportunities, Threats, and Limitations of Emergent Architecture , 2014 .

[12]  Michael Weyrich,et al.  Reference Architectures for the Internet of Things , 2016, IEEE Software.

[13]  Muhammad Ali Babar,et al.  Agility and Architecture: Can They Coexist? , 2010, IEEE Softw..

[14]  Muhammad Ali Babar,et al.  Agile Software Architecture: Aligning Agile Processes and Software Architectures , 2013 .

[15]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[16]  Paul W. P. J. Grefen,et al.  A framework for analysis and design of software reference architectures , 2012, Inf. Softw. Technol..

[17]  Pekka Abrahamsson,et al.  On the Unhappiness of Software Developers , 2017, EASE.

[18]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[19]  Rick Kazman,et al.  Toward Agile Architecture: Insights from 15 Years of ATAM Data , 2015, IEEE Software.

[20]  Thomas Kuhn,et al.  Embedded-Software Architects: It's Not Only about the Software , 2016, IEEE Software.

[21]  Michael Keeling Lightweight and Flexible: Emerging Trends in Software Architecture from the SATURN Conferences , 2015, IEEE Softw..

[22]  A. James 2010 , 2011, Philo of Alexandria: an Annotated Bibliography 2007-2016.