Skip to main content

Requirements Engineering: Best Practice

  • Chapter
  • First Online:
Requirements Engineering for Digital Health

Abstract

Many software solutions have failed because they did not meet stakeholder needs. In response to this problem a massive amount of techniques were developed to elicit stakeholder needs, to analyze the implications of these needs on the software, to specify proposed software products, and to check acceptance of these proposals. However, many of these techniques did not become industrial practice because they were not practicable or ineffective when used in real-world projects. To obtain an overview of what common practice is and to understand which techniques reflect best practice because they are particularly effective, we have surveyed a large number of industry projects. Based on 419 valid answers, this chapter gives an overview of commonly used requirements engineering techniques. It also shows which of the techniques, when used in a software project, correlate with requirements engineering success. The chapter concludes with recommendations for software projects and future research to improve requirements engineering practice.

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 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Standish Group International (1995) The CHAOS report. Standish Group International, Inc.

    Google Scholar 

  2. Hassenzahl M, Beu A, Burmester M (2001) Engineering Joy. IEEE Software 18(1):70–76

    Article  Google Scholar 

  3. Gorschek T, Wohlin C (2006) Requirements abstraction model. Requirements Eng 11(1):79–101

    Article  Google Scholar 

  4. Glinz M, Fricker S (2013) On shared understanding in software engineering, Software engineering 2012. Aachen, Germany

    Google Scholar 

  5. Eveleens L, Verhoef C (2010) The rise and fall of the chaos report figures. IEEE Software 27(1):30–36

    Article  Google Scholar 

  6. Davis A, Zowghi D (2006) Good requirements practices are neither necessary nor sufficient. Requirements Eng 11(1):1–3

    Article  Google Scholar 

  7. Neill C, Laplante P (2003) Requirements engineering: the state of the practice. IEEE Software 20(6):40–45

    Article  Google Scholar 

  8. Paech B, Koenig T, Borner L, Aurum A (2005) An analysis of empirical requirements engineering survey data. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, New York, pp 427–452

    Chapter  Google Scholar 

  9. Rouibah K, Al-Rafee S (2009) Requirements engineering elicitation methods: a Kuwaiti empirical study about familiarity, usage and perceived value. Inform Manag Comput Security 17(3):192–217

    Article  Google Scholar 

  10. Potts C, Takahashi K, Antón AI (1994) Inquiry-based requirements analysis. IEEE Software 11(2):21–32

    Article  Google Scholar 

  11. Cheng B, Atlee J (2007) Research directions in requirements engineering. Future of software engineering (FOSE’07). Washington, DC, USA

    Google Scholar 

  12. Pohl K, Rupp C (2011) requirements engineering fundamentals: a study guide for the certified professional for requirements engineering exam—foundation level—IREB compliant. Rocky Nook Computing

    Google Scholar 

  13. Fricker S, Glinz M (2010) Comparison of requirements hand-off, analysis, and negotiation: case study. 18th IEEE international requirements engineering conference (RE’10). Sydney, Australia

    Google Scholar 

  14. Glinz M, Fricker S (2014) On shared understanding in software engineering: an essay. Computer Science - Research and Development. doi: 10.1007/s00450-014-0256-x. See also: http://link.springer.com/article/10.1007/s00450-014-0256-x

  15. Hickey A, Davis A (2004) A unified model of requirements elicitation. J Manag Inform Syst 20(4):65–84

    Google Scholar 

  16. Zowghi D, Coulin C (2005) Requirements elicitation: a survey of techniques, approaches, and tools. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin

    Google Scholar 

  17. Hickey A, Davis A (2003) Elicitation technique selection: how do experts do it? 11th IEEE international requirements engineering conference. Monterey Beach, CA, USA

    Google Scholar 

  18. Davis A, Dieste O, Hickey A, Juristo N, Moreno A (2006) Effectiveness of requirements elicitation techniques: empirical results derived from a systematic review. 14th IEEE international requirements engineering conference (RE’06). Minneapolis, MN, USA

    Google Scholar 

  19. Dieste O, Juristo N, Shull F (2008) Understanding the customer: what do we know about requirements elicitation? IEEE Software 25(2):11–13

    Article  Google Scholar 

  20. Pérez-Castillo R, Garciía-Rodríguez de Guzmán I, Piattini M (2011) Business process archeology using MARBLE. Inform Software Technol 53(10):1023–1044

    Article  Google Scholar 

  21. Maiden N, Gizikis A, Robertson S (2004) provoking creativity: imagine what your requirements could be like. IEEE Software 21(5):68–75

    Article  Google Scholar 

  22. Gorschek T, Fricker S, Palm K (2010) A lightweight innovation process for software-intensive product development. IEEE Software 27(1):37–45

    Article  Google Scholar 

  23. Cleland-Huang J, Mobasher B (2008). Using data mining and recommender systems to scale up the requirements process. 16th IEEE international requirements engineering conference (RE’08). Barcelona, Spain

    Google Scholar 

  24. Alvarez R, Urla J (2002) Tell me a good story: using narrative analysis to examine information requirements interviews during an ERP implementation. Data Base Adv Inform Syst 33(1):38–52

    Article  Google Scholar 

  25. Vermersch P (2009) Describing the practice of introspection. J Conscious Stud 16(10–12):20–57

    Google Scholar 

  26. Beyer H, Holtzblatt K (1995) Apprenticing with the customer. Commun ACM 38(5):45–52

    Article  Google Scholar 

  27. Ng L, Barfield W, Mannering F (1995) A survey-based methodology to determine information requirements for advanced traveler information systems. Transport Res C Emerg Technol 2:113–127

    Article  Google Scholar 

  28. Lam W, McDermid J, Vickers A (1997) Ten steps towards systematic requirements reuse. Requirements Eng 2(2):102–113

    Article  Google Scholar 

  29. Gottesdiener E (2002) Requirements by collaboration: workshops for defining needs. Addison-Wesley Professional

    Google Scholar 

  30. Mylopoulos J, Chung L, Yu E (1999) From object-oriented to goal-oriented requirements analysis. Commun ACM 42(1):31–37

    Article  Google Scholar 

  31. van de Weerd I, Brinkkemper S, Nieuwenhuis R, Versendaal J, Bijlsma L (2006) Towards a reference framework for software product management. 14th IEEE international requirements engineering conference (RE’06). Minneapolis, MN, USA

    Google Scholar 

  32. Martin RC, Meinik G (2008) Tests and requirements, requirements and tests: a möbius strip. IEEE Software 25(1):54–59

    Article  Google Scholar 

  33. Danevas P, Garva G (2012) Domain driven development and feature driven development for development of decision support systems. 18th international conference on information and software technologies (ICIST 2012). Kaunas, Lithuania

    Google Scholar 

  34. Holtmann J, Meyer J, von Detten M (2011). Automatic validation and correction of formalized, textual requirements. IEEE fourth international conference on software testing, verification and validation workshops (ICSTW 2011). Berlin, Germany

    Google Scholar 

  35. Glinz M (2010) Very lightweight requirements modeling. 18th IEEE international requirements engineering conference (RE’10). Sydney, Australia

    Google Scholar 

  36. Arlow J, Neustadt I (2005) UML 2 and the unified process: practical object-oriented analysis and design. Addison-Wesley Pearson Education, NJ, USA See also: http://www.google.com/books?hl=en&lr=&id=Fme5TXzP0VgC&oi=fnd&pg=PT2&dq=UML+2+and+the+unified+process:+practical+object-oriented+analysis+and+design&ots=QnSaJAvKYu&sig=U_9uW2ctUpo2T13NBOcxWDt5BkA

  37. Rettig M (1994) Prototyping for tiny fingers. Commun ACM 37(4):21–27

    Article  Google Scholar 

  38. Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer Academic Publishers, Boston

    Book  MATH  Google Scholar 

  39. Ross D (1977) Structured analysis (SA): a language for communicating ideas. IEEE Trans Software Eng 3(1):16–34

    Article  Google Scholar 

  40. DeMarco, T. (1979). Structured Analysis and System Specification, Yourdon Press.

    Google Scholar 

  41. Schmidt M (2002) The business case guide. Solution Matrix, Boston

    Google Scholar 

  42. Achimugu P, Selamat A, Ibrahim R, Mahrin MNR (2014) A systematic literature review of software requirements prioritization research. Inform Software Technol 56(6):568–585

    Article  Google Scholar 

  43. Svahnberg M, Gorschek T, Feldt R, Torkar R, Bin Saleem S, Shafique MU (2010) A systematic review on strategic release planning models. Inform Software Technol 3:237–248

    Article  Google Scholar 

  44. Phaal R, Farrukh C, Probert D (2003) Technology roadmapping—a planning framework for evolution and revolution. Technol Forecast Soc Change 71:5–26

    Article  Google Scholar 

  45. Fricker S, Schumacher S (2012) Release planning with feature trees: industrial case. Requirements engineering: foundations for software quality (RefsQ 2012). Essen, Germany

    Google Scholar 

  46. Davis A (2005) Just enough requirements management. Dorset House Publishing, New York

    Google Scholar 

  47. McGrath ME (2001) Product strategy for high technology companies: accelerating your business to web speed. McGraw-Hill, New York

    Google Scholar 

  48. Whittle J, Schumann J (2000) Generating statechart designs from scenarios. IEEE international conference on software engineering (ICSE 2000). Limerick, Ireland

    Google Scholar 

  49. Berard B, Bidoit M, Finkel A, Laroussinie F, Petit A, Petrucci L, Schnoebelen P (2010) Systems and software verification: model-checking techniques and tools. Springer, Berlin

    Google Scholar 

  50. IEEE (1990) IEEE standard glossary of software engineering terminology 610.12-1990

    Google Scholar 

  51. Myers B (1989) User-interface tools: introduction and survey. IEEE Software 6(1):15–23

    Article  Google Scholar 

  52. Chung J-Y, Lin K-J, Mathieu R (2003) Web services computing: advancing software interoperability. IEEE Comput 36(10):35–37

    Article  Google Scholar 

  53. Melão N, Pidd M (2000) A conceptual framework for understanding business processes and business process modelling. Inform Syst J 10(2):105–129

    Article  Google Scholar 

  54. ISO/IEC (2010) Systems and software quality requirements and evaluation, ISO/IEC. ISO/IEC FDIS 25010

    Google Scholar 

  55. Alexander I, Maiden N (2005) Scenarios, stories, use cases: through the systems development life-cycle. Wiley, Hoboken

    Google Scholar 

  56. Alexander I, Robertson S (2004) Understanding project sociology by modeling stakeholders. IEEE Software 21(1):23–27

    Article  Google Scholar 

  57. van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. 5th IEEE international symposium on requirements engineering (RE’01). Toronto, Canada

    Google Scholar 

  58. Denger C, Berry D, Kamsties E (2003) Higher quality requirements specifications through natural language patterns. IEEE international conference on software: science, technology and engineering (SwSTE’03). Herzelia, Israel

    Google Scholar 

  59. Dwarakanath A, Ramnani R, Sengupta S (2013) Automatic extraction of glossary terms from natural language requirements. 21st IEEE international requirements engineering conference (RE’13). Rio de Janeiro, Brazil

    Google Scholar 

  60. Bajec M, Krisper M (2005) A methodology and tool support for managing business rules in organisations. Inform Syst 30(6):423–443

    Article  Google Scholar 

  61. Easterbrook S, Lutz R, Covington R, Kelly J, Ampo Y, Hamilton D (1998) Experiences using lightweight formal methods for requirements modeling. IEEE Trans Software Eng 24(1):1–11

    Article  Google Scholar 

  62. Porter A, Votta L, Basili V (1995) Comparing detection methods for software requirements inspections—replicated experiment. IEEE Trans Software Eng 21(6):563–575

    Article  Google Scholar 

  63. Glinz M, Seybold C, Meier S (2007) Simulation-driven creation, validation and evolution of behavioral requirements models. Dagstuhl-workshop MBEES: Modellbasierte Entwiclung eingebetteter Systeme III (MBEES 2007). Braunschweig, Germany

    Google Scholar 

  64. Fricker S (2009) Pragmatic requirements communication: the handshaking approach. Shaker, Germany

    Google Scholar 

  65. Fricker S, Gorschek T, Byman C, Schmidle A (2010) Handshaking with implementation proposals: negotiating requirements understanding. IEEE Software 27(2):72–80

    Article  Google Scholar 

  66. Raiffa H (2007) Negotiation analysis: the science and art of collaborative decision making. Harvard University Press, Cambridge

    Google Scholar 

  67. Milne A, Maiden N (2012) Power and politics in requirements engineering: embracing the dark side? Requirements Eng 17(2):83–98

    Article  Google Scholar 

  68. Schobbens P-Y, Heymans P, Trigaux J-C, Bontemps Y (2007) Generic semantics of feature diagrams. Comput Networks 51(2):456–479

    Article  MATH  Google Scholar 

  69. Boehm B, Grünbacher P, Briggs R (2001) Developing groupware for requirements negotiation: lessons learned. IEEE Software 18(3):46–55

    Article  Google Scholar 

  70. Conradi R, Westfechtel B (1998) Version models for software configuration management. ACM Comput Surv 30(2):232–282

    Article  Google Scholar 

  71. Kobayashi A, Maekawa M (2001) Need-based requirements change management. 8th annual IEEE international conference and workshop on the engineering of computer based systems (ECBS 2001). Washington, DC, USA

    Google Scholar 

  72. Petersen K, Wohlin C (2010) Measuring the flow in lean software development. Software Pract Experience 41(9):975–996

    Article  Google Scholar 

  73. Kniberg H, Skarin M (2010) Kanban and scrum—making the most of both. lulu.com

    Google Scholar 

  74. Cleland-Huang J, Settimi R, Romanova E, Berenbach B, Clark S (2007) Best practices for automated traceability. Computer 40(6):27–35

    Article  Google Scholar 

  75. El Emam K, Madhavji N (1985) A field study of requirements engineering practices in information systems development. 2nd IEEE international symposium on requirements engineering (RE’95). York, England

    Google Scholar 

  76. Rea L, Parker R (2005) Designing and conducting survey research: a comprehensive guide. Jossey-Bass, San Francisco

    Google Scholar 

  77. Holm S (1979) A simple sequential rejective multiple test procedure. Scand J Stat 6(2):65–70

    MATH  MathSciNet  Google Scholar 

  78. Cockburn A (2001) Writing effective use cases. Addison-Wesley Professional, Boston

    Google Scholar 

  79. Wohlin C, Runeson P, Host M, Ohlsson C, Regnell B, Wesslén A (2000) Experimentation in software engineering: an introduction. Springer, Berlin

    Book  Google Scholar 

  80. Khurum M, Fricker S, Gorschek T (2014) The contextual nature of innovation—an empirical investigation of three software intensive products. Inform Software Technol. doi:10.1016/j.infsof.2014.06.010. See also: http://www.sciencedirect.com/science/article/pii/S0950584914001499

  81. Thuemmler C, Fricker S, Mival O, Benyon D, Buchanan W, Paulin A, Fiedler M, Koops B-J, Kosta E, Grottland A, Schneider A, Jell T, Gavras A, Barros M, Magedanz T, Cousin P, Ispas I, Petrakis E (2013) Norms and standards in modular medical architectures. IEEE 15th international conference on e-health networking, applications and services (Healthcom 2013). Lisbon, Portugal

    Google Scholar 

  82. Fricker S, Gorschek T, Glinz M (2008). Goal-oriented requirements communication in new product development. International workshop on software product management (IWSPM 2008). Barcelona, Spain

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Samuel A. Fricker .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Fricker, S.A., Grau, R., Zwingli, A. (2015). Requirements Engineering: Best Practice. In: Fricker, S., Thümmler, C., Gavras, A. (eds) Requirements Engineering for Digital Health. Springer, Cham. https://doi.org/10.1007/978-3-319-09798-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09798-5_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09797-8

  • Online ISBN: 978-3-319-09798-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics