Skip to main content

Explicit Alignment of Requirements and Architecture in Agile Development

  • Conference paper
  • First Online:
Requirements Engineering: Foundation for Software Quality (REFSQ 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12045))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  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)

    Google Scholar 

  2. Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Technol. 8(5), 49–84 (2009)

    Article  Google Scholar 

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

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-540-24769-2_14

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  8. Cao, L., Ramesh, B.: Agile requirements engineering practices: an empirical study. IEEE Softw. 25(1), 60–67 (2008)

    Article  Google Scholar 

  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. Cleland-Huang, J., Hanmer, R.S., Supakkul, S., Mirakhorli, M.: The twin peaks of requirements and architecture. IEEE Softw. 30(2), 24–29 (2013)

    Article  Google Scholar 

  11. Cohn, M.: User Stories Applied. Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  12. Coplien, J.O., Bjørnvig, G.: Lean Architecture. Wiley, Hoboken (2011)

    Google Scholar 

  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)

    Article  Google Scholar 

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

    Article  Google Scholar 

  16. Gayer, S., Herrmann, A., Keuler, T., Riebisch, M., Antonino, P.O.: Lightweight traceability for the agile architect. Computer 49(5), 64–71 (2016)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Google Scholar 

  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)

    Article  Google Scholar 

  21. Lindvall, M., Muthig, D.: Bridging the software architecture gap. Computer 41(6), 98–101 (2008)

    Article  Google Scholar 

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

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-319-77243-1_14

    Chapter  Google Scholar 

  25. McChesney, I.R., Gallagher, S.: Communication and co-ordination practices in software engineering projects. Inf. Softw. Technol. 46(7), 473–489 (2004)

    Article  Google Scholar 

  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). http://www.cs.uu.nl/research/techreps/repo/CS-2019/2019-008.pdf

  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. Nuseibeh, B.: Weaving together requirements and architectures. Computer 34(3), 115–119 (2001)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. Whitehead, J.: Collaboration in software engineering: a roadmap. In: Proceedings of FOSE, pp. 214–225 (2007)

    Google Scholar 

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

Download references

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

Authors

Corresponding author

Correspondence to Sabine Molenaar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics