Explicit Alignment of Requirements and Architecture in Agile Development

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

[1]  Sjaak Brinkkemper,et al.  Functional Architecture Modeling for the Software Product Industry , 2010, ECSA.

[2]  Sjaak Brinkkemper,et al.  Bridging the Twin Peaks -- The Case of the Software Industry , 2015, 2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture.

[3]  Patrick Mäder,et al.  Software traceability: trends and future directions , 2014, FOSE.

[4]  Colin C. Venters,et al.  Software sustainability: Research and practice from a software architecture viewpoint , 2018, J. Syst. Softw..

[5]  Ian R. McChesney,et al.  Communication and co-ordination practices in software engineering projects , 2004, Inf. Softw. Technol..

[6]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[7]  S. Brinkkemper,et al.  On the Nature of Links between Requirements and Architectures: Case Studies on User Story Utilization in Agile Development , 2019 .

[8]  Peng Liang,et al.  Traceability in the Co-evolution of Architectural Requirements and Design , 2011, Relating Software Requirements and Architectures.

[9]  Shawn A. Bohner,et al.  A framework for software maintenance metrics , 1990, Proceedings. Conference on Software Maintenance 1990.

[10]  Alexander Egyed,et al.  Automating requirements traceability: Beyond the record & replay paradigm , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[11]  Sanjai Rayadurgam,et al.  Requirements Reference Models Revisited: Accommodating Hierarchy in System Design , 2019, 2019 IEEE 27th International Requirements Engineering Conference (RE).

[12]  Sebastian Herold,et al.  Architecture consistency: State of the practice, challenges and requirements , 2017, Empirical Software Engineering.

[13]  Daniel M. Berry,et al.  Evaluation of Tools for Hairy Requirements and Software Engineering Tasks , 2017, 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW).

[14]  Patrick Mäder,et al.  Estimating the Implementation Risk of Requirements in Agile Software Development Projects with Traceability Metrics , 2015, REFSQ.

[15]  Sjaak Brinkkemper,et al.  Specification of Requirements and Software Architecture for the Customisation of Enterprise Software: A Multi-case Study Based on the RE4SA Model , 2019, 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW).

[16]  Sjaak Brinkkemper,et al.  Improving agile requirements: the Quality User Story framework and tool , 2016, Requirements Engineering.

[17]  Patrick Heymans,et al.  Separation of concerns in feature diagram languages: A systematic survey , 2013, CSUR.

[18]  Giuliano Antoniol,et al.  The quest for Ubiquity: A roadmap for software and systems traceability research , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[19]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[20]  Roel Wieringa,et al.  Naming the pain in requirements engineering , 2016, Empirical Software Engineering.

[21]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[22]  Sjaak Brinkkemper,et al.  Jobs-to-be-Done Oriented Requirements Engineering: A Method for Defining Job Stories , 2018, REFSQ.

[23]  Per Runeson,et al.  Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability , 2013, Empirical Software Engineering.

[24]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[25]  Robert S. Hanmer,et al.  The Twin Peaks of Requirements and Architecture , 2013 .

[26]  V. Haarslev,et al.  An Ontology-based Approach for Traceability Recovery , 2006 .

[27]  Andrea Herrmann,et al.  Lightweight Traceability for the Agile Architect , 2016, Computer.

[28]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[29]  Giuliano Antoniol,et al.  Traceability Fundamentals , 2012, Software and Systems Traceability.

[30]  Dirk Muthig,et al.  Bridging the Software Architecture Gap , 2008, Computer.

[31]  Isabelle Mirbel,et al.  Building a rationale diagram for evaluating user story sets , 2016, 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS).

[32]  Sabrina Marczak,et al.  A systematic literature review on agile requirements engineering practices and challenges , 2015, Comput. Hum. Behav..

[33]  Didar Zowghi,et al.  A study of the impact of requirements volatility on software project performance , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[34]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[35]  Patrick Mäder,et al.  Traceability in the Wild: Automatically Augmenting Incomplete Trace Links , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[36]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[37]  Volker Haarslev,et al.  An Ontology-based Approach for the Recovery of Traceability Links , 2006 .