Abstract
Requirements have remained one of the grand challenges in the design of software intensive systems. In this paper we review the main strands of requirements research over the past two decades and identify persistent and new challenges. Based on a field study that involved interviews of over 30 leading IT professionals involved in large and complex software design and implementation initiatives, we review the current state-of-the-art in the practice of design requirements management. We observe significant progress in the deployment of modeling methods, tools, risk-driven design, and user involvement. We note nine emerging themes and challenges in the requirement management arena: 1) business process focus, 2) systems transparency, 3) integration focus, 4) distributed requirements, 5) layered requirements, 6) criticality of information architectures, 7) increased deployment of COTS and software components, 8) design fluidity and 9) interdependent complexity. Several research challenges and new avenues for research are noted in the discovery, specification, and validation of requirements in light of these requirements features.
This research was funded by NSF Research Grant No. CCF0613606. The opinions expressed are those of the researchers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Simon, H.: The Sciences of the Artificial. The MIT Press, Cambridge (1996)
Norman, D.A.: The Design of Everyday Things. Basic Books (2002)
Nuseibeh, B., Easterbrook, S.: Requirements Engineering: A Roadmap. In: Proceedings of the conference on The future of Software engineering, pp. 35–46. ACM Press, New York (2000)
Ross, D.T., Schoman Jr., K.E.: Structured Analysis for Requirements Definition. IEEE Transactions on Software Engineering 3, 6–15 (1977)
Guinan, P.J., Cooprider, J.G., Faraj, S.: Enabling Software Development Team Performance During Requirements Definition: A Behavioral Versus Technical Approach. Information Systems Research 9, 101–125 (1998)
Mumford, E.: Effective Systems Design and Requirements Analysis: The ETHICS Approach. Macmillan, Basingstoke (1995)
Montazemi, A., Conrath, D.: The Use of Cognitive Mapping for Information Requirements Analysis. MIS Quarterly 10, 45–56 (1986)
Davis, G.: Strategies for Information Requirements Determination. IBM Systems Journal 21, 4–30 (1982)
Yadav, S., Ralph, R., Akemi, T., Rajkumar, T.: Comparison of analysis techniques for information requirement determination. Communications of the ACM 31, 1090–1097 (1988)
Wiegers, K.: Software Requirements. Microsoft Press, Redmond (1999)
Crowston, K., Kammerer, E.: Coordination and Collective Mind in Software Requirements Development. IBM Systems Journal 37, 227–246 (1998)
Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide. John Wiley & Sons, Inc., New York (1997)
Kotonya, G., Sommerville, I.: Requirements Engineering: Processes and Techniques. John Wiley & Sons, New York (1998)
Hoffer, J., George, J., Valacich, J.: Modern Systems Analysis and Design. Prentice Hall, Upper Saddle River (2001)
Whitten, J.L., Bentley, L.D.: Systems Analysis and Design Methods. McGraw-Hill/Irwin, New York (2007)
Ulrich, K., Eppinger, S.: Product design and development. McGraw-Hill, New York (1995)
van Lamsweerde, A.: Requirements Engineering in the Year 00: A Research Perspective. In: Proceedings of the 22nd international conference on Software engineering, pp. 5–19 (2000)
Zave, P.: Classification of research efforts in requirements engineering. ACM Computing Surveys 29, 315–321 (1997)
Bell, T., Thayer, T.: Software requirements: Are they really a problem? In: Proceedings of the 2nd international conference on Software engineering, pp. 61–68 (1976)
Boehm, B.: Software Engineering Economics. Prentice Hall PTR, Upper Saddle River (1981)
Boehm, B., Papaccio, P.: Understanding and controlling software costs. IEEE Transactions on Software Engineering 14, 1462–1477 (1988)
Scharer, L.: Pinpointing Requirements. Datamation 27, 139–151 (1981)
Orr, K.: Agile requirements: opportunity or oxymoron? Software, IEEE 21, 71–73 (2004)
Bergman, M., King, J., Lyytinen, K.: Large-Scale Requirements Analysis Revisited: The need for Understanding the Political Ecology of Requirements Engineering. Requirements Engineering 7, 152–171 (2002)
Lindquist, C.: Fixing the Requirements Mess. CIO Magazine, 52–60 (2005)
Group, T.S.: The CHAOS Report. West Yarmouth, MA (1995)
Aurum, A., Wohlin, C.: Requirements Engineering: Setting the Context. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 1–15. Springer, Berlin (2005)
Leffingwell, D., Widrig, D.: Managing Software Requirements: A Unified Approach. Addison-Wesley Professional, Reading (1999)
Hickey, A., Davis, A.: Elicitation technique selection: how do experts do it? In: Proceedings of 11th IEEE International on Requirements Engineering Conference, pp. 169–178 (2003)
Keil, M., Cule, P.E., Lyytinen, K., Schmidt, R.C.: A framework for identifying software project risks. Communications of the ACM 41, 76–83 (1998)
Kaindl, H., Brinkkemper, S., Bubenko Jr., J.A., Farbey, B., Greenspan, S.J., Heitmeyer, C.L., Leite, J.C.S.P., Mead, N.R., Mylopoulos, J., Siddiqi, J.: Requirements Engineering and Technology Transfer: Obstacles, Incentives and Improvement Agenda. Requirements Engineering 7, 113–123 (2002)
Zowghi, D., Coulin, C.: Requirements Elicitation: A Survey of Techniques, Approaches, and Tools. Engineering and Managing Software Requirements (2005)
Siddiqi, J., Shekaran, M.C.: Requirements Engineering: The Emerging Wisdom. IEEE Software 13, 15–19 (1996)
Berry, D.M., Lawrence, B.: Requirements Engineering. IEEE Software 15, 26–29 (1998)
Zave, P., Jackson, M.: Four Dark Corners of Requirements Engineering. ACM Transactions on Software Engineering and Methodology 6, 1–30 (1997)
Wiegers, K.E.: Read My Lips: No New Models! IEEE Software 15, 10–13 (1998)
Davis, A.M., Hickey, A.M.: Requirements Researchers: Do We Practice What We Preach? Requirements Engineering 7, 107–111 (2002)
Davis, A.M.: Software Requirements: Objects, Functions, and States. Prentice-Hall, Upper Saddle River (1993)
Loucopoulos, P., Karakostas, V.: System Requirements Engineering. McGraw-Hill, Inc., New York (1995)
Hull, E., Jackson, K., Dick, J.: Requirements Engineering. Springer, London (2005)
Jackson, M.: Software Requirements & Specifications: A Lexicon of Practice, Principles and Prejudices. ACM Press/Addison-Wesley Publishing Co., New York (1995)
Windle, D.R., Abreo, L.R.: Software Requirements Using the Unified Process: A Practical Approach. Prentice Hall PTR, Upper Saddle River (2002)
Wieringa, R.J.: Requirements Engineering: Frameworks for Understanding. John Wiley & Sons, Inc., New York (1996)
Vessey, I., Conger, S.A.: Requirements Specification: Learning Object, Process, and Data Methodologies. Communications of the ACM 37, 102–113 (1994)
Dorfman, M.: Software Requirements Engineering. In: Thayer, R.H., Dorfman, M. (eds.) Software Requirements Engineering, pp. 7–22. IEEE Computer Society Press, Los Alamitos (1997)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering. Prentice Hall, Englewood Cliffs (1991)
Boehm, B.W.: Verifying and validating software requirements and design specifications. IEEE Software 1, 75–88 (1984)
Goguen, J., Linde, C.: Techniques for Requirements Elicitation. Requirements Engineering 93, 152–164 (1993)
Agarwal, R., Tanniru, M.T.: Knowledge Acquisition Using Structured Interviewing: An Empirical Investigation. Journal of Management Information Systems 7, 123–140 (1990)
Wright, G., Ayton, P.: Eliciting and modelling expert knowledge. Decision Support Systems 3, 13–26 (1987)
Byrd, T., Cossick, K., Zmud, R.: A Synthesis of Research on Requirements Analysis and Knowledge Acquisition Techniques. MIS Quarterly 16, 117–138 (1992)
Beyer, H., Holtzblatt, K.: Apprenticing with the customer. Communications of the ACM 38, 45–52 (1995)
Viller, S., Sommerville, I.: Social Analysis in the Requirements Engineering Process: From Ethnography to Method. In: International Symposium on Requirements Engineering. IEEE, Limerick, Ireland (1999)
Alavi, M.: An Assessment of the Prototyping Approach to Information Systems Development. Communications of the ACM 27, 556–563 (1984)
Glass, R.L.: Searching for the Holy Grail of Software Engineering. Communications of the ACM 45, 15–16 (2002)
Hickey, A.M., Davis, A.M.: A Unified Model of Requirements Elicitation. Journal of Management Information Systems 20, 65–84 (2004)
Boland, R.J.: The process and product of system design. In: Management Science, INFORMS, Institute for Operations Research, vol. 24, p. 887 (1978)
Ropponen, J., Lyytinen, K.: Components of software development risk: how to address them? A project manager survey. IEEE Transactions on Software Engineering 26, 98–112 (2000)
Jørgensen, M., Sjøberg, D.I.K.: The Impact of Customer Expectation on Software Development Effort Estimates. International Journal of Project Management 22, 317–325 (2004)
Cook, S., Brown, J.: Bridging Epistemologies: The Generative Dance between Organizational Knowledge and Organizational Knowing. Organization Science 10, 381–400 (1999)
Stewart, D., Shamdasani, P.: Focus Groups: Theory and Practice. Sage Publications, Newbury Park (1990)
Boehm, B.: A spiral model of software development and enhancement. ACM SIGSOFT Software Engineering Notes 11, 22–42 (1986)
Boehm, B.: Verifying and validating software requirements and design specifications. Software risk management table of contents, 205–218 (1989)
Garfinkel, H.: The origins of the term ’ethnomethodology’. Ethnomethodology, 15–18 (1974)
Lynch, M.: Scientific practice and ordinary action: ethnomethodology and social studies of science. Cambridge University Press, Cambridge (1993)
Siddiqi, J.: Challenging universal truths of requirements engineering. IEEE Software 11, 18–19 (1994)
Shekaran, C., Garlan, D., Jackson, M., Mead, N.R., Potts, C., Reubenstein, H.B.: The Role of Software Architecture in Requirements Engineering. In: First International Conference on Requirements Engineering, pp. 239–245. IEEE Computer Society Press, San Diego (1994)
Baldwin, C.Y., Clark, K.B.: Design Rules, The Power of Modularity, vol. 1. MIT Press, Cambridge (2000)
Palmer, J.D.: Traceability. In: Thayer, R.H., Dorfman, M. (eds.) Software Requirements Engineering. IEEE Computer Society Press, Los Alamitos (1997)
Ramesh, B.: Factors influencing requirements traceability practice. Communications of the ACM 41, 37–44 (1998)
Wieringa, R.J.: An Introduction to Requirements Traceability. Faculty of Mathematics and Computer Science, Vrije Universiteit 1995
Hsia, P., Davis, A.M., Kung, D.C.: Status Report: Requirements Engineering. IEEE Software 10, 75–79 (1993)
van Lamsweerde, A.: Formal Specification: A Roadmap. In: Conference on the Future of Software Engineering, pp. 147–159. ACM Press, Limerick (2000)
Balzer, R., Goldman, N., Wile, D.: Informality in Program Specifications. IEEE Transactions on Software Engineering 4, 94–103 (1978)
Ackerman, M., Hadverson, C.: Reexamining organizational memory. Communications of the ACM 43, 58–64 (2000)
Reubenstein, H.B., Waters, R.C.: The Requirements Apprentice: Automated Assistance for Requirements Acquisition. IEEE Transactions on Software Engineering 17, 226–240 (1991)
Gervasi, V., Nuseibeh, B.: Lightweight validation of natural language requirements. Software Practice and Experience 32, 113–133 (2002)
Goldin, L., Berry, D.M.: AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation. Automated Software Engineering 4, 375–412 (1997)
Ryan, K.: The role of natural language in requirements engineering. In: IEEE International Symposium on Requirements Engineering, San Diego, CA, pp. 240–242 (1993)
Borgida, A., Greenspan, S., Mylopoulos, J.: Knowledge Representation as the Basis for Requirements Specifications. IEEE Computer 18, 82–91 (1985)
Mylopoulos, J.: Information Modeling in the Time of the Revolution. Information Systems 23, 127–155 (1998)
Checkland, P.: Systems Thinking, Systems Practice. John Wiley & Sons, Inc., New York (1981)
Checkland, P., Scholes, J.: Soft Systems Methodology in Action. John Wiley & Sons, Inc., New York (1990)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley Longman, Essex (1998)
Scholz-Reiter, B., Stickel, E.: Business Process Modelling. Springer, Secaucus (1996)
Scheer, A.-W.: ARIS–Architecture of Integrated Information Systems. Springer, Heidelberg (1992)
Leppänen, M.: An Ontological Framework and a Methodical Skeleton for Method Engineering: A Contextual Approach. University of Jyväskylä (2005)
Machado, R.J., Ramos, I., Fernandes, J.M.: Specification of Requirements Models. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 47–68. Springer, Berlin (2005)
Mylopoulos, J., Chung, L., Yu, E.: From Object-Oriented to Goal-Oriented Requirements Analysis. Communications of the ACM 42, 31–37 (1999)
Brand, D., Zafiropulo, P.: On Communicating Finite-State Machines. Journal of the ACM 30, 323–342 (1983)
Peterson, J.L.: Petri Nets. ACM Computing Surveys 9, 223–252 (1977)
Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 231–274 (1987)
Ross, D.T.: Structured Analysis (SA): A Language for Communicating Ideas. Transactions on Software Engineering 3, 16–34 (1977)
DeMarco, T.: Structured Analysis and System Specification. Prentice-Hall, Englewood Cliffs (1979)
Yourdon, E., Constantine, L.L.: Structured Design. Prentice-Hall, Englewood Cliffs (1979)
Sutcliffe, A.G.: Object-oriented systems development: survey of structured methods. Information and Software Technology 33, 433–442 (1991)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall, Inc., Englewood Cliffs (1991)
Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach, vol. 524. Addison-Wesley, Reading (1992)
Bonabeau, E.: Agent-Based Modeling: Methods and Techniques for Simulating Human Systems. Proceedings of the National Academy of Sciences 99, 7280–7287 (2002)
Axelrod, R.M.: The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration. Princeton University Press, Princeton (1997)
Carley, K., Krackhardt, D.: Cognitive inconsistencies and non-symmetric friendship. Social Networks 18, 1–27 (1996)
Carley, K.M.: Computational and mathematical organization theory: Perspective and directions. Computational & Mathematical Organization Theory 1, 39–56 (1995)
Epstein, J.M., Axtell, R.: Growing Artificial Societies: Social Science from the Bottom Up. Brookings Institution Press, Washington (1996)
van Lamsweerde, A.: Goal-Oriented Requirements Engineering: A Guided Tour. In: Proceedings of the 5th IEEE International Symposium on Requirements Engineering, pp. 249–263. IEEE, Toronto (2001)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-Directed Requirements Acquisition. Science of Computer Programming 20, 3–50 (1993)
van Lamsweerde, A., Darimont, R., Letier, E.: Managing conflicts in goal-driven requirements engineering. IEEE Transactions on Software Engineering 24, 908–926 (1998)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Transactions on Software Engineering 18, 483–497 (1992)
Miller, J.A., Sheth, A.P., Kochut, K.J.: Perspectives in Modeling: Simulation, Database and Workflow. In: Chen, P.P., Akoka, J., Kangassalu, H., Thalheim, B. (eds.) Conceptual Modeling. LNCS, vol. 1565, pp. 154–167. Springer, Heidelberg (1999)
Menzel, C., Mayer, R.J.: The IDEF Family of Languages. Handbook on Architectures of Information Systems 1, 209–241 (1998)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison Wesley Longman, Redwood City (1999)
Kobryn, C.: UML 2001: a standardization odyssey. Communications of the ACM 42, 29–37 (2001)
Welke, R.J., Kumar, K.: Method engineering: a proposal for situation-specific methodology construction. In: Cotterman, Senn (eds.) Systems Analysis and Design: A Research Agenda, pp. 257–268. Wiley, Chichester (1992)
Harmsen, F., Brinkkemper, S., Oei, H.: Situational Method Engineering for Information System Project Approaches. IFIP Transactions A: Computer Science & Technology, 169–194 (1994)
Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling crosscutting constraints in domain-specific modeling. Communications of the ACM 44, 87–93 (2001)
Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. Computer 34, 44–51 (2001)
Rossi, M., Ramesh, B., Lyytinen, K., Tolvanen, J.-P.: Managing Evolutionary Method Engineering by Method Rationale. Journal of the AISÂ 5 (2004)
Pohl, K.: Requirement Engineering: An overview. Encyclopedia of Computer Science and Technology. Marcel Dekker, New York (1996)
Easterbrook, S.: Handling Conflict between Domain Descriptions with Computer-Supported Negotiation. Knowledge Acquisition 3, 255–289 (1991)
Grünbacher, P., Seyff, N.: Requirements Negotiation. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 143–162. Springer, Berlin (2005)
Berander, P., Andrews, A.: Requirements Prioritization. In: Aurum, A., Wohlin, C. (eds.) Engineering and Managing Software Requirements, pp. 69–94. Springer, Berlin (2005)
Regnell, B., Höst, M., Dag, J.N.: An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software. Requirements Engineering 6, 51–62 (2001)
Feather, M.S., Fickas, S., Finkelstein, A., van Lamsweerde, A.: Requirements and Specification Exemplars. Automated Software Engineering 4, 419–438 (1997)
Robinson, W., Volkov, V.: Supporting the Negotiation Life Cycle. Communications of the ACM 41, 95–102 (1998)
Robinson, W.N.: Negotiation behavior during requirement specification. In: Proceedingsof the 12th International Conference on Software Engineering, pp. 268–276. IEEE Computer Society Press, Nice (1990)
Fisher, R., Ury, W.: Getting to Yes: Negotiating without Giving In, Boston, MA (1991)
Boehm, B.W., Egyed, A.: WinWin Requirements Negotiation Processes: A Multi-Project Analysis. In: 5th International Conference on Software Processes (1998)
Grünbacher, P., Briggs, R.O.: Surfacing Tacit Knowledge in Requirements Negotiation: Experiences using EasyWinWin. In: 34th Hawaii International Conference on System Sciences. IEEE, Los Alamitos (2001)
Robinson, W.N., Fickas, S.: Automated Support for Requirements Negotiation. In: AAAI 1994 Workshop on Models of Conflict Management in Cooperative Problem Solving, pp. 90–96 (1994)
Kotonya, G., Sommerville, I.: Requirements Engineering with Viewpoints. Software Engineering Journal 11, 5–18 (1996)
Leite, J.C.S.P., Freeman, P.A.: Requirements Validation through Viewpoint Resolution. IEEE Transactions on Software Engineering 17, 1253–1269 (1991)
Knight, J.C., Myers, E.A.: An Improved Inspection Technique. Communications of the ACM 36, 51–61 (1993)
Yourdon, E.: Structured Walkthroughs. Yourdon Press, Upper Saddle River (1989)
Soni, D., Nord, R., Hofmeister, C.: Software Architecture in Industrial Applications. In: 17th International Conference on Software Engineering, pp. 196–207. ACM Press, New York (1995)
Glaser, B.G., Strauss, A.L.: Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Publishing Company, Chicago (1967)
Eisenhardt, K.: Building Theories from Case Study Research. Acad. Manage. Rev. 14, 532–550 (1989)
Lyytinen, K., Mathiassen, L., Ropponen, J.: Attention Shaping and Software Risk - A Categorical Analysis of Four Classical Risk Management Approaches. Information Systems Research 9, 233–255 (1998)
Kruchten, P.: The Rational Unified Process: An Introduction. Pearson Education, Boston (2003)
Vessey, I., Sravanapudi, A.P.: CASE tools as collaborative support technologies. Communications of the ACM 38, 83–95 (1995)
Stohr, E., Zhao, J.: Workflow Automation: Overview and Research Issues. Information Systems Frontiers 3, 281–296 (2001)
Becker, J., Rosemann, M., von Uthmann, C.: Guidelines of Business Process Modeling. In: van der Aalst, W., Desel, J., Oberweis, A. (eds.) Business Process Management - Models, Techniques, and Empirical Studies, pp. 30–49. Springer, Heidelberg (2000)
King, W.R.: IT Capabilities, Business Processes, and Impact on the Bottom Line. In: Brown, C.V., Topi, H. (eds.) IS Management Handbook. Auerbach Publications, Boca Raton (2003)
Brynjolfsson, E., Hitt, L.M.: Beyond Computation: Information Technology, Organizational Transformation and Business Performance. In: Malone, T.W., Laubacher, R., Scott Morton, M.S. (eds.) Inventing the organizations of the 21st century, pp. 71–99. MIT Press, Cambridge (2003)
Jarke, M., Pohl, K.: Requirements Engineering in 2001 (Virtually) Managing a Changing Reality. Software Engineering Journal 9, 257–266 (1994)
Damian, D., Eberlein, A., Shaw, M., Gaines, B.: An exploratory study of facilitation in distributed requirements engineering. Requirements Engineering 8, 23–41 (2003)
Grünbacher, P., Braunsberger, P.: Tool Support for Distributed Requirements Negotiation. Cooperative methods and tools for distributed software processes, 56–66 (2003)
Brooks, F.P.: No Silver Bullet: Essence and Accidents in Software Engineering. IEEE Computer 20, 10–19 (1987)
Greenspan, S., Mylopoulos, J., Borgida, A.: On Formal Requirements Modeling Languages: RML Revisited. In: Proceedings of the 16th International Conference on Software Engineering (ICSE-16), Sorrento, Italy, pp. 135–147 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hansen, S., Berente, N., Lyytinen, K. (2009). Requirements in the 21st Century: Current Practice and Emerging Trends. In: Lyytinen, K., Loucopoulos, P., Mylopoulos, J., Robinson, B. (eds) Design Requirements Engineering: A Ten-Year Perspective. Lecture Notes in Business Information Processing, vol 14. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92966-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-92966-6_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92965-9
Online ISBN: 978-3-540-92966-6
eBook Packages: Computer ScienceComputer Science (R0)