User stories play an important role in agile development systems. In this study, a method of summarising user stories is proposed to reuse them in the future. To enhance the results, quality ...improvement should be made on user stories. It would help developers build better results, and it may also lead to omitting some essential information. To avoid such issues, user stories are duplicated in two exact similar groups, and quality improvement is made on one set while the other set remains unattained. With the help of a modified bag of words and a verb parser, a collection of keywords and key verbs are extracted for both groups. Afterwards, automatic user stories are made, and then an expert improves them. Next, some experts choose between the results and select the better ones. The result is evaluated by applying different experiments on the framework and prototype implementation on 14 data sets of a user story from industry and a fake data set from Duke University. The result showed 97% of micro F-measure and 93% of macro F-measure, which are promising. These new user stories can be used as the base user stories in future similar projects.
To provide privacy-aware software systems, it is crucial to consider privacy from the very beginning of the development. However, developers do not have the expertise and the knowledge required to ...embed the legal and social requirements for data protection into software systems.
We present an approach to decrease privacy risks during agile software development by automatically detecting privacy-related information in the context of user story requirements, a prominent notation in agile Requirement Engineering (RE).
The proposed approach combines Natural Language Processing (NLP) and linguistic resources with deep learning algorithms to identify privacy aspects into User Stories. NLP technologies are used to extract information regarding the semantic and syntactic structure of the text. This information is then processed by a pre-trained convolutional neural network, which paved the way for the implementation of a Transfer Learning technique. We evaluate the proposed approach by performing an empirical study with a dataset of 1680 user stories.
The experimental results show that deep learning algorithms allow to obtain better predictions than those achieved with conventional (shallow) machine learning methods. Moreover, the application of Transfer Learning allows to considerably improve the accuracy of the predictions, ca. 10%.
Our study contributes to encourage software engineering researchers in considering the opportunities to automate privacy detection in the early phase of design, by also exploiting transfer learning models.
Agile and User Experience have become popular for decades due to the ability to understand customer needs. However, both methods have different perspectives on the point of view, value, and quality. ...Moreover, user research in UX is usually conducted in the long term. The human aspect is a critical thing in Agile, the purpose of this aspect is to understand the value and need of the product, and with the user stories, several developers try to understand the human aspect of customers. In the elicitation process of the UX, developers used user stories to capture customer personality. One important factor is emotion; UX researchers measure emotions from the product journey, but it is unpleasant when the customer finds out the product does not meet expectations. This study aims to research the implementation of capturing emotion in user experience among Agile software development activities from several perspectives. In addition, Limited resources in software projects require innovation that can guarantee the sustainability and quality of the product. In this paper, we used modified systematic mapping to extract, classify, and interpret articles from popular publishers and map the user experience life cycle to answer several existing problems. This research shows that a combination of user requirement and UX increase the product's usability. Moreover, involving the user in the development center increases the project's success.
Context. Defects such as ambiguity and incompleteness are pervasive in software requirements, often due to the limited time that practitioners devote to writing good requirements. Objective.We study ...whether a synergy between humans’ analytic capabilities and natural language processing is an effective approach for quickly identifying near-synonyms, a possible source of terminological ambiguity. Method.We propose a tool-supported approach that blends information visualization with two natural language processing techniques: conceptual model extraction and semantic similarity. We evaluate the precision and recall of our approach compared to a pen-and-paper manual inspection session through a controlled quasi-experiment that involves 57 participants organized into 28 groups, each group working on one real-world requirements data set. Results.The experimental results indicate that manual inspection delivers higher recall (statistically significant with p ≤ 0.01) and non-significantly higher precision. Based on qualitative observations, we analyze the quantitative results and suggest interpretations that explain the advantages and disadvantages of each approach. Conclusions.Our experiment confirms conventional wisdom in requirements engineering: identifying terminological ambiguities is time consuming, even when with tool support; and it is hard to determine whether a near-synonym may challenge the correct development of a software system. The results suggest that the most effective approach may be a combination of manual inspection with an improved version of our tool.
•There is a need to assess the fitness of requirements notations and techniques for certain tasks.•Using either use cases or user stories as a means for specifying requirements has a limited impact ...on the quality of derived conceptual models.•While in a time-constrained experiment user stories led to significantly better conceptual models, this effect was not achieved through a longer quasi-experiment.•The most influential factor that increases the quality of a derived conceptual models is a systematic derivation process.•The paper further calls for examining the factors that affect requirements engineering tasks such as case complexity.
Context: There are numerous textual notations and techniques that can be used in requirements engineering. Currently, practitioners make a choice without having scientific evidence regarding their suitability for given tasks. This uninformed choice may affect task performance. Objective: In this research, we investigate the adequacy of two well-known notations: use cases and user stories, as a starting point for the manual derivation of a structural conceptual model that represents the domain of the system. We also examine other factors that may affect the performance of this task. Methods: This work relies on two experiments. The first is a controlled classroom experiment. The second one is a quasi-experiment, conducted over multiple weeks, that aims at evaluating the quality of the derived conceptual model in light of the notation used, the adopted derivation process, and the complexity of the system to be. We measure quality in terms of validity and completeness of the conceptual model. Results: The results of the controlled experiment indicate that, for deriving conceptual models, user stories fit better than use cases. Yet, the second experiment indicates that the quality of the derived conceptual models is affected mainly by the derivation process and by the complexity of the case rather than the notation used. Contribution: We present evidence that the task of deriving a conceptual model is affected significantly by additional factors other than requirements notations. Furthermore, we propose implications and hypotheses that pave the way for further studies that compare alternative notations for the same task as well as for other tasks. Practitioners may use our findings to analyze the factors that affect the quality of the conceptual model when choosing a requirements notation and an elicitation technique that best fit their needs.
Mobile enterprise applications (apps) are developed in dynamic and complex environments. Hardware characteristics, operating systems and development tools are constantly changing. In larger ...institutions, comprehensive corporate guidelines and requirements have to be followed. In addition, larger enterprises often develop numerous apps and lack an overview of development projects. Because of the size of such companies, a comprehensive direct information exchange between developers is often not practicable. In this situation, IT support is necessary, for example to prevent unnecessary duplication of work in the development of software artifacts such as user stories, app screen designs or code features within the company. One approach to overcome these challenges is to support reusing results from previous projects by building systems to organize and analyse the knowledge base of enterprise app development projects. For such systems an automatic categorization of artifacts is required. In this work we propose using a machine learning approach to categorize user stories. The approach is evaluated on a set of user stories from real-world mobile enterprise application development projects. The results are promising and suggest that machine learning approaches can be beneficially applied to user story classification in large companies.
User stories are a widely adopted requirements notation in agile development. Yet, user stories are too often poorly written in practice and exhibit inherent quality defects. Triggered by this ...observation, we propose the Quality User Story (QUS) framework, a set of 13 quality criteria that user story writers should strive to conform to. Based on QUS, we present the Automatic Quality User Story Artisan (AQUSA) software tool. Relying on natural language processing (NLP) techniques, AQUSA detects quality defects and suggest possible remedies. We describe the architecture of AQUSA, its implementation, and we report on an evaluation that analyzes 1023 user stories obtained from 18 software companies. Our tool does not yet reach the ambitious 100 % recall that Daniel Berry and colleagues require NLP tools for RE to achieve. However, we obtain promising results and we identify some improvements that will substantially improve recall and precision.
Researchers have proposed that generating conceptual models automatically from user stories might be useful for agile software development. It is, however, unclear from the state-of-the-art what a ...consistent and complementary set of models to generate is, how these models can be generated such that relationships and dependencies in a set of related user stories are unveiled, and why these models are useful in agile software development projects. In this paper, we address these questions through a Design Science research study. First, we define four stylized versions of Unified Modeling Language (UML) diagrams (i.e., use case diagram, class diagram, activity diagram, state machine diagram) that will be the target of the model generation. Although these stylized UML diagrams have a reduced abstract syntax, they offer different perspectives on the software system in focus with potential usefulness for requirements and software engineering. Second, we develop an automated model generation approach based on different design artifacts including a Natural Language Processing (NLP) tool that implements our approach. Key to our solution is the use of the Behavior-Driven Development (BDD) scenario template to document user stories. Using an example set of BDD scenarios as source of the model generation, we demonstrate the feasibility of our approach via the NLP tool that implements our approach. Third, we conduct an empirical study with experts in agile software development involving the researcher-guided interactive use of our tool to explore the use of the generated models. This study shows the perceived usefulness of the models that our tool can generate and identifies different uses and benefits of the models for requirements analysis, system design, software implementation, and testing in projects that employ agile methods.
Aiming at problems such as incomplete, inconsistent, and inaccurate requirements that often occur in the process of obtaining high-end equipment functional requirements, this paper presents a ...requirement quality improvement method. Referring to the agile development theory of requirements engineering, the quality improvement method constructs a functional requirement model based on user stories, defines the concept of functional requirement quality, designs functional requirement quality evaluation criteria, and constructs a functional requirement quality evaluation process. A case study and sensitivity analysis of new energy vehicle requirement development are conducted to confirm the feasibility and effectiveness of the method, and the experimental results show the superiority of the proposed method in improving the quality of high-end equipment functional requirements.
•Agile development is applied to studying requirement quality.•User stories are used to define high-end equipment function requirements.•Definitions, models and criteria are built for evaluating requirement quality.•Method improves high-end equipment function requirement quality.•New energy vehicle example demonstrates efficacy.