Explicit Alignment of Requirements and Architecture in Agile Development

  • Sabine MolenaarEmail author
  • Tjerk Spijkman
  • Fabiano Dalpiaz
  • Sjaak Brinkkemper
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12045)


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


Requirements Engineering Software Architecture User stories Alignment Metrics Case study Agile RE 



We would like to thank Remmelt Blessinga, Abel Menkveld and Thijs Smudde for their contributions to an earlier version of this work.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Technol. 8(5), 49–84 (2009)CrossRefGoogle Scholar
  3. 3.
    Berry, D.M.: Evaluation of tools for hairy requirements and software engineering tasks. In: Proceedings of the RE Workshops, pp. 284–291 (2017)Google Scholar
  4. 4.
    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). Scholar
  5. 5.
    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). Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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). Scholar
  8. 8.
    Cao, L., Ramesh, B.: Agile requirements engineering practices: an empirical study. IEEE Softw. 25(1), 60–67 (2008)CrossRefGoogle Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    Cleland-Huang, J., Hanmer, R.S., Supakkul, S., Mirakhorli, M.: The twin peaks of requirements and architecture. IEEE Softw. 30(2), 24–29 (2013)CrossRefGoogle Scholar
  11. 11.
    Cohn, M.: User Stories Applied. Addison-Wesley Professional, Boston (2004)Google Scholar
  12. 12.
    Coplien, J.O., Bjørnvig, G.: Lean Architecture. Wiley, Hoboken (2011)Google Scholar
  13. 13.
    Curtis, B., Krasner, H., Iscoe, N.: A field study of the software design process for large systems. Commun. ACM 31(11), 1268–1287 (1988)CrossRefGoogle Scholar
  14. 14.
    Egyed, A., Grünbacher, P.: Automating requirements traceability: beyond the record & replay paradigm. In: Proceedings of the ASE, pp. 163–171 (2002)Google Scholar
  15. 15.
    Fernández, D.M., et al.: Naming the pain in requirements engineering. Empirical Softw. Eng. 22(5), 2298–2338 (2017). Scholar
  16. 16.
    Gayer, S., Herrmann, A., Keuler, T., Riebisch, M., Antonino, P.O.: Lightweight traceability for the agile architect. Computer 49(5), 64–71 (2016)CrossRefGoogle Scholar
  17. 17.
    Gotel, O., et al.: The quest for ubiquity: a roadmap for software and systems traceability research. In: Proceedings of RE, pp. 71–80 (2012)Google Scholar
  18. 18.
    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). Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    Lindvall, M., Muthig, D.: Bridging the software architecture gap. Computer 41(6), 98–101 (2008)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    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). Scholar
  25. 25.
    McChesney, I.R., Gallagher, S.: Communication and co-ordination practices in software engineering projects. Inf. Softw. Technol. 46(7), 473–489 (2004)CrossRefGoogle Scholar
  26. 26.
    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).
  27. 27.
    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)Google Scholar
  28. 28.
    Nuseibeh, B.: Weaving together requirements and architectures. Computer 34(3), 115–119 (2001)CrossRefGoogle Scholar
  29. 29.
    Pfleeger, S.L., Bohner, S.A.: A framework for software maintenance metrics. In: Proceedings of Conference on Software Maintenance, pp. 320–327 (1990)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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). Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    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). Scholar
  34. 34.
    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)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Whitehead, J.: Collaboration in software engineering: a roadmap. In: Proceedings of FOSE, pp. 214–225 (2007)Google Scholar
  37. 37.
    Yu, E.S.: Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of ISRE, pp. 226–235 (1997)Google Scholar
  38. 38.
    Zhang, Y., Witte, R., Rilling, J., Haarslev, V.: An ontology-based approach for traceability recovery. In: Proceedings of the ATEM, pp. 36–43 (2006)Google Scholar
  39. 39.
    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)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Sabine Molenaar
    • 1
    Email author
  • Tjerk Spijkman
    • 1
    • 2
  • Fabiano Dalpiaz
    • 1
  • Sjaak Brinkkemper
    • 1
  1. 1.Department of Information and Computing SciencesUtrecht UniversityUtrechtThe Netherlands
  2. 2.fizor.SoestThe Netherlands

Personalised recommendations