Abstract
Requirements specifications are essential to properly communicate requirements among the software development team members. However, each role in the team has different informational needs in order to perform their activities. Thus, the requirements engineer should provide the necessary information to meet each team member's necessities to reduce errors in software development due to inadequate or insufficient communication. Although some research is concerned with communicating requirements among clients and analysts, no related research has been found to evaluate and improve requirements communication within the software development team. With this in mind, we present the ReComP framework, which assists in the identification of problems in the artifacts used to communicate requirements, identification of informational requirements for each role of the development team, and provide improvement suggestions to address requirements communication problems. ReComP was developed using the Design Science Research (DSR) method and this paper presents the results of two DSR cycles considering the use of ReComP for the developer and tester roles by using, respectively, user stories and use cases as requirements specifications. The results provide evidence that ReComP helps software development teams to identify and improve issues in the requirements specifications used for project communication. In two independent studies, ReComP was able to decrease the frequency of problems by 77% in user stories identified by developers and the frequency of all (100%) problems in use cases identified by testers.













Similar content being viewed by others
Availability of data and material
Technical report available [52].
Notes
We defined ReComP framework according to the Cambridge dictionary, “a supporting structure around which something can be built” and “a system of rules, ideas, or beliefs that is used to plan or decide something”.
References
Bjarnason E, Sharp H (2017) (2017) The role of distances in requirements communication: a case study. Requirements Eng 22(1):1–26. https://doi.org/10.1007/s00766-015-0233-3
Fricker SA, Schneider K, Fotrousi F, Thuemmler C (2016) Workshop videos for requirements communication. Requirements Eng 21(4):521–552. https://doi.org/10.1007/s00766-015-0231-5
Bjarnason E, Wnuk K, Regnell B (2011) Requirements are slipping through the gaps—a case study on causes and effects of communication gaps in large-scale software development. In: 19th international requirements engineering conference. IEEE. pp 37–46.
Begel A, Zimmermann T (2014) Analyze this! 145 questions for data scientists in software engineering. In: Proceedings of the 36th International Conference on Software Engineering. ACM, pp 12–23. https://doi.org/10.1145/2568225.2568233
Méndez Fernández D, Wagner S, Kalinowski M, Felderer M, Mafra P, Vetrò A, Conte T et al (2017) Naming the pain in requirements engineering. Empir Softw Eng 22:1–41. https://doi.org/10.1007/s10664-016-9451-7
Ali SW, Ahmed QA, Shafi I (2018) Process to enhance the quality of software requirement specification document. In: 2018 International Conference on Engineering and Emerging Technologies (ICEET). IEEE, pp 1–7. https://ieeexplore.ieee.org/document/8338619/
Reggio G, Leotta M, Ricca F, Clerissi D (2018) DUSM: a method for requirements specification and refinement based on disciplined use cases and screen mockups. J Comput Sci Technol 33(5):918–939. https://doi.org/10.1007/s11390-018-1866-8
Anda B, Hansen K, Sand G (2009) An investigation of use case quality in a large safety-critical software development project. Inf Softw Technol 51(12):1699–1711. https://doi.org/10.1016/j.infsof.2009.04.005
Cockburn A (2001) Writing effective use cases, vol 1. Addison-Wesley, Boston
Mohagheghi P, Anda B, Conradi R (2005) Effort estimation of use cases for incremental large-scale software development. Intl Conf Softw Eng. https://doi.org/10.1109/ICSE.2005.1553573
Schon E-M, Winter D, Escalona MJ, Thomaschewski J (2017) Key challenges in agile requirements engineering. In: Baumeister H, Lichter H, Riebisch M (eds) Agile processes in software engineering and extreme programming. Springer, Cham, pp 37–51. https://doi.org/10.1007/978-3-319-57633-6_3
Schön EM, Thomaschewski J, Escalona MJ (2017) Agile requirements engineering: a systematic literature review. Computer Standards and Interfaces 49:79–91. https://doi.org/10.1016/j.csi.2016.08.011
Gilson F, Irwin C (2018) From user stories to use case scenarios towards a generative approach. In: Australasian Software Engineering Conference (ASWEC). IEEE, pp 61–65.
Jia J, Yang X, Zhang R, Liu X (2019) Understanding software developers’ cognition in agile requirements engineering. Sci Comput Program 178:1–19. https://doi.org/10.1016/j.scico.2019.03.005
Lucassen G, Dalpiaz F, van der Werf JME, Brinkkemper S (2016) Improving agile requirements: the quality user story framework and tool. Requirements Eng 21(3):383–403. https://doi.org/10.1007/s00766-016-0250-x
Ricca F, Scanniello G, Torchiano M, Reggio G, Astesiano E (2014) Assessing the effect of screen mockups on the comprehension of functional requirements. ACM Trans Softw Eng Methodol (TOSEM) 24:1–38. https://doi.org/10.1145/2629457
Hoisl B, Sobernig S, Strembeck M (2014) Comparing three notations for defining scenario-based model tests: a controlled experiment. In: International Conference on the Quality of Information and Communications Technology (QUATIC 2014), pp 180–189. https://doi.org/10.1109/QUATIC.2014.62
Gross A, Doerr J (2012) What you need is what you get!: the vision of view-based requirements specifications. In: IEEE International Requirements Engineering Conference (RE). IEEE, pp 171–180. https://doi.org/10.1109/RE.2012.6345801
Liskin O (2015) How artifacts support and impede requirements communication. In: International working conference on requirements engineering: foundation for software quality, vol 9013. Springer, Cham, pp 132–147. https://doi.org/10.1007/978-3-319-16101-3_9
Tu Y-C, Tempero E, Thomborson C (2016) An experiment on the impact of transparency on the effectiveness of requirements documents. Empir Softw Eng 21(3):1035–1066. https://doi.org/10.1007/s10664-015-9374-8
Johannesson P, Perjons E (2014) An introduction to design science. Springer. https://doi.org/10.1007/978-3-319-10632-8
Hevner A, Chatterjee S (2010) Design Research in Information Systems. Design Research in Information Systems. Springer, Boston, pp 9–22. https://doi.org/10.1007/978-1-4419-5653-8_2
Wieringa R (2014) Design science methodology for information systems and software engineering. Springer, Berlin
Bjarnason E, Unterkalmsteiner M, Borg M, Engström E (2016) A multi-case study of agile requirements engineering and the use of test cases as requirements. Inf Softw Technol 77:61–79. https://doi.org/10.1016/j.infsof.2016.03.008
Méndez Fernández D, Wagner S, Lochmann K, Baumann A, de Carne H (2012) Field study on requirements engineering: Investigation of artefacts, project parameters, and execution strategies. Inf Softw Technol 54(2):162–178. https://doi.org/10.1016/j.infsof.2011.09.001
Medeiros J, Vasconcelos A, Silva C, Goulão M (2018) Quality of software requirements specification in agile projects: a cross-case analysis of six companies. J Syst Softw 142:171–194. https://doi.org/10.1016/j.jss.2018.04.064
Lauesen S, Kuhail MA (2012) Task descriptions versus use cases. Requirements Eng 17(1):3–18. https://doi.org/10.1007/s00766-011-0140-1
Wang X, Zhao L, Wang Y, Sun J (2014) The role of requirements engineering practices in agile development: an empirical study. In: Proceedings of the Asia Pacific Requirements Engineering Symposium. CCIS Springer 432:195–209. https://doi.org/10.1007/978-3-662-43610-3_15
Tiwari S, Gupta A (2015) A systematic literature review of use case specifications research. Inf Softw Technol 67:128–158. https://doi.org/10.1016/j.infsof.2015.06.004
Phalp KT, Vincent J, Cox K (2007) Assessing the quality of use case descriptions. Software Qual J 15(1):69–97. https://doi.org/10.1007/s11219-006-9006-z
Zeaaraoui A, Bougroun Z, Belkasmi MG, Bouchentouf T (2013) User stories template for object-oriented applications. In: Innovative Computing Technology (INTECH), IEEE, pp 407–410. https://doi.org/10.1109/INTECH.2013.6653681
Inayat I, Salim SS, Marczak S, Daneva M, Shamshirband S (2015) A systematic literature review on agile requirements engineering practices and challenges. Comput Hum Behav 51:915–929. https://doi.org/10.1016/j.chb.2014.10.046
Cohn M (2004) User stories applied: for agile software development. Addison-Wesley Professional, Boston
Soares HF, Alves NSR, Mendes TS, Mendonça MG, Spínola RO (2015) Investigating the link between user stories and documentation debt on software projects. In: International Conference on Information Technology. IEEE, pp 385–390. https://doi.org/10.1109/ITNG.2015.68
Knight W (2018) Business Objectives vs. user goals. UX for Developers. https://doi.org/10.1007/978-1-4842-4227-8_3
Baumer D, Bischofberger W, Lichter H, Zullighoven H (1996) User interface prototyping-concepts, tools, and experience. In: Proceedings of IEEE 18th International Conference on Software Engineering, pp 532–541. https://doi.org/10.1109/ICSE.1996.493447
De Lucia A, Qusef A (2010) Requirements engineering in agile software development. J Emerg Technol Web Intell 2(3):212–220
Blomkvist JK, Persson J, Åberg J (2015) Communication through boundary objects in distributed agile teams. In: Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. ACM, 2015. pp 1875–1884. https://doi.org/10.1145/2702123.2702366
Preece J, Sharp H, Rogers Y (2015) Interaction design: beyond human-computer interaction, 4th edition. Wiley, Hoboken
Walker M, Takayama L, Landay JA (2002) High-fidelity or low-fidelity, paper or computer? Choosing attributes when testing web prototypes. In: Proceedings of the human factors and ergonomics society annual meeting, vol 46(5), pp 661–665. https://doi.org/10.1177/154193120204600513
Ferreira J, Noble J, Biddle R (2007) Agile development iterations and UI design. Proc Agile 2007:50–58. https://doi.org/10.1109/AGILE.2007.8
Reggio G, Ricca F, Leotta M (2014) Improving the quality and the comprehension of requirements: disciplined use cases and mockups. In: 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications. IEEE, pp 262–266. https://doi.org/10.1109/SEAA.2014.79
Hess A, Diebold P, Seyff N (2019) Understanding information needs of agile teams to improve requirements communication. J Ind Inf Integr 14:3–15. https://doi.org/10.1016/j.jii.2018.04.002
Dresch A, Lacerda DP, Antunes Júnior JAV (2015) Design science research: método de pesquisa para avanço da ciência e tecnologia. Bookman, Porto Alegre
Hevner AR (2007) A three-cycle view of design science research. Scand J Inf Syst 19(2): 87–92. https://aisel.aisnet.org/sjis/vol19/iss2/4
Oran AC, Nascimento E, Santos G, Conte T (2017) Analysing requirements communication using use case specification and user stories. In: Proceedings of the 31st Brazilian Symposium on Software Engineering. Association for Computing Machinery, New York, NY, USA, pp 214–223. https://doi.org/10.1145/3131151.3131166
Oran AC, Valentim N, Santos G, Conte T (2019) Why use case specifications are hard to use in generating prototypes? IET Softw 13(6):510–517. https://doi.org/10.1049/iet-sen.2018.5239
Ibriwesh I, Ho S-B, Chai I, Tan C-H (2017) A controlled experiment on comparison of data perspectives for software requirements documentation. Arab J Sci Eng 42(8):3175–3189. https://doi.org/10.1007/s13369-017-2425-2
Thuan NH, Drechsler A, Antunes P (2019) Construction of design science research questions. Commun Assoc Inf Syst 44.1:332–363. https://doi.org/10.17705/1CAIS.04420
Jiang L, Eberlein A (2008) A framework for requirements engineering process development (FRERE). In: Proceedings of the 19th Australian Conference on Software Engineering, pp 507–516. https://doi.org/10.1109/ASWEC.2008.4483240
Hassenzahl M (2008) User experience (UX): towards an experiential perspective on product quality. In: Proceedings of the 20th French-Speaking Conference on Human-Computer Interaction ’08, ACM Press, pp 11–15. https://doi.org/10.1145/1512714.1512717
Oran AC, Santos G, Gadelha B, Conte T (2020) A framework for evaluating and improving requirement specifications based on the developers and testers perspective—technical report. https://doi.org/10.6084/m9.figshare.12563756
Davis FD, Bagozzi RP, Warshaw PR (1989) User acceptance of computer technology: a comparison of two theoretical models. Manage Sci 35(8):982–1003. https://doi.org/10.1287/mnsc.35.8.982
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer, Berlin, Heidelberg, p 9783642290
Salman I, Misirli AT, Juristo N (2015) Are students representatives of professionals in software engineering experiments?. In: 37th International Conference on Software Engineering (ICSE 2015), pp 666–676. https://doi.org/10.1109/ICSE.2015.82
Höst M, Regnell B, Wohlin C (2000) Using students as subjects—a comparative study of students and professionals in lead-time impact assessment. Empir Softw Eng 5(3):201–214. https://doi.org/10.1023/A:1026586415054
Runeson P (2003) Using students as experiment subjects—an analysis on graduate and freshmen student data. In: Proceedings of the 7th international conference on empirical assessment in software engineering. Citeseer, pp 95–102
Acknowledgments
This research, according to Article 48 of Decree nº 6.008/2006, was partially funded by Samsung Electronics of Amazonia Ltda, under the terms of Federal Law nº 8.387/1991, through agreement nº 003/2019, signed with ICOMP/UFAM. This work was supported by the Foundation for Research Support of the State of Amazonas (FAPEAM)—POSGRAD, and the Coordination for the Improvement of Higher Education Personnel—Brazil (CAPES)—Finance Code 001. Besides, we recognize the financial support provided by CNPq through process 314174/2020-6 and FAPEAM 062.00150/2020. UNIRIO through process no. PPQ-UNIRIO 01/2019 e 04/2020. We thank all participants in the empirical study and the researchers of the USES-UFAM research group for their valuable contributions in carrying out this study.
Funding
Not applicable.
Author information
Authors and Affiliations
Contributions
Ana Carolina Oran: Conceptualization, Methodology, Formal analysis, Investigation, Data Curation, Writing—Original Draft, Visualization. Gleison Santos: Validation, Writing—Review and Editing, Supervision. Bruno Gadelha: Methodology, Verification, Validation, Writing—Review and Editing. Tayana Conte: Validation, Writing—Review and Editing, Supervision.
Corresponding author
Ethics declarations
Conflicts of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Oran, A.C., Santos, G., Gadelha, B. et al. A framework for evaluating and improving requirements specifications based on the developers and testers perspective. Requirements Eng 26, 481–508 (2021). https://doi.org/10.1007/s00766-021-00352-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-021-00352-6