Submitted Successfully!
To reward your contribution, here is a gift for you: A free trial for our video production service.
Thank you for your contribution! You can also upload a video entry or images related to this topic.
Version Summary Created by Modification Content Size Created at Operation
1 -- 1702 2023-05-25 02:25:01 |
2 format correction -15 word(s) 1687 2023-05-25 04:45:15 |

Video Upload Options

Do you have a full video?

Confirm

Are you sure to Delete?
Cite
If you have any further questions, please contact Encyclopedia Editorial Office.
Xu, X.; Dou, Y.; Qian, L.; Zhang, Z.; Ma, Y.; Tan, Y. Requirement Quality Assessment Method Based on User Stories. Encyclopedia. Available online: https://encyclopedia.pub/entry/44801 (accessed on 02 September 2024).
Xu X, Dou Y, Qian L, Zhang Z, Ma Y, Tan Y. Requirement Quality Assessment Method Based on User Stories. Encyclopedia. Available at: https://encyclopedia.pub/entry/44801. Accessed September 02, 2024.
Xu, Xiangqian, Yajie Dou, Liwei Qian, Zhiwei Zhang, Yufeng Ma, Yuejin Tan. "Requirement Quality Assessment Method Based on User Stories" Encyclopedia, https://encyclopedia.pub/entry/44801 (accessed September 02, 2024).
Xu, X., Dou, Y., Qian, L., Zhang, Z., Ma, Y., & Tan, Y. (2023, May 25). Requirement Quality Assessment Method Based on User Stories. In Encyclopedia. https://encyclopedia.pub/entry/44801
Xu, Xiangqian, et al. "Requirement Quality Assessment Method Based on User Stories." Encyclopedia. Web. 25 May, 2023.
Requirement Quality Assessment Method Based on User Stories
Edit

Agile development processes based on user stories often face issues such as incomplete, inconsistent, and inaccurate user requirements, which increase the workload of agile development teams and reduce the efficiency of product function development, ultimately resulting in the inability to respond quickly to user requirements.

user requirements quality assessment user stories

1. Introduction

Agile development is a prominent research direction in requirements engineering. Recently, novel advancements in theory have emerged, while abundant practical experience has been obtained in various enterprise operations in the Internet and big data environments [1]. At its core, agile development is a development method that responds to quickly changing user requirements through iterative, small-scale, and rapid development and functionality delivery, ultimately allowing for a rapid response to user requirements and the continuous optimization of function design [2]. Compared to the traditional waterfall approach, agile development has a significant advantage in dealing with unclear or changing requirements, and can greatly minimize the risk of costly user requirement changes in the later stages of project development [3].
The successful implementation of agile development in a project relies on the efficient, rapid, and accurate flow of information between organizations or members [4]. Of all kinds of information, user requirements are of the utmost importance, serving as the core of agile development teams. Inaccurate requirements can impede progress, drastically impact the quality of the delivered product, and even damage the morale of the development team. Consequently, high-quality user requirements can be seen as a “catalyst” that provides a solid foundation in the early stages of a project, bolsters the positive feedback of iterative development, leads the entire project development process in a virtuous cycle, and ultimately results in a product that effectively meets user needs. Requirements play a crucial role in project development across various fields. For example, in research on optical wireless communication systems based on smartphone cameras, the technology requirements of smartphone cameras play a critical and leading role in generating solutions for optical camera communication [5]. In the field of the model-based design of cyber-physical systems, traceability from requirements to the model to the simulation results has become increasingly important [6]. In the development of mobile learning applications, inappropriate technology requirements will affect the quality and increase the development cost of mobile learning applications [7]. Additionally, in the Internet environment, users can add their comments as feedback in the mobile application store, and this feedback can be considered a requirement and analyzed through natural language processing to improve the software quality and functionality of mobile applications [8][9].
In agile development, user stories are commonly used as the source of user requirements instead of traditional requirement specifications. A user story is composed of three elements, namely role, activity, and value, and is usually expressed as “What ‘Activity’ a ‘role’ wants to accomplish to achieve what ‘Value’” [10][11]. By collecting a large number of user stories, agile development teams can quickly comprehend user requirements, allowing for rapid response and iteration. However, in many project practices, the agile development process with user stories as a tool is not always implemented smoothly [12][13]. This is mainly due to the wide source of user requirements, as well as different cultural backgrounds, abilities, and cooperation degrees of users, causing most of the collected user stories to be incomplete, inconsistent, and inaccurate, thereby reducing the usability of user requirement information and seriously affecting the efficiency of agile development.
The traditional approach to these problems involves setting guidelines prior to collecting user stories. The INVEST (independent, negotiable, valuable, estimable, small, testable) principles provide a framework for evaluating the quality of user stories [14]. Agile teams typically analyze user stories through manual review after collection and by filtering out qualified stories for development. While these strategies improve quality to some extent, they are impractical when the number of user stories is large. Investing too much time and effort in review can burden the agile team, impeding iteration speed and making it difficult to meet requirements on time. Thus, given the pragmatic requirements of agile development practices, it is critical to construct a scientific, automatic, and effective user requirement quality assessment method to assist agile teams in improving requirement quality and development efficiency.

2. Definition of Requirement Quality

Requirement quality refers to the degree to which requirements satisfy the needs of stakeholders and meet the goals of project development. In other words, high-quality requirements are those that clearly and unambiguously describe what the system needs to carry out without any inconsistencies, conflicts, or omissions [15]. Quality requirements are typically characterized by completeness, consistency, correctness, clarity, and testability [16]. They should be able to provide a clear and precise specification of what a system should do, what it should not do, and how it should behave under different conditions [17]. The definition of requirement quality has been given new connotations through the continuous efforts of researchers. Calazans et al. [18] defined low-quality requirements as “requirements smells” and confirmed the existence of requirements smells in the quality requirement specifications classified by ISO/IEC 25010 by analyzing 26 institutional regulations of a large public financial institution. Eugenio et al. [19] extended the definition of requirement quality in the temporal dimension and developed an industrial method for analyzing the evolution of requirement quality, which is implemented in the system quality analyzer tool. Although the definition of requirement quality is constantly being refined and innovated, the applicability of requirement quality definitions has not yet been matched and modified in the field of agile development, and relevant mathematical models and assessment methods for requirement quality have not been established.

3. Assessment of Requirement Quality

Assessing requirement quality is an essential task in project development [20]. Numerous methods and techniques have been proposed for requirement quality assessment. These methods can be broadly classified into two categories: subjective and objective. Subjective methods involve human judgment and expert opinions, such as manual reviews [21][22], walkthroughs [23][24], and surveys [24][25]. Objective methods, on the other hand, employ automated tools and formal techniques, such as static analysis [26], natural language processing [27][28][29][30], machine learning [20][31], and deep learning [32]. Objective methods have gained increasing attention due to their advantages of automation, repeatability, and scalability. Wang et al. [33] proposed an approach to automatically detect defects in requirements. By utilizing structural, syntactic, and semantic analysis, this approach can automatically improve the quality of requirements. Valentin et al. [31] developed a novel and flexible approach for assessing requirement quality based on machine learning techniques that can be adapted to various environments, projects, organizations, and quality standards. Gregorius et al. [32] utilized deep learning methods to investigate the impact of diverse software domains on quality attribute prediction. This approach can assist users in identifying quality attributes in their requirement writing. Although these objective methods have improved the efficiency of requirement quality assessment, the evaluation results of requirement development teams are still important indicators that cannot be ignored in agile development practices. Therefore, it is necessary to combine subjective and objective requirement evaluation methods to improve the applicability and effectiveness of addressing requirement quality issues in agile development.

4. Relationship with Project Development Outcomes

Requirement quality has a significant impact on project development outcomes, such as development costs, user satisfaction, and project success [30][34][35]. Low-quality requirements can lead to project development failures, project delays, cost overruns, and customer dissatisfaction [25][36]. High-quality requirements, on the other hand, can facilitate the development of systems that meet user needs, are easy to use, and have good performance and reliability [26][37]. Therefore, ensuring requirement quality is essential to achieving project development success. Eman et al. [25] conducted a survey of Egyptian software development practitioners through questionnaires and revealed the association between requirement quality and software development success rates. Furthermore, Amalinda et al. [30] evaluated the efficacy of IBM’s requirement quality assistant tool in aiding the requirement quality assessment of Bosch requirement engineers, and suggested applicable improvement recommendations. Emil et al. [36] interviewed 20 project practitioners, including requirement engineers, developers, and testers, and found that when they dealt with requirements they considered to be of low quality, they experienced negative emotions, more work, and additional communication, which indirectly led to problems such as slow project progress and low completion quality of development tasks. As seen, requirement quality is a key factor that influences project development outcomes. Researchers in agile development also need to focus on requirement quality issues, and targeted requirement quality assessment methods need to be proposed.
In general, there exists a plethora of research on requirement quality in requirements engineering, yet few studies have focused on modeling and analyzing the user requirement quality assessment process in agile development. Agile development is distinct from other requirement engineering approaches because it emphasizes faster response and iteration of user requirements and functional design, thereby necessitating higher requirement quality. Drawing on the extant research, researchers propose a user requirement quality assessment process and constructs a user requirement quality assessment method, which is a pioneering and significant endeavor in agile requirement engineering.

5. User Requirement Quality Assessment Framework

The agile development process is illustrated in Figure 1, which is extended with the overall framework of requirement quality assessment. When the requirements are not clearly specified, the project team should start by identifying target users and forming a target user group. Subsequently, user story cards are distributed to the target user group, and the purpose and standards of filling in the cards are explained to them. After the user story cards are filled out, they are collected back by the project team. Then, the quality of user requirements is automatically evaluated by computers, and only qualified user requirements are fed into fast development. Finally, the product or function is delivered to the user, and the rapid iteration of product development is achieved through user feedback.
Figure 1. Framework for user requirement quality assessment in agile development.
As illustrated in Figure 1, the quality assessment of user requirements is conducted from two perspectives: individual user requirements and overall user requirements. Based on seven quality assessment criteria, the process is divided into three steps. First, an individual user requirement is assessed from four aspects: complete, consistent, simple, and accurate. Second, unqualified requirements are fed back to the users and modified. Finally, the overall quality assessment of all requirements with partially qualified quality is conducted from three aspects: robust, unique, and harmonious. Fully qualified user requirements are generated by adding, deleting, and modifying requirements. 

