The brave new world of design requirements☆
Highlights
► Intertwining of requirements with implementation and organizational contexts. ► Dynamic evolution of requirements, ► Emergence of architectures as a critical stabilizing force. ► Need to recognize unprecedented levels of design complexity. We recommend a re-focus of RE research based on a review and analysis of these four principles, and identify several theoretical and practical implications that flow from this analysis.
Introduction
The genesis of Requirements Engineering (RE) research around the mid-1970s was motivated by practitioners, who noticed the urgent need for disciplined RE in software projects that had grown large and unmanageable [1], [2]. Much of RE research since then has focused on artifacts that maintain the intellectual discipline by helping capture, share, represent, analyze, negotiate, and prioritize requirements as a basis for design decisions and interventions. This is evidenced by the volume and impact of a plethora of requirements-related papers published in top software engineering conferences and journals (for a survey see [3]. Due to its practical origins, it is not surprising that some of the findings of this research, such as the use of business and system modeling (e.g., entity-relationship and UML diagrams, use cases [4], [5], risk-driven methodologies [6], structured requirements documents, and requirements tracing [7], [8], have found their way into design practice [9].
Yet, the environment in which RE is practiced now has changed dramatically from the landscape of 35 years ago. Partly, this is due to advances in hardware and telecommunications that has radically lowered computing cost and extended functionality. This has made software ubiquitous in all walks-of-life. For example, for a large part of the population, smart phones and netbooks rather than workstations and PCs are becoming the computing device of choice; RFID tags and other sensors bring real-world measurements into the administrative world of Enterprise Resource Planning (ERP); and highly reduced communication cost moves high-performance computing and data services into “the cloud”. Partly, this is due to changes in task and organizational environments where software is either produced or deployed. Therefore, the field's focus and scope has shifted from engineering of individual systems and components towards the generation, adaptation and maintenance of software-intensive ecosystems consisting of software, hardware, human and organizational agents, business processes and more. For example, large infrastructure players such as IBM, SAP, Oracle, Microsoft, or Google are jockeying to dominate with their platforms by offering software development services that permit order-of-magnitude productivity increases at the expense of vendor lock-in. This happens, in part competing with, and, in part cooperating with the Open Source movement. Within user organizations, the rapid globalization and re-organization of industries widens the boundaries of organizational information systems to inter-organizational systems where connectivity and semantic standardization become highly important. In contrast, many software products in the Web 2.0 sphere are in a perpetual state of running beta versions [10], as time-to-market is more important than product quality. For all parties concerned, security has become a true concern for all ecologies.
Accordingly, a term design requirements rather than software requirements as an inclusive term better characterizes all requirements issues within these ecosystems that need to be addressed at the crossroads of business development, software engineering, and industrial design. This shift has created a strong need to re-think the fundamentals of RE research and to re-align them with the new RE practices. In this quest, both academia and industry need to seek to understand more deeply issues that underlie current RE and address associated challenges. We posit that answers to this challenge cannot come just from doing more of the same—i.e., traditional RE research focusing primarily on notations, tools, and methods. The RE field needs to carefully evaluate some of its sacred assumptions and as a result its research scope may have to become more interdisciplinary. This essay aims to identify some of these challenges based on a review of current state of the art and a detailed field and content analysis of extensive expert discussions and feedback on current RE practices. As a result we put forward four key principles that characterize future requirements engineering efforts and discuss their differences to current practices. We also outline main elements of a research agenda that is needed to address future RE challenges
The remainder of the paper is organized as follows. We first offer a short synopsis of the history and state-of-the-art of RE research. Section 3 clarifies the data collection and analysis and the nature of data that shaped discussions around new requirements challenges as reported here. In Section 4, we discuss the changing nature of requirements condensed into nine issues as derived from empirical analysis. Section 5 forms the apex of our argument and proposes four new principles that underlie contemporary and future requirements processes. We conclude with a comparison with current RE practices (Section 6), and discuss implications of our deliberations for research and practice (Section 7).
Section snippets
Requirements research—a brief overview1
Over three decades ago researchers and practitioners alike recognized the critical role of the requirements contributing to the eventual success (or not) of software development [1], [2]. Requirements challenges were seen as inherent and risky elements for any successful system design effort, because of the complexity of the design task, the limits to human information processing, and the intricate interaction between designers and intended users [12]. In addition, the RE activity was found to
Methodology
RE practices and principles were investigated through a field study[4], as well as in two workshops bringing together experts from industry and academia [9], [55]. We used a rigorous empirically grounded research methodology that involved intense data collection in the field followed by a solicitation and integration of expert opinions through workshops and focus groups. We first conducted an extensive field study across a range of industrial and systems design settings to understand the
The changing nature of requirements
The “requirements mess” has remained a pernicious challenge and motivation over the last 30 years for RE scholars. In addition, it does not show any signs of disappearing [59]. RE researchers have been persistent to note that the leading sources of project difficulty – lack of user input, incomplete requirements, and changing specifications – are directly related to flaws in design requirements [37], [60], [61], [62], [63]. Yet, as observed in the field study [9] most large projects follow many
Four requirements principles
As mentioned in Section 2 past RE research has been informed by several principles that served well addressing the classic requirements problems. These included: (1) separation of concerns (notably, the ‘what' from the ‘why' and the ‘how'), (2) information hiding, and (3) the principle of abstraction (see e.g., [1], [2]). These principles reduced design complexity given the requirements and goals by localizing design decisions. They helped reduce the mutual interference of decisions and
Comparisons with conventional RE practices
Conventional RE principles have been codified within established organizational and business models that underlie requirements practice. Table 3 shows one such model—CMMI requirements practices. ISO 9000 and IEEE Standard 830 contain similar, document-focused recommendations. Others have expanded these standards with guidelines for using specific requirements techniques (e.g., [18]. Such practices form the basis for assessing an organization's requirements maturity [85]. Generally speaking,
Implications for research and practice
Over its 30-year history, the idea of design requirements has changed from single, static and fixed-point statements of desirable system properties into dynamic and evolving rationales that mediate dynamic change between the business environments and the design and implementation worlds. As Fred Brooks noted in Dagstuhl workshop: “Design is not about solving fixed problems; it is constant framing of solution spaces”. This evolution has now probably reached a new tipping point characterized by
Acknowledgments
We thank Barbara Pernici and three anonymous reviewers for constructive criticisms which lead to significant improvement in the papers argument and organization. We thank Sean Hansen, Nicholas Berente, Dominik Schmitz, and Anna Glukhova for helping to organize the workshops, and the workshop participants for inspiring discussions and Sol Greenspan for constructive comments on earlier drafts of the manuscript. This research was in part funded by National Science Foundation's “Science of Design”
References (90)
- et al.
Eliciting and modelling expert knowledge* 1
Decision Support Systems
(1987) Statecharts: a visual formalism for complex systems
Science of Computer Programming
(1987)Handling conflict between domain descriptions with computer-supported negotiation* 1,* 2
Knowledge Acquisition
(1991)- et al.
The Mythical Man-Month
(1995) - et al.
Structured analysis for requirements definition
Transactions on Software Engineering
(January 1977) - et al.
Current and future research directions in requirements engineering
- et al.
Requirements in the 21st century: current practice and emerging trends
- et al.
Object-oriented software engineering—a use case-driven approach
A spiral model of software development and enhancement
Computer
(May 1988)- et al.
An analysis of the requirements traceability problem, in: Proceedings of the First International Conference on Requirements Engineering
(1994)
Toward reference models for requirements traceability
IEEE Transactions on Software Engineering
Design Requirements Engineering: A Ten-Year Perspective, Design Requirements Workshop, Cleveland, OH, USA, June 3–6, 2007, Revised and Invited Papers
What is web 2.0
Design patterns and business models for the next generation of software
Principles of Requirements Processes at the Dawn of 21st Century
Ingénierie des Systèmes d'Information
Pinpointing requirements
Datamation
Large-scale requirements analysis revisited: The need for understanding the political ecology of requirements engineering
Requirements Engineering
Software Requirements: Objects, Functions, and States
Requirements Engineering
Software requirements and Specifications: A Lexicon of Practice, Principles, and Prejudices
System Requirements Engineering
Requirements Engineering: A Good Practice Guide
Read my lips: No new models!
Software, IEEE
Requirements Engineering: Frameworks for Understanding
Software Requirements Using the Unified Process: A Practical Approach
Requirements specification: learning object, process, and data methodologies
Communications of the ACM
Software Requirements Engineering
Fundamentals of Software Engineering
Verifying and validating software requirements and design specifications
IEEE Software
Requirements Engineering: Processes and Techniques
Challenging Universal Truths of Requirements Engineering
IEEE Software
Requirements elicitation: a survey of techniques, approaches, and tools
Engineering and Managing Software Requirements
Knowledge acquisition using structured interviewing: an empirical investigation
Journal of Management Information Systems
A synthesis of research on requirements analysis and knowledge acquisition techniques
MIS Quarterly
Apprenticing with the customer
Communications of the ACM
Social analysis in the requirements engineering process: from ethnography to method
IEEE
An assessment of the prototyping approach to information systems development
Communications of the ACM
Information systems prototyping in practice
Journal of Information Technology
Knowledge representation as the basis for requirements specifications
Computer
Status report: requirements engineering
IEEE Software
The Requirements Apprentice: Automated Assistance for Requirements Acquisition
IEEE Transactions on Software Engineering
Lightweight validation of natural language requirements: a case study
IEEE
AbstFinder, a prototype natural language text abstraction finder for use in requirements elicitation
Automated Software Engineering
Cited by (117)
Requirements Engineering for Cyber Physical Production Systems: The e-CORE approach and its application
2022, Information SystemsCitation Excerpt :We have presented the conceptual foundations as well as the process phases of e-CORE and have demonstrated the applicability of the approach on a specific industrial size application driven by the demand for dealing with both internal and external production disrupting factors. Through our capability-driven approach it is possible to capture the intertwined relationship among design requirements and environment, as well as the interplay of requirements and design artefacts [48]. The e-CORE approach has proved in practice to yield conceptual models that are (a) of value to end users, (b) consistent across all representations, (c) conducive to various analyses, (d) reflective of systemic impact of changes and (e) of value to developers of CPPS solutions.
An integrated socio-technical enterprise modelling: A scenario of healthcare system analysis and design
2021, Journal of Industrial Information IntegrationΑ capability-oriented modelling and simulation approach for autonomous vehicle management
2019, Simulation Modelling Practice and TheoryCitation Excerpt :Traditionally, RE has focused on software systems development, which represents relatively homogenous, stable and predictable cyber space [28]. The emergence of new complex, emergent systems, such as smart energy systems, intelligent transportation, smart cities, etc, has brought new challenges to the RE discipline [23,33,34]. Such socio-cyber-physical systems [2] are complex, heterogeneous systems of systems, consisting of digital structures (e.g., software, data) that interact with physical (e.g., sensors, devices) and social elements (e.g., persons, organisations) facilitating human endeavours.
Understanding Software-centered Evolutive Ecosystems through Activity Theory
2023, Journal of Software: Evolution and ProcessShip design optimization considering probabilistic compliance of decarbonization regulations
2023, Advances in the Analysis and Design of Marine Structures - Proceedings of the 9th International Conference on Marine Structures, MARSTRUCT 2023
- ☆
This is an extended and improved version of the paper: Lyytinen, K., Jarke, M., Loucopoulos, P., Mylopoulos, J., Robinson, W., “The Brave New World of Design Requirements: Four Key Principles”, 22nd International Conference on Advanced Information Systems Engineering (CAiSE'10), Hammamet Tunisia, June 2010. Authors are listed alphabetically to reflect equal contribution.