Abstract
Software reference architectures potentially constrain the flexibility of software design by imposing and sometimes even fixing architectural decisions and structures early. This seems to contradict agile values, principles and practices which acknowledge flexible and changing software requirements and the need to adapt architectural designs accordingly. To increase our understanding of how reference architectures are used in agile software development projects, we conducted an exploratory case study in two Dutch software developing organizations. Both organizations use Scrum as their agile framework. Preliminary findings reported in this short paper indicate that a) some aspects of reference architectures are not specific to using them in agile development projects with Scrum (e.g., types of reference architectures used; limited design choices), and b) reference architectures can support cross-functional and self-organizing teams, and help increase architectural focus in contexts where architectural thinking tends to be neglected.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
VersionOne Inc.: 8th Annual State of Agile Survey (2014)
Diaz, J., Perez, J., Alarcon, P.P., Garbajosa, J.: Agile Product Line Engineering - A Systematic Literature Review. Software - Practice and Experience 41, 921–941 (2011)
Governor, J., Hinchcliffe, D., Nickull, D.: Web 2.0 Architectures - What entrepreneurs and information architects need to know. O’Reilly Media / Adope Developer Library, Newton, MA (2009)
Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley, Boston, MA (2004)
Nakagawa, E.Y., Oliveira Antonino, P., Becker, M.: Reference architecture and product line architecture: a subtle but critical difference. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 207–211. Springer, Heidelberg (2011)
MartÃnez-Fernández, S., Ayala, C.P., Franch, X., Martins Marques, H.: Benefits and drawbacks of reference architectures. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 307–310. Springer, Heidelberg (2013)
Angelov, S., Grefen, P., Greefhorst, D.: A Framework for Analysis and Design of Software Reference Architectures. Information and Software Technology 54, 417–431 (2012)
Angelov, S., Trienekens, J., Kusters, R.: Software reference architectures - exploring their usage and design in practice. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 17–24. Springer, Heidelberg (2013)
Ali Babar, M., Brown, A., Mistrik, I.: Agile Software Architecture - Aligning Agile Processes and Software Architectures. Morgan Kaufman (2013)
Abrahamsson, P., Babar, M.A., Kruchten, P.: Agility and Architecture: Can they Coexist? IEEE Software 27, 16–22 (2010)
Yin, R.K.: Case Study Research - Design and Methods. Sage Publications, London (2009)
Robson, C.: Real World Research: A Resource for Social Scientists and Practitioner-researchers. Blackwell Publishers, Oxford (2002)
Vogt, P.: Dictionary of Statistics and Methodology - A Non-technical Guide for the Social Sciences. Sage Publications, Thousand Oaks (2005)
Runeson, P., Hoest, M.: Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14, 131–164 (2009)
Gerring, J.: Case Study Research - Principles and Practices. Cambridge University Press, Cambridge (2006)
Strauss, A.C., Corbin, J.: Basics of Qualitative Research: Grounded Theory Procedures and Techniques. Sage Publications, Thousand Oaks (1990)
Miles, M.B., Huberman, A.M.: Qualitative Data Analysis. Sage Publications, Thousand Oaks (1994)
Adolph, S., Hall, W., Kruchten, P.: Using Grounded Theory to Study the Experience of Software Development. Empirical Software Engineering 16, 487–513 (2011)
Krippendorff, K.: Content Analysis: An Introduction to its Methodology. Sage Publications, Thousand Oaks (2003)
Noblit, G.W., Hare, R.D.: Meta-Ethnography: Synthesizing Qualitative Studies. Sage Publications, Newbury Park (1988)
Wohlin, C., Hoest, M., Henningsson, K.: Empirical research methods in software engineering. In: Conradi, R., Wang, A.I. (eds.) Empirical Methods and Studies in Software Engineering. LNCS, vol. 2765, pp. 7–23. Springer, Heidelberg (2003)
Easterbrook, S., Singer, J., Storey, M.-A., Damian, D.: Selecting empirical methods for software engineering research. In: Shull, F., Singer, J., Sjoberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 285–311. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Galster, M., Angelov, S. (2015). Understanding the Use of Reference Architectures in Agile Software Development Projects. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds) Software Architecture. ECSA 2015. Lecture Notes in Computer Science(), vol 9278. Springer, Cham. https://doi.org/10.1007/978-3-319-23727-5_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-23727-5_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23726-8
Online ISBN: 978-3-319-23727-5
eBook Packages: Computer ScienceComputer Science (R0)