The Brave New World of Design Requirements: Four Key Principles

Despite its undoubted success, Requirements Engineering (RE) needs a better alignment between its research focus and its grounding in practical needs as these needs have changed significantly recently. We explore changes in the environment, targets, and the process of requirements engineering (RE) that influence the nature of fundamental RE questions. Based on these explorations we propose four key principles that underlie current requirements processes: (1) intertwining of requirements with implementation and organizational contexts, (2) dynamic evolution of requirements, (3) architectures as a critical stabilizing force, and (4) high levels of design complexity. We make recommendations to refocus RE research agenda as to meet new challenges based on the review and analysis of these four key themes. We note several managerial and practical implications.

[1]  Serge Demeyer,et al.  Software Evolution , 2010 .

[2]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[3]  Walt Scacchi,et al.  Understanding Open Source Software Evolution 181 , 2006 .

[4]  Frank T. Piller,et al.  Customers as co-designers , 2003 .

[5]  Pamela Zave Classification of research efforts in requirements engineering , 1997, ACM Comput. Surv..

[6]  M. Godet Scenarios and strategic management , 1987 .

[7]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[8]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[9]  Douglas Schuler,et al.  Participatory Design: Perspectives on Systems Design , 1993 .

[10]  Betty H. C. Cheng,et al.  Current and Future Research Directions in Requirements Engineering , 2009 .

[11]  Pericles Loucopoulos Design Requirements Engineering: A Ten-Year Perspective - Design Requirements Workshop, Revised and Invited Papers , 2009 .

[12]  Donald A. Sch The reflective practitioner: how professionals think in action , 1983 .

[13]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[14]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[15]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[16]  John Mylopoulos,et al.  Design Requirements Engineering: A Ten-Year Perspective , 2009 .

[17]  Dewayne E. Perry,et al.  Software Evolution and Feedback: Theory and Practice , 2006 .

[18]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[19]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

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

[21]  Jonathan P. Bowen,et al.  Ten Commandments of Formal Methods , 1995, Computer.

[22]  John M. Carroll,et al.  Scenarios and design cognition , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[23]  Nicholas Berente,et al.  Principles for Requirements Processes at the Dawn of the 21st Century , 2007, ENASE.

[24]  M M Lehman,et al.  Software Evolution , 2002 .

[25]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[26]  Walt Scacchi,et al.  Understanding Open Source Software Evolution , 2003 .

[27]  Nicholas Berente,et al.  Emerging principles for requirements processes in organizational contexts , 2008, Ingénierie des Systèmes d Inf..

[28]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[29]  Lars Mathiassen,et al.  2 A Contingency Model for Requirements Development , 2008 .

[30]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .