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 -- 1009 2022-08-07 13:55:00 |
2 user stories; problem-oriented requirements; case study + 29 word(s) 1038 2022-08-08 03:46:00 |

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.
Kuhail, M.A.;  Lauesen, S. User Story Quality in Practice. Encyclopedia. Available online: https://encyclopedia.pub/entry/25926 (accessed on 29 March 2024).
Kuhail MA,  Lauesen S. User Story Quality in Practice. Encyclopedia. Available at: https://encyclopedia.pub/entry/25926. Accessed March 29, 2024.
Kuhail, Mohammad Amin, Soren Lauesen. "User Story Quality in Practice" Encyclopedia, https://encyclopedia.pub/entry/25926 (accessed March 29, 2024).
Kuhail, M.A., & Lauesen, S. (2022, August 07). User Story Quality in Practice. In Encyclopedia. https://encyclopedia.pub/entry/25926
Kuhail, Mohammad Amin and Soren Lauesen. "User Story Quality in Practice." Encyclopedia. Web. 07 August, 2022.
User Story Quality in Practice
Edit

User stories are widely used in Agile development as requirements. User stories have their origins in extreme programming (XP). Kent Beck, the founder of XP, stated that user stories were created to address the specific needs of software development, conducted by small teams in the face of changing and vague requirements.

user stories problem-oriented requirements case study

1. Introduction

User stories have their origins in extreme programming (XP). Kent Beck, the founder of XP, stated that user stories were created to address the specific needs of software development, conducted by small teams in the face of changing and vague requirements [1].
In general, user stories consist of brief descriptions of a system feature written from the perspective of the customer who wants the system [2]. Different user story templates and practices have been proposed by Beck [1], Jeffries, et al. [3], Beck and Fowler [4], and Cohn [2][5].
According to a survey in 2014, user stories have become the most used requirements in an agile environment [6]. In fact, user stories are integrated into many agile techniques, such as release and iteration planning and tracking the progress of a project. Thus, user stories are increasingly a means of communication with end-users and customers and the basis for developing the related functionalities and building them into the system [7].
Despite their popularity, there is little evidence of the effectiveness of user stories [8]. According to some authors, only simple, customer-visible functional requirements can be expressed by user stories [9], while the consistency and verifiability of user stories are difficult to validate [10].

2. User Stories as Requirements

Many organizations prefer to use user stories as high-level requirements, as opposed to traditional requirements [9]. User stories cover the essential parts of a requirement: who it is for, what is needed from the system, and, optionally, why it is important [11]. Further, user stories serve as conversation starters with customers, and they may change before, or during, implementation [2].
Despite their popularity, there are many concerns with user stories. For instance, they are often imprecise, require significant implementation effort [12], and are unsuited for expressing requirements for large or complex software systems. In such a case, separate system and subsystem requirements are needed [12][13].
Another major concern with user stories is the lack of requirements traceability, creating problems when requirements, code, and tests change over time [14][15].
Non-functional requirements (NFRs) are often ill-defined or ignored by user stories, as stakeholders focus on core functionality and ignore scalability, maintainability, security, portability, and performance [9][10].
The requirements side of the engineering community has made several attempts to address some of these concerns and improve the quality of user stories [11]. For instance, some authors [16] suggested guidelines for documenting NFRs, where the diversity, scope, and detail level of the NFRs are taken into account. Other authors [17] suggested using tools for visually modeling NFRs to help to reason out NFRs.
Some approaches to improving user stories utilize qualitative metrics, such as the heuristics of the INVEST framework (Independent-Negotiable-Valuable-Estimable-Scalable-Testable) [18], and the general guidelines for ensuring quality in agile requirements engineering, proposed by Heck and Zaidman [19]. Lucassen et al. [11] proposed the Quality User Story Framework, containing syntactic, semantic, and pragmatic criteria that user stories should conform to. The proposed frameworks do not advocate IEEE criteria, such as verifiability, traceability, and modifiability, but commend other criteria that overlap with the IEEE criteria, such as completeness and unambiguity.
A notable contribution to enhancing the quality of user stories in practice is a unified model that covers the essential elements of user stories: who it is for, why it is important, and what it needs [20], as well as visually representing user stories using Rational Trees (RTs) [21]. RTs help analysts view the interdependencies of user stories and could potentially help them identify inconsistencies or missing requirements. However, despite their benefits, it can be challenging for analysts to build RTs [22]. Further, it was found that using a visual representation (Rational Tree) did not help analysts determine whether user stories were missing requirements [23].

3. Requirements in Practice

Fernandez et al. [24] conducted a mapping study on empirical evaluation of software requirement specification techniques and found that most authors conducted experiments in academic environments. A recent example of such experiments can be found in [25]. The authors performed a controlled experiment with 118 undergraduate students to assess the benefits of user stories versus use cases as part of a course. The researchers concluded that participants could derive a more complete conceptual model with user stories because of the conciseness and focus of user stories and the repetitions of entities in the user stories.
A few articles examined how requirement engineering methods are used in practice. For instance, a recent study [26] assessed the quality of derived conceptual models from two notations: user stories and use cases. The study found that the requirement notation has little effect on the quality of the derived conceptual models. Another empirical study explores how practitioners use user stories and perceive their effectiveness (defined as the extent to which user stories improve productivity and quality of work deliverables). Lucassen et al. conducted a survey with 182 practitioners and 21 follow-up interviews. The results show that practitioners agree that using a user story template and quality guidelines, such as INVEST, improve the quality of the user story requirements [8]. Related studies found in [8][25] assessed the perceived benefits and effectiveness of user stories from the perspective of students and practitioners. Since perceived effectiveness is subjective, there is a need to assess the effectiveness of user stories in a more objective way. Another study [6] found that most practitioners do not use requirements standards and prefer to use their own personal style.
The aforementioned studies undoubtedly contributed to the body of knowledge. Nonetheless, none of these studies evaluated the quality of the requirements of a real-life project expressed with user stories. A recent systematic literature review suggests that agile requirements engineering as a research context needs more empirical investigations to better understand the impact of agile requirements engineering in practice [27].
An attempt to evaluate the quality of non-agile requirements was embodied in an experiment comparing use cases with task descriptions by asking 15 professionals to specify requirements for a hotline system with use cases or task descriptions [28]. The result of the experiment was that traditional use cases covered stakeholder needs poorly in areas where improvement was important but difficult and restricted the solution space severely.

References

  1. Beck, K.; Andres, C. Extreme Programming Explained: Embrace Change; Addison-Wesley: Boston, MA, USA, 2004.
  2. Cohn, M. User Stories Applied: For Agile Software Development; Addison-Wesley Professional: Boston, MA, USA, 2004.
  3. Jeffries, R.; Hendrickson, M.; Anderson, A.; Hendrickson, C. Extreme Programming Installed; Addison-Wesley Professional: Boston, MA, USA, 2000.
  4. Beck, K.; Fowle, M. Planning Extreme Programming; Addison-Wesley Professional: Boston, MA, USA, 2000.
  5. Cohn, M. Agile Estimating and Planning; Pearson: Upper Saddle River, NJ, USA, 2005.
  6. Wang, X.; Zhao, L.; Wang, Y.; Sun, J. The Role of Requirements Engineering Practices in Agile Development: An Empirical Study. In Requirements Engineering; Springer: Berlin/Heidelberg, Germany, 2014; pp. 195–209.
  7. Dimitrijević, S.; Jovanović, J.; Devedžić, V. A comparative study of software tools for user story management. Inf. Softw. Technol. 2015, 57, 352–368.
  8. Lucassen, G.; Dalpiaz, F.; Werf, J.M.; Brinkkemper, S. The Use and Effectiveness of User Stories in Practice. In Requirements Engineering: Foundation for Software Quality, Proceedings of the 22nd International Working Conference, REFSQ 2016, Gothenburg, Sweden, 14–17 March 2016; Springer: Cham, Switzerland, 2016; pp. 205–222.
  9. Cao, L.; Ramesh, B. Agile Requirements Engineering Practices: An Empirical Study. IEEE Softw. 2008, 25, 60–67.
  10. Ramesh, B.; Cao, L.; Baskerville, R. Agile requirements engineering practices and challenges: An empirical study. Inf. Syst. J. 2010, 20, 449–480.
  11. Lucassen, G.; Dalpiaz, F.; Werf, J.M.; Brinkkemper, S. Forging High-Quality User Stories: Towards a Discipline for Agile Requirements. In Proceedings of the 23rd IEEE International Conference on Requirements Engineering, Ottawa, ON, Canada, 24–28 August 2015.
  12. Savolainen, J.; Kuusela, J.; Vilavaara, A. Transition to Agile Development-Rediscovery of Important Requirements Engineering Practices. In Proceedings of the 18th IEEE International Requirements Engineering Conference, Sydney, NSW, Australia, 27 September–1 October 2010.
  13. Danevaa, M.; Veena, E.V.; Amrita, C.; Ghaisasb, S.; Sikkela, K.; Kumarb, R.; Wieringaa, R. Agile requirements prioritization in large-scale outsourced system projects: An empirical study. J. Syst. Softw. 2013, 86, 1333–1353.
  14. Ernst, N.A.; Murphy, G.C. Case studies in just-in-time requirements analysis. In Proceedings of the Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE), Chicago, IL, USA, 25 September 2012.
  15. Paetsch, F.; Eberlein, A.; Maurer, F. Requirements engineering and agile software development. In Proceedings of the Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, Linz, Austria, 11 June 2013; pp. 308–313.
  16. Behutiye, W.; Karhapää, P.; Costal, D.; Oivo, M.; Franch, X. Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal. In Product-Focused Software Process Improvement, Proceedings of the 18th International Conference, PROFES 2017, Innsbruck, Austria, 29 November–1 December 2017; Felderer, M., Méndez Fernández, D., Turhan, B., Kalinowski, M., Sarro, F., Winkler, D., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2017; Volume 10611.
  17. Farid, W.M.; Mitropoulos, F.J. NORMATIC: A visual tool for modeling Non-Functional Requirements in agile processes. In Proceedings of the IEEE Southeastcon, Orlando, FL, USA, 15–18 March 2012; pp. 1–8.
  18. Wake, B. INVEST in Good Stories, and SMART Tasks. 2003. Available online: http://xp123.com/articles/invest-in-good-stories-and-smart-tasks (accessed on 16 October 2020).
  19. Heck, P.; Zaidman, A. A Quality Framework for Agile Requirements: A Practitioner’s Perspective. arXiv 2014.
  20. Wautelet, Y.; Heng, S.; Kolp, M.; Mirbel, I. Unifying and Extending User Story Models. In Advanced Information Systems Engineering, Proceedings of the 26th International Conference, CAiSE 2014, Thessaloniki, Greece, 16–20 June 2014; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2014; Volume 8484.
  21. Wautelet, Y.; Heng, S.; Kolp, M.; Mirbel, I.; Poelmans, S. Building a rationale diagram for evaluating user story sets. In Proceedings of the 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS), Grenoble, France, 1–3 June 2016; pp. 1–12.
  22. Wautelet, Y.; Velghe, M.; Heng, S.; Poelmans, S.; Kolp, M. On Modelers Ability to Build a Visual Diagram from a User Story Set: A Goal-Oriented Approach. In Requirements Engineering: Foundation for Software Quality, Proceedings of the 24th International Working Conference, REFSQ 2018, Utrecht, The Netherlands, 19–22 March 2018; Lecture Notes in Computer Science; Kamsties, E., Horkoff, J., Dalpiaz, F., Eds.; Springer: Cham, Switzerland, 2018; Volume 10753.
  23. Tsilionis, K.; Maene, J.; Heng, S.; Wautelet, Y.; Poelmans, S. Conceptual Modeling Versus User Story Mapping: Which is the Best Approach to Agile Requirements Engineering? In Research Challenges in Information Science, Proceedings of the 15th International Conference, RCIS 2021, Limassol, Cyprus, 11–14 May 2021; Lecture Notes in Business Information Processing; Cherfi, S., Perini, A., Nurcan, S., Eds.; Springer: Cham, Switzerland, 2021; Volume 415.
  24. Condori-Fernandez, N.; Daneva, M.; Sikkel, K.; Wieringa, R. A Systematic Mapping Study on Empirical Evaluation of Software. In Proceedings of the Third International Symposium on Empirical Software Engineering and Measurement, Lake Buena Vista, FL, USA, 15–16 October 2009; pp. 502–505.
  25. Dalpiaz, F.; Sturm, A. Conceptualizing Requirements Using User Stories and Use Cases: A Controlled Experiment. REFSQ 2020: Requirements Engineering: Foundation for Software Quality; Springer: Cham, Switzerland, 2020.
  26. Dalpiaz, F.; Gieske, P.; Sturm, A. On deriving conceptual models from user requirements: An empirical study. Inf. Softw. Technol. 2021, 131, 106484.
  27. Inayat, I.; Salim, S.S.; Marczak, S.; Daneva, M.; Shamshirband, S. A systematic literature review on agile requirements engineering practices and challenges. Comput. Hum. Behav. 2015, 51, 915–929.
  28. Lauesen, S.; Kuhail, M.A. Use Cases versus Task Descriptions. In Requirements Engineering: Foundation for Software Quality; Lecture Notes in Computer Science; Berry, D., Franch, X., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6606.
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: 298
Revisions: 2 times (View History)
Update Date: 08 Aug 2022
1000/1000