Abstract
[Context & Motivation] Requirements and architectural components are designed concurrently, with the former guiding the latter, and the latter restricting the former. [Question/problem] Effective communication between requirements engineers and software architects is often experienced as problematic. [Principal ideas/results] We present the Requirements Engineering for Software Architecture (RE4SA) model with the intention to support the communication within the development team. In RE4SA, requirements are expressed as epic stories and user stories, which are linked to modules and features, respectively, as their architectural counterparts. Additionally, we provide metrics to measure the alignment between these concepts, and we also discuss how to use the model and the usefulness of the metrics by applying both to case studies. [Contribution] The RE4SA model employs widely adopted notations and allows for explicitly relating a system’s requirements and architectural components, while the metrics make it possible to measure the alignment between requirements and architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ali, N., Baker, S., O’Crowley, R., Herold, S., Buckley, J.: Architecture consistency: state of the practice, challenges and requirements. Empirical Softw. Eng. 23(1), 224–258 (2018)
Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Technol. 8(5), 49–84 (2009)
Berry, D.M.: Evaluation of tools for hairy requirements and software engineering tasks. In: Proceedings of the RE Workshops, pp. 284–291 (2017)
Borg, M., Runeson, P., Ardö, A.: Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability. Empirical Softw. Eng. 19(6), 1565–1616 (2014). https://doi.org/10.1007/s10664-013-9255-y
Bosch, J.: Software architecture: the next step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24769-2_14
Bourque, P., Fairley, R.E., et al.: Guide to the Software Engineering Body of Knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press (2014)
Brinkkemper, S., Pachidi, S.: Functional architecture modeling for the software product industry. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 198–213. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15114-9_16
Cao, L., Ramesh, B.: Agile requirements engineering practices: an empirical study. IEEE Softw. 25(1), 60–67 (2008)
Cleland-Huang, J., Gotel, O.C., Huffman Hayes, J., Mäder, P., Zisman, A.: Software traceability: trends and future directions. In: Proceedings of the FOSE, pp. 55–69 (2014)
Cleland-Huang, J., Hanmer, R.S., Supakkul, S., Mirakhorli, M.: The twin peaks of requirements and architecture. IEEE Softw. 30(2), 24–29 (2013)
Cohn, M.: User Stories Applied. Addison-Wesley Professional, Boston (2004)
Coplien, J.O., Bjørnvig, G.: Lean Architecture. Wiley, Hoboken (2011)
Curtis, B., Krasner, H., Iscoe, N.: A field study of the software design process for large systems. Commun. ACM 31(11), 1268–1287 (1988)
Egyed, A., Grünbacher, P.: Automating requirements traceability: beyond the record & replay paradigm. In: Proceedings of the ASE, pp. 163–171 (2002)
Fernández, D.M., et al.: Naming the pain in requirements engineering. Empirical Softw. Eng. 22(5), 2298–2338 (2017). https://doi.org/10.1007/s10664-016-9451-7
Gayer, S., Herrmann, A., Keuler, T., Riebisch, M., Antonino, P.O.: Lightweight traceability for the agile architect. Computer 49(5), 64–71 (2016)
Gotel, O., et al.: The quest for ubiquity: a roadmap for software and systems traceability research. In: Proceedings of RE, pp. 71–80 (2012)
Gotel, O., et al.: Traceability fundamentals. In: Cleland-Huang, J., Gotel, O., Zisman, A. (eds.) Software and Systems Traceability, pp. 3–22. Springer, Heidelberg (2012). https://doi.org/10.1007/978-1-4471-2239-5_1
Hubaux, A., Tun, T.T., Heymans, P.: Separation of concerns in feature diagram languages: a systematic survey. ACM Comput. Surv. (CSUR) 45(4), 1–23 (2013)
Inayat, I., Salim, S.S., Marczak, S., Daneva, M., Shamshirband, S.: A systematic literature review on agile requirements engineering practices and challenges. Comput. Hum. Behav. 51, 915–929 (2015)
Lindvall, M., Muthig, D.: Bridging the software architecture gap. Computer 41(6), 98–101 (2008)
Lucassen, G., Dalpiaz, F., Van Der Werf, J.M., Brinkkemper, S.: Bridging the twin peaks: the case of the software industry. In: Proceedings of the TwinPeaks, pp. 24–28 (2015)
Lucassen, G., Dalpiaz, F., van der Werf, J.M.E., Brinkkemper, S.: Improving agile requirements: the quality user story framework and tool. Requirements Eng. 21(3), 383–403 (2016)
Lucassen, G., van de Keuken, M., Dalpiaz, F., Brinkkemper, S., Sloof, G.W., Schlingmann, J.: Jobs-to-be-done oriented requirements engineering: a method for defining job stories. In: Kamsties, E., Horkoff, J., Dalpiaz, F. (eds.) REFSQ 2018. LNCS, vol. 10753, pp. 227–243. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77243-1_14
McChesney, I.R., Gallagher, S.: Communication and co-ordination practices in software engineering projects. Inf. Softw. Technol. 46(7), 473–489 (2004)
Molenaar, S., Brinkkemper, S., Menkveld, A., Smudde, T., Blessinga, R., Dalpiaz, F.: On the nature of links between requirements and architectures: case studies on user story utilization in agile development. Technical report UU-CS-2019-008, Department of Information and Computing Sciences, Utrecht University (2019). http://www.cs.uu.nl/research/techreps/repo/CS-2019/2019-008.pdf
Murugesan, A., Rayadurgam, S., Heimdahl, M.: Requirements reference models revisited: accommodating hierarchy in system design. In: 2019 IEEE 27th International Requirements Engineering Conference (RE), pp. 177–186. IEEE (2019)
Nuseibeh, B.: Weaving together requirements and architectures. Computer 34(3), 115–119 (2001)
Pfleeger, S.L., Bohner, S.A.: A framework for software maintenance metrics. In: Proceedings of Conference on Software Maintenance, pp. 320–327 (1990)
Rath, M., Rendall, J., Guo, J.L.C., Cleland-Huang, J., Mäder, P.: Traceability in the wild: automatically augmenting incomplete trace links. In: Proceedings of the ICSE, pp. 834–845 (2018)
Rempel, P., Mäder, P.: Estimating the implementation risk of requirements in agile software development projects with traceability metrics. In: Fricker, S.A., Schneider, K. (eds.) REFSQ 2015. LNCS, vol. 9013, pp. 81–97. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-16101-3_6
Spijkman, T., Brinkkemper, S., Dalpiaz, F., Hemmer, A.F., van de Bospoort, R.: Specification of requirements and software architecture for the customisation of enterprise software. In: Proceedings of the RE Workshops, pp. 64–73 (2019)
Tang, A., Liang, P., Clerc, V., Van Vliet, H.: Traceability in the co-evolution of architectural requirements and design. In: Avgeriou, P., Grundy, J., Hall, J., Lago, P., Mistrík, I. (eds.) Relating Software Requirements and Architectures, pp. 35–60. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21001-3_4
Venters, C.C., Capilla, R., Betz, S., Penzenstadler, B., Crick, T., Crouch, S., Nakagawa, E.Y., Becker, C., Carrillo, C.: Software sustainability: research and practice from a software architecture viewpoint. J. Syst. Softw. 138, 174–188 (2018)
Wautelet, Y., Heng, S., Kolp, M., Mirbel, I., Poelmans, S.: Building a rationale diagram for evaluating user story sets. In: Proceedings of the RCIS, pp. 1–12 (2016)
Whitehead, J.: Collaboration in software engineering: a roadmap. In: Proceedings of FOSE, pp. 214–225 (2007)
Yu, E.S.: Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of ISRE, pp. 226–235 (1997)
Zhang, Y., Witte, R., Rilling, J., Haarslev, V.: An ontology-based approach for traceability recovery. In: Proceedings of the ATEM, pp. 36–43 (2006)
Zowghi, D., Nurmuliani, N.: A study of the impact of requirements volatility on software project performance. In: Proceeding of the APSEC, pp. 3–11 (2002)
Acknowledgements
We would like to thank Remmelt Blessinga, Abel Menkveld and Thijs Smudde for their contributions to an earlier version of this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Molenaar, S., Spijkman, T., Dalpiaz, F., Brinkkemper, S. (2020). Explicit Alignment of Requirements and Architecture in Agile Development. In: Madhavji, N., Pasquale, L., Ferrari, A., Gnesi, S. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2020. Lecture Notes in Computer Science(), vol 12045. Springer, Cham. https://doi.org/10.1007/978-3-030-44429-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-44429-7_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-44428-0
Online ISBN: 978-3-030-44429-7
eBook Packages: Computer ScienceComputer Science (R0)