References

  1. Monte, I.; Lins, L.; Marinho, M. Communities of Practice in Large-Scale Agile Development: A Systematic Literature Mapping. In Proceedings of the 2022 48th Latin American Computing Conference, CLEI 2022, Armenia, Colombia, 17–21 October 2022.
  2. Prenner, N.; Klunder, J.; Schneider, K. Defining Frames to Structure Agile Development in Hybrid Settings—A Multi-Case Interview Study. In Proceedings of the ACM International Conference Proceeding Series, Pittsburgh, PA, USA, 20–22 May 2022; pp. 34–44.
  3. Uluda, O.; Philipp, P.; Putta, A.; Paasivaara, M.; Lassenius, C.; Matthes, F. Revealing the state of the art of large-scale agile development research: A systematic mapping study. J. Syst. Softw. 2022, 194, 111473.
  4. Kumar, D.; Dhir, S. Requirement Barriers to Implement the Software Projects in Agile Development; Springer Series in Reliability Engineering; Springer: Berlin/Heidelberg, Germany, 2022; pp. 341–353.
  5. Shahjalal, M.; Hasan, M.K.; Chowdhury, M.Z.; Jang, Y.M. Smartphone Camera-Based Optical Wireless Communication System: Requirements and Implementation Challenges. Electronics 2019, 8, 913.
  6. Mengist, A.; Buffoni, L.; Pop, A. An Integrated Framework for Traceability and Impact Analysis in Requirements Verification of Cyber-Physical Systems. Electronics 2021, 10, 983.
  7. Almaiah, M.A.; Hajjej, F.; Lutfi, A.; Al-Khasawneh, A.; Alkhdour, T.; Almomani, O.; Shehab, R. A Conceptual Framework for Determining Quality Requirements for Mobile Learning Applications Using Delphi Method. Electronics 2022, 11, 788.
  8. Yahya, A.E.E.; Gharbi, A.; Yafooz, W.M.S.; Al-Dhaqm, A. A Novel Hybrid Deep Learning Model for Detecting and Classifying Non-Functional Requirements of Mobile Apps Issues. Electronics 2023, 12, 1258.
  9. Muellner, N.H. Karnaugh-Veitch Maps as Minimal Formal Contract between Textual Requirements and Tests: A Use-Case Based Technical Analysis. Electronics 2022, 11, 2430.
  10. Yang, B.; Ma, X.; Wang, C.; Guo, H.; Liu, H.; Jin, Z. User story clustering in agile development: A framework and an empirical study. Front. Comput. Sci. 2023, 17, 176213.
  11. Ferreira, A.M.; da Silva, A.R.; Paiva, A.C. Towards the Art of Writing Agile Requirements with User Stories, Acceptance Criteria, and Related Constructs. In Proceedings of the International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE–Proceedings, Online Streaming, 25–26 April 2022; pp. 477–484.
  12. Amna, A.R.; Poels, G. Ambiguity in user stories: A systematic literature review. Inf. Softw. Technol. 2022, 145, 106824.
  13. Ananjeva, A.; Persson, J.S.; Bruun, A. Integrating UX work with agile development through user stories: An action research study in a small software company. J. Syst. Softw. 2020, 170, 110785.
  14. Ussery, S.J. A Construct for Assessing and Improving the Quality of Agile User Stories. Ph.D. Thesis, The George Washington University, Washington, DC, USA, 2021.
  15. Femmer, H.; Vogelsang, A. Requirements quality is quality in use. IEEE Softw. 2019, 36, 83–91.
  16. Montgomery, L.; Fucci, D.; Bouraffa, A.; Scholz, L.; Maalej, W. Empirical research on requirements quality: A systematic mapping study. Requir. Eng. 2022, 27, 183–209.
  17. Unterkalmsteiner, M.; Gorschek, T. Requirements Quality Assurance in Industry: Why, What and How? Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer International Publishing: Berlin/Heidelberg, Germany, 2017; Volume 10153 LNCS, pp. 77–84.
  18. Seidel Calazans, A.T.; Paldes, R.A.; Canedo, E.D.; Seidel Masson, E.T.; De Albuquerque Guimaraes, F.; Fialho Rezende, K.M.; De Souza Goncalves, F.; Mariano, A.M. Quality requirements and the requirements quality: The indications from Requirements Smells in a Financial Institution Systems. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, Salvador, Brazil, 23–27 September 2019; pp. 472–480.
  19. Parra, E.; De La Vara, J.L.; Alonso, L. Poster: Analysis of requirements quality evolution. In Proceedings of the International Conference on Software Engineering, Gothenburg, Sweden, 27 May–3 June 2018; pp. 199–201.
  20. Hauser, S.; Muller-Schmeer, S.; Franczyk, B.; Radomski, S. An Improved Assessing Requirements Quality with ML Methods. In Proceedings of the 2022 14th IEEE International Conference on Computational Intelligence and Communication Networks, CICN 2022, Al-Khobar, Saudi Arabia, 4–6 December 2022; pp. 424–429.
  21. Kang, J.; Park, J. Data anonymization for requirements quality analysis: A reproducible automatic error detection task. In Proceedings of the LREC 2018—11th International Conference on Language Resources and Evaluation, Miyazaki, Japan, 7–12 May 2018; pp. 4432–4436.
  22. Anu, V.; Walia, G.; Hu, W.; Carver, J.C.; Bradshaw, G. Using a Cognitive Psychology Perspective on Errors to Improve Requirements Quality: An Empirical Investigation. In Proceedings of the International Symposium on Software Reliability Engineering, ISSRE, Ottawa, ON, Canada, 23–27 October 2016; pp. 65–76.
  23. Dehghani, R.; Wnuk, K.; Mendez, D.; Gorschek, T.; Ramsin, R. On Understanding the Relation of Knowledge and Confidence to Requirements Quality; Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer International Publishing: Cham, Switzerland, 2021; Volume 12685 LNCS, pp. 208–224.
  24. Gallego, E.; Chale-Gongora, H.G.; Llorens, J.; Fuentes, J.; Álvarez, J.; Genova, G.; Fraga, A. Requirements quality analysis: A successful case study in the industry. In Complex Systems Design & Management: Proceedings of the Seventh International Conference on Complex Systems Design & Management, CSD&M Paris 2016; Springer: Cham, Switzerland, 2016; pp. 187–201.
  25. Osama, E.; Abdelsalam, M.; Khedr, A. The effect of requirements quality and requirements volatility on the success of information systems projects. Int. J. Adv. Comput. Sci. Appl. 2020, 11, 420–425.
  26. Dargan, J.L.; Wasek, J.S.; Campos-Nanez, E. Systems performance prediction using requirements quality attributes classification. Requir. Eng. 2016, 21, 553–572.
  27. Timoshchuk, E.; Kuznetsov, S.; Usmonov, Z.; Utih, A.; Farah, A.; Saliu, H. Application of Natural Language Processing with GQM and AHP Approaches for Requirements Quality Assessment; CEUR Workshop Proceedings. 2019, Volume 2525. Available online: https://ceur-ws.org/Vol-2525/ITTCS-19_paper_30.pdf (accessed on 8 January 2023).
  28. Singh, M. Using Machine Learning and Graph Mining Approaches to Improve Software Requirements Quality: An Empirical Investigation. Ph.D. Thesis, North Dakota State University, Fargo, ND, USA, 2019.
  29. Reyterou, C. Requirements Quality in the Incremental Design Processes: Problems and Perspectives; CEUR Workshop Proceedings. 2016, Volume 1564. Available online: https://ceur-ws.org/Vol-1564/paper4.pdf (accessed on 8 January 2023).
  30. Post, A.; Fuhr, T. Case study: How Well Can IBM’s “requirements Quality Assistant” Review Automotive Requirements; CEUR Workshop Proceedings. 2021, Volume 2857. Available online: https://ceur-ws.org/Vol-2857/nlp4re8.pdf (accessed on 8 January 2023).
  31. Moreno, V.; Genova, G.; Parra, E.; Fraga, A. Application of machine learning techniques to the flexible assessment and improvement of requirements quality. Softw. Qual. J. 2020, 28, 1645–1674.
  32. Airlangga, G.; Liu, A. Investigating Software Domain Impact in Requirements Quality Attributes Prediction. J. Inf. Sci. Eng. 2022, 38, 295–316.
  33. Wang, C.; Jin, Z.; Zhao, H.; Cui, M. An Approach for Improving the Requirements Quality of User Stories. Jisuanji Yanjiu yu Fazhan/Comput. Res. Dev. 2021, 58, 731–748.
  34. Griva, A.; Byrne, S.; Dennehy, D.; Conboy, K. Software Requirements Quality: Using Analytics to Challenge Assumptions at Intel. IEEE Softw. 2022, 39, 80–88.
  35. Gopal, D.; Lyytinen, K. Effects of Social Structures in Requirements Quality of Open Source Software Project Development. In Proceedings of the ICIS 2017: Transforming Society with Digital Innovation, Seoul, Republic of Korea, 10–13 December 2017.
  36. Lind, E.; Gonzalez-Huerta, J.; Alegroth, E. Requirements Quality vs Process and Stakeholders’ Well-being: A Case of a Nordic Bank. arXiv 2022, arXiv:2211.06122.
  37. Aziz, R.A.; Wong, B. The Impacts of Requirements Relationships Knowledge on Requirements Quality and Software Development Project Success; CEUR Workshop Proceedings. 2021, Volume 3062, pp. 41–50. Available online: https://opus.lib.uts.edu.au/bitstream/10453/158585/2/Paper07_QuASoQ.pdf (accessed on 8 January 2023).
More
Information
Contributors MDPI registered users' name will be linked to their SciProfiles pages. To register with us, please refer to https://encyclopedia.pub/register : , , , , ,
View Times: 454
Revisions: 2 times (View History)
Update Date: 25 May 2023
1000/1000
ScholarVision Creations