Skip to main content
Log in

Requirements reuse and requirement patterns: a state of the practice survey

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Requirements engineering is a discipline with numerous challenges to overcome. One of these challenges is the implementation of requirements reuse approaches. Although several theoretical proposals exist, little is known about the practices that are currently adopted in industry. Our goal is to contribute to the investigation of the state of the practice in the reuse of requirements, eliciting current practices from practitioners, and their opinions whenever appropriate. Besides reuse in general, we focus on requirement patterns as a particular strategy to reuse. We conducted an exploratory survey based on an online questionnaire. We received 71 responses from requirements engineers with industrial experience in the field, which were analyzed in order to derive observations. Although we found that a high majority of respondents declared some level of reuse in their projects (in particular, non-functional requirements were identified as the most similar and recurrent among projects), it is true that only a minority of them declared such reuse as a regular practice. Larger IT organizations and IT organizations with well-established software processes and methods present higher levels of reuse. Ignorance of reuse techniques and processes is the main reason preventing wider adoption. From the different existing reuse techniques, the simplest ones based on textual copy and subsequent tailoring of former requirements are the most adopted techniques. However, participants who apply reuse more often tend to use more elaborate techniques. Opinions of respondents about the use of requirement patterns show that they can be expected to mitigate problems related to the quality of the resulting requirements, such as lack of uniformity, inconsistency, or ambiguity. The main reasons behind the lack of adoption of requirement patterns by practitioners (in spite of the increasing research approaches proposed in the community) are related to the lack of a well-defined reuse method and involvement of requirement engineers. The results of our paper are interesting for practitioners since we highlight relevant observations from the survey participants’ experiences when deciding to implement requirements reuse practices. We also suggest future lines of research based on the needs pointed out in the results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://www.utdallas.edu/~supakkul/repa16/

  2. http://www-03.ibm.com/software/products/en/ratidoor/

  3. http://www.jamasoftware.com/

  4. http://www.visuresolutions.com/requirements-engineering-tool

  5. We excluded our REFSQ 2014 paper since it was presenting some preliminary results of the study reported in this paper.

  6. http://community.dur.ac.uk/ebse/resources/templates/SurveyTemplate.pdf

  7. http://www.upc.edu/gessi/PABRE/SurveyQuestionsJournal.pdf

  8. http://refsq.org/2013/empirical-track/

  9. http://www.limesurvey.org/

  10. Non-Technical Requirements are the ones not related to technical aspects of the software but to contextual aspects as prices, licenses or suppliers.

  11. http://www.businessinsider.com/linkedin-as-a-marketing-and-brand-platform-2014-9

  12. http://www.tudor.lu

References

  • Arnuphaptrairong T (2011) Top ten lists of software project risks: evidence from the literature survey. In: Proceedings of the international multiconference of engineers and computer scientists (IMECS), Hong Kong, pp 16–18

  • Bakar NH, Kasirun ZM (2014) Exploring software practitioners perceptions and experience in requirements reuse an empirical study in Malaysia. Int J Softw Eng Technol 1(2)

  • Beecham S, Hall T, Rainer A (2003) Software process improvement problems in twelve software companies: an empirical analysis. Empir Softw Eng. doi:10.1023/A:1021764731148

    MATH  Google Scholar 

  • Boehm BW, Basili V (2001) Software defect reduction top 10 list. Journal Computer 34(1). doi:10.1109/2.962984

  • Boone HN, Boone DA (2012) Analyzing Likert data. J Ext 50(2):1–5

    Google Scholar 

  • Bosch J (2000) Design & use of software architectures. Addison-Wesley

  • Calleam Consulting (2015) Why do projects fail. 101 Common Causes. Last access on: February 2016. http://calleam.com/WTPF/?pageid=2338

  • Carrillo-de-Gea JM, Nicolás J, Alemán JLF, Toval A, Vizcaíno A, Ebert C (2013) Reusing requirements in global software engineering. Managing requirements knowledge. Springer, Berlin. doi:10.1007/978-3-642-34419-0_8

    Google Scholar 

  • Carvallo JP, Franch X, Quer C (2006) Managing Non-technical requirements in COTS components selection. In: Proceedings of the 14th IEEE international conference requirements engineering (RE), Minneapolis, pp 323–326

  • Chen J, Xiao J, Wang Q, Osterweil JL (2015) Perspectives on refactoring planning and practice: an empirical study. Empir Softw Eng. doi:10.1007/s10664-015-9390-8

    Google Scholar 

  • Chen K, Zhang W, Zhao H, Mei H (2005) An Approach to constructing feature models based on requirements clustering. In: Proceedings of the 13th IEEE international conference on requirements engineering (RE), Paris, pp 31–40

  • Chernak Y (2012) Requirements reuse: the state of the practice. In: Proceedings of the IEEE international conference on software science, technology and engineering (SWSTE), Herzelia, pp 46–53

  • Chung L, Supakkul S (2006) Capturing and reusing functional and non-functional requirements knowledge: a goal-object pattern approach. In: Proceedings of the IEEE international conference on information reuse and integration (IRI), Waikoloa, pp 539–544

  • Cox K, Niazi M, Verner J (2009) Empirical study of Sommerville and Sawyer’s requirements engineering practices. IET Softw 3(5):339–355. doi:10.1049/iet-sen.2008.0076

    Article  Google Scholar 

  • Daramola O, Sindre G, Stalhane T (2012) Pattern-based Security requirements specification using ontologies and boilerplates. In: Proceedings of the IEEE second international workshop on requirements patterns (RePa), Chicago, pp 54–59

  • de Mello RM, Da Silva PC, Travassos GH (2015) Investigating probabilistic sampling approaches for large-scale surveys in software engineering. Journal of Software Engineering Research and Development 3(1). doi:10.1186/s40411-015-0023-0

  • Dietrich J, Jezek K, Brada P (2015) What Java developers know about compatibility, and why this matters. Empir Softw Eng. doi:10.1007/s10664-015-9389-1

    Google Scholar 

  • Dillman DA, Smyth JD, Christian LM (2014) Internet, phone, mail, and mixed-mode surveys: the tailored design method. Wiley

  • Duggan M (2015) The demographics of social media users. Last access on July 2016. http://www.pewinternet.org/

  • Dyba T (2003) Factors of software process improvement success in small and large organizations: an empirical study in the scandinavian context. ACM SIGSOFT Software Engineering Notes 28(5):148–157

    Article  Google Scholar 

  • Dyba T (2005) An empirical investigation of the key factors for success in software process improvement. IEEE Trans Softw Eng 31(5). doi:10.1109/TSE.2005.53

  • Eriksson M, Börstler J, Borg K (2009) Managing requirements specifications for product lines–An approach and industry case study. J Syst Softw. doi:10.1016/j.jss.2008.07.046

    Google Scholar 

  • Evans JR, Mathur A (2005) The value of online surveys. Internet Research 15(2). doi:10.1108/10662240510590360

  • Filipovikj P, Nyberg M, Rodriguez-Navas G (2014) Reassessing the pattern-based approach for formalizing requirements in the automotive domain. In: Proceedings of the 22th IEEE international requirements engineering conference (RE), Karlskrona, pp 444–450

  • Franch X, Quer C, Renault S, Guerlain C, Palomares C (2013a) Constructing and using software requirement patterns. Managing requirements knowledge. Springer, Berlin. doi:10.1007/978-3-642-34419-05

  • Franch X (2013b) Software requirement patterns. In: Tutorial Summary in Proceedings of the 35th International Conference on Software Engineering (ICSE), San Francisco, pp 1499–1501

  • Galorath D (2012) Software Project Failure Costs Billions-Better Estimation & Planning Can Help. Galorath Incorporated. Last access on February 2016. http://galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help/

  • Goldin L, Berry DM (2013) Reuse Of requirements reduced time to market at one industrial shop: a case study. Requir Eng 20(1). doi:10.1007/s00766-013-0182-7

  • Haeng-Kon K (2014) Effective domain modeling for mobile business AHMS (adaptive human management systems) requirements. In: International conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD)

  • Hall T, Beecham S, Rainer A (2002) Requirements problems in twelve software companies: an empirical analysis. IEE Proceedings-Software 149(5). doi:10.1049/ip-sen:20020694

  • Hauksdottir D, Vermehren A, Savolainen J (2012) Requirements reuse at Danfoss. In: Proceedings of the 20th IEEE international conference on requirements engineering (RE), Chicago, pp 309–314

  • Hoffmann A, Sollner M, Hoffmann H, Leimeister JM (2012) Towards trust-based software requirement patterns. In: Proceedings of the IEEE Second International Workshop on Requirements Patterns (RePa), Chicago, pp 7–11

  • Hoffmann A, Janzen A, Hoffmann H, Leimeister JM (2013), Success Factors for Requirement Patterns Approaches Exploring Requirements Analysts’ Opinions and Whishes. Sozio-technisches Systemdesign im Zeitalter des Ubiquitous Computing (SUBICO) im Rahmen der Informatik

  • Hull E, Jackson K, Dick J (2011) Requirements engineering, 3rd edition. Springer Publishing Company, Incorporated

  • IEEE Computer Society. Software Engineering Standards Committee and IEEE-SA Standards Board (2009) IEEE recommended practice for software requirements specifications. Institute of Electrical and Electronics Engineers

  • Iqbal J, Ahmad R, Nizam MH, Nasir M, Noor MA (2013) Significant requirements engineering practices for software development outsourcing. In: Proceedings of the 22nd Australian software engineering conference (ASWEC), Melbourne, pp 137–144

  • Issa AA, Al-Ali A (2010) Use case patterns driven requirements engineering. In: Proceedings of the second international conference on computer research and development (ICCRD), Kuala Lumpur, pp 307–313

  • Jamieson S (2004) Likert scales: how to (ab) use them. Med Educ 38 (12). doi:10.1111/j.1365-2929.2004.02012.x

  • Jensen J, Tondel IA, Jaatun MG, Meland PH, Andresen H (2009) Reusable security requirements for healthcare applications. In: Proceedings of the international conference on availability, reliability and security (ARES), Fukuoka, pp 380–385

  • Jones C (2014) Scoring and evaluating software methods, practices, and results. Version 12.0. Last access on February 2016. http://Namcookanalytics.com

  • Karatas EK, Iyidir B, Birturk A (2014) Ontology-based software requirements reuse: case study in fire control software product line domain. In: Proceedings of the IEEE international conference on data mining workshop (ICDMW), Shenzhen, pp 832–839

  • Khankaew S, Riddle S (2014) A review of practice and problems in requirements engineering in small and medium software enterprises in Thailand. In: Proceedings of the 2014 IEEE fourth international workshop on empirical requirements engineering (EmpiRE), Karlskrona, pp 1–8

  • Kitchenham B, Pfleeger SL (2003) Principles of survey research part 6: data analysis. ACM SIGSOFT Software Engineering Notes 28(2):24–27

    Article  Google Scholar 

  • Konrad S, Cheng BH (2002) Requirements patterns for embedded systems. In: Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE), Essen, pp 127–136

  • Konrad S, Cheng BH (2005) Real-time specification patterns. In: Proceedings of the 27th International Conference on Software engineering (ICSE), St. Louis, pp 372–381

  • Krippendorff K (2012) Content analysis: An introduction to its methodology, 3rd edn. Sage Publications, Thousand Oaks

  • Lam W (1998) A case-study of requirements reuse through product families. Ann Softw Eng 5(1). doi:10.1023/A:1018912105115

  • Lam W, McDermid JA, Vickers AJ (1997) Ten steps towards systematic requirements reuse. Requir Eng 2(2). doi:10.1109/ISRE.1997.566834

  • Lethbridge TC, Sim SE, Singer J (2005) Studying software engineers: Data collection techniques for software field studies. Empir Softw Eng 10(3). doi:10.1007/s10664-005-1290-x

  • Li Y, Pelties C, Kaser M, Nararan N (2012) Requirements patterns for seismology software applications. In: Proceedings of the IEEE Second International Workshop on Requirements Patterns (RePa), Chicago, pp 12–16

  • Lo D, Nagappan N, Zimmermann T (2015) How Practitioners Perceive the Relevance of Software Engineering Research. In: Proceedings of the 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE), Bergamo, pp 415–425

  • Mannion M, Kaindl H (2008) Using parameters and discriminants for product line requirements. Syst Eng 11(1). doi:10.1002/sys.20086

  • Massonet P, Van Lamsweerde A (1997) Analogical reuse of requirements frameworks. In: Proceedings of the Third IEEE International Symposium on Requirements Engineering (RE), Annapolis, pp 26–37

  • Matloff N (2009) From Algorithm to Z-Scores: Probabilistic and Statistical Modeling in Computer Science. Last access on: February 2016. http://heather.cs.ucdavis.edu/~matloff/probstatbook.html

  • Matulevicius R (2005) Survey of Requirements Engineering Practice in Lithuanian Software Development Companies. Information Systems Development. Springer, US

    Google Scholar 

  • Méndez D., Wagner S (2015) Naming the pain in requirements engineering: A design for a global family of surveys and first results from Germany. Inf Softw Technol 57(1). doi:10.1016/j.infsof.2014.05.008

  • Mich L, Franch M, Novi IP (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(2). doi:10.1007/s00766-004-0195-3

  • Milewski AE (2007) Global and task effects in information-seeking among software engineers. Empir Softw Eng 12(3). doi:10.1007/s10664-007-9036-6

  • Naish J, Zhao L (2011) Towards a generalised framework for classifying and retrieving requirements patterns. In: Proceedings of the First International Workshop on Requirements Patterns (RePa), Trento, pp 42– 51

  • Neill CJ, Laplante PA (2003) Requirements engineering: the state of the practice. IEEE Softw 20(6). doi:10.1109/MS.2003.1241365

  • Niazi M, Cox K, Verner J (2008) A measurement framework for assessing the maturity of requirements engineering process. Softw Qual J 16(2). doi:10.1007/s11219-007-9033-4

  • Niazi M, El-Attar M, Usman M, Ikram N (2012) An empirical study identifying high perceived value requirements engineering practices in global software development projects. In: Proceedings of the 7th International Conference on Software Engineering Advances (ICSEA), Lisbon, pp 283–288

  • Nikula U, Sajaniemi J, Kälviäinen H (2000) A State-of-the-practice Survey on Requirements Engineering in Small-and Medium-sized Enterprises. Research Report. Lappeenranta University of Technology, Finland

    Google Scholar 

  • Nuseibeh B, Easterbrook S (2000) Requirements Engineering: A Roadmap. In: Proceedings of the Conference on The Future of Software Engineering (FOSE), International Conference on Software Engineering (ICSE), Limerick, pp 35–46

  • Pacheco CL, Garcia IA, Calvo-Manzano JA (2015) A proposed model for reuse of software requirements in requirements catalog. Journal of Software: Evolution and Process, 10.1002/smr.1698

  • Palomares C, Franch X, Quer C (2014a) Requirements reuse and patterns: a survey. In Requirements Engineering: Foundation for Software Quality. In: Proceedings of the 20th International Working Conference on Requirements Engineering: Foundation for Sofware Quality (REFSQ), Essen, pp 301– 308

  • Palomares C, Quer C, Franch X (2014b) Requirements Reuse with the PABRE Framework. Requirements Engineering Magazine 2014(1). IREB

  • Palomares C, Quer C, Franch X, Renault S, Guerlain C (2013) A catalogue of functional software requirement patterns for the domain of content management systems. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing (SAC), Coimbra, pp 1260–1265

  • Panis MC (2015) Reuse of Architecturally Derived Standards Requirements. IEEE International Requirements Engineering Conference (RE), Ottawa, pp 296–304

  • Pohl K (2010) Requirements engineering: fundamentals, principles, and techniques. Springer Publishing Company, Incorporated

  • Post A, Menzel I, Podelski A (2011) Applying restricted English grammar on automotive requirements?does it work? A case study. In: Proceedings of the 17th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), Essen, pp 166–180

  • Procaccino JD, Verner JM, Overmyer SP, Darter ME (2002) Case study: factors for early prediction of software development success. Inf Softw Technol 44(1). doi:10.1016/S0950-5849(01)00217-8

  • Renault S, Méndez O, Franch X, Quer C (2009) A Pattern-based Method for building Requirements Documents in Call-for-tender Processes. Int J Comput Sci Appl 6(5):175–202

    Google Scholar 

  • Rine DC, Nada N (2000) An empirical study of a software reuse reference model. Inf Softw Technol 42(1). doi:10.1016/S0950-5849(99)00055-5

  • Robertson J, Robertson S (2000) Volere Requirements Specification Template. Atlantic System Guild, Last access on February 2016. http://www.volere.co.uk/template.htm

  • Sadraei E, Aurum A, Beydoun G, Paech B (2007) A field study of the requirements engineering practice in Australian software industry. Requir Eng 12(3). doi:10.1007/s00766-007-0042-4

  • Salini P, Kanmani S (2012) A knowledge-oriented approach to security requirements for an E-voting system. Int J Comput Appl 49(11). doi:10.5120/7671-0953

  • Sawyer P, Sommerville I, Viller S (1997) Requirements process improvement through the phased introduction of good practice. Software Process: Improvement and Practice 3(1). doi:10.1002/(SICI)1099-1670(199703)3:1%3C19::AID-SPIP66%3E3.0.CO;2-X

  • Schirpenbach J (2014) Re-Use of Requirements via Libraries: Opportunities & Approaches. Requirements Engineering Magazine 2. IREB

  • Shahrokni A, Feldt R (2010) Towards a framework for specifying software robustness requirements based on patterns. In: Proceedings of the 16th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ), Göteborg, pp 79–84

  • Solemon B, Sahibuddin S, Ghani AAA (2009) Requirements engineering problems and practices in software companies: An industrial survey. Advances in Software Engineering. Springer Berlin Heidelberg

  • Solemon B, Sahibuddin S, Ghani AAA (2010) Adoption of requirements engineering practices in Malaysian software development companies. Advances in Software Engineering. Springer Berlin Heidelberg

  • Solinski A, Petersen K (2014) Prioritizing agile benefits and limitations in relation to practice usage. Softw Qual J. doi:10.1007/s11219-014-9253-3

    Google Scholar 

  • Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. John Wiley & Sons, Inc

  • Sommerville I, Ransom J (2005) An empirical study of industrial requirements engineering process assessment and improvement. ACM Trans Softw Eng Methodol 14 (1). doi:10.1145/1044834.1044837

  • Souag A, Mazo R, Salinesi C, Comyn-Wattiau I (2015) Reusable knowledge in security requirements engineering: a systematic mapping study. Requir Eng. doi:10.1007/s00766-015-0220-8

    Google Scholar 

  • Srivastava S (2013) A Repository of Software Requirement Patterns for Online Examination System. Int J Comput Sci 10(3)

  • Supakkul S, Hill T, Chung L, Tun TT, Sampaio do Prado Leite JC (2010) An NFR pattern approach to dealing with NFRs. In: Proceedings of the 18th IEEE International Requirements Engineering Conference (RE), Sydney, pp 179–188

  • SwissQ (2012a) SwissQ Requirements Trends & Benchmarks Switzerland 2012. Last access on: October 2016. http://www.slideshare.net/swissq/agile-and-requirements-trends-benchmarks-2012-englisch

  • SwissQ (2012b) SwissQ Agile Trends & Benchmarks Switzerland 2012. Last access on: October 2016. http://www.mcpa.biz/wp-content/uploads/2015/09/SwissQ_Agile_Trends_2012_Web_EN-1.pdf

  • Schär B, Jüngling S, Thönssen B (2015) Towards an Agile Requirements Engineering Process Combining HERMES 5 and SCRUM. In: Proceedings of the International Conference on Enterprise Systems (ES), Basel

  • Tahir A, Ahmad R (2010) Requirement engineering practices-an empirical study. In: Proceedings of the International Conference on Computational Intelligence and Software Engineering (CiSE), Wuhan, pp 1–5

  • Tiwana A (2004) An empirical study of the effect of knowledge integration on software development performance. Inf Softw Technol 46(13). doi:10.1016/j.infsof.2004.03.006

  • Toval A, Nicolás J, Moros B, García F. (2002) Requirements reuse for improving information systems security: a practitioner’s approach. Requir Eng 6(4). doi:10.1007/PL00010360

  • Trochim WM, Donnelly JP (2006) Research methods knowledge base. Last access on February 2016, http://www.socialresearchmethods.net/kb/

  • Umarji M, Sim SE (2013) Archetypal Internet-Scale Source Code Searching. Finding Source Code on the Web for Remix and Reuse. Springer, New York

    Google Scholar 

  • VersionOne (2016) The 10th Anual State of AgileTM Report. Last access on October 2016. http://stateofagile.versionone.com/ (by subscription)

  • von Knethen A, Paech B, Kiedaisch F, Houdek F (2002) Systematic requirements recycling through abstraction and traceability. In: Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE), Essen, pp 273–281

  • Wiegers K, Beatty J (2013) Software requirements. Microsoft Press

  • Withall S (2007) Software requirement patterns. Microsoft Press

  • Wohlin C, Runeson P, Host M, Ohlsson MC, Regnell B, Wesslen A (2012) Experimentation in software engineering: an introduction. Kluwer Academic Publishers Norwell, MA, USA

    Book  MATH  Google Scholar 

  • Wright KB (2005) Researching Internet-based populations: Advantages and disadvantages of online survey research, online questionnaire authoring software packages, and web survey services. J Comput-Mediat Commun 10(3). doi:10.1111/j.1083-6101.2005.tb00259.x

  • Young R (2015) The Main Thing is Keeping the Main Thing the Main Thing. Requirements Engineering Magazine 2015(1). IREB

Download references

Acknowledgments

We want to thank Claudia Ayala and Birgit Penzenstadler for their comments and suggestions. This work has been partially funded by the Spanish project TIN2013-44641-P.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xavier Franch.

Additional information

Communicated by: Daniel Berry

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Palomares, C., Quer, C. & Franch, X. Requirements reuse and requirement patterns: a state of the practice survey. Empir Software Eng 22, 2719–2762 (2017). https://doi.org/10.1007/s10664-016-9485-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-016-9485-x

Keywords

Navigation