6 research outputs found

    Understanding requirements dependency in requirements prioritization: a systematic literature review

    Get PDF
    Requirement prioritization (RP) is a crucial task in managing requirements as it determines the order of implementation and, thus, the delivery of a software system. Improper RP may cause software project failures due to over budget and schedule as well as a low-quality product. Several factors influence RP. One of which is requirements dependency. Handling inappropriate handling of requirements dependencies can lead to software development failures. If a requirement that serves as a prerequisite for other requirements is given low priority, it affects the overall project completion time. Despite its importance, little is known about requirements dependency in RP, particularly its impacts, types, and techniques. This study, therefore, aims to understand the phenomenon by analyzing the existing literature. It addresses three objectives, namely, to investigate the impacts of requirements dependency on RP, to identify different types of requirements dependency, and to discover the techniques used for requirements dependency problems in RP. To fulfill the objectives, this study adopts the Systematic Literature Review (SLR) method. Applying the SLR protocol, this study selected forty primary articles, which comprise 58% journal papers, 32% conference proceedings, and 10% book sections. The results of data synthesis indicate that requirements dependency has significant impacts on RP, and there are a number of requirements dependency types as well as techniques for addressing requirements dependency problems in RP. This research discovered various techniques employed, including the use of Graphs for RD visualization, Machine Learning for handling large-scale RP, decision making for multi-criteria handling, and optimization techniques utilizing evolutionary algorithms. The study also reveals that the existing techniques have encountered serious limitations in terms of scalability, time consumption, interdependencies of requirements, and limited types of requirement dependencies

    A decision tree approach based on BOCR for minimizing criteria in requirements prioritization

    Get PDF
    The requirements selection in the development of a software mostly requires a set of criteria. Determining the criteria used is often confusing because of the many criteria that must match with the characteristics of the project. This study introduces how to classify criteria based on benefits, opportunities, costs, risks (BOCR) to make the requirements prioritization process scalable. Project context characteristics and stakeholder perspectives are essential points discussed in this study because they are crucial in the requirements prioritization process. The criteria obtained from the literature review were followed by a survey to determine the importance of the criteria and their grouping in the BOCR using the decision tree method. There are 38 criteria and are grouped into four categories. There are two very significant criteria with a high level of importance, namely business value and stakeholder satisfaction. A decision tree based on BOCR can be used to classify the criteria for requirements prioritization. This research contributes to assisting software developers in finding and determining the criteria operated during the prioritization of requirements. Additionally, it is important to consider the project context and the collaboration the client and developer when prioritizing requirements

    A review: Requirements prioritization criteria within collaboration perspective

    Get PDF
    The attributes or criteria used in the requirements prioritization process become an essential reference in calculating priorities. Most of the techniques are used to increase the value impacting business success. On the contrary, there are limitations on cost, time, and resources for developing software. Therefore, the requirements prioritization process often requires collaboration from the perspectives involved. So far, the pattern and basis have not been seen in the criteria used in the requirements prioritization process. Consequently, there need to be other factors that become a reference so that the selection of criteria is appropriate. This study identifies criteria based on the categorized perspectives of requirements prioritization. A systematic literature review presents criteria for prioritizing requirements from multiple collaborative perspectives. Findings show that the criteria in requirements prioritization can be classified into beneficial and non-beneficial, where business value and development cost are the most frequently used criteria. Furthermore, the involvement of multiple perspectives in requirements prioritization focuses on the client’s and developer’s perspectives. The findings also reveal that some of the challenges in the requirements prioritization process are biases by stakeholders, reducing pairwise comparison, and scalability. In the future, it will be investigated whether the selection of criteria correlated with stakeholder perspectives will increase the accuracy of priorities. Thus, the contribution of this paper is to recommend criteria from stakeholders’ perspectives

    Requirements Prioritization and Next-Release Problem under Non-additive Value Conditions

    No full text

    Dependency rank : método de priorização de requisitos baseado nas relações de dependência identificadas por PLN

    Get PDF
    Orientador: Prof. Dr. Andrey Ricardo PimentelDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 25/02/2019Inclui referências: p.102-105Resumo: Esta dissertação apresenta um método de priorização de requisitos de software baseada em relações de dependência entre funcionalidades. As técnicas de priorização de requisitos de software mais utilizadas atualmente dependem altamente de esforço humano para sua realização, sendo assim, o método proposto buscou diminuir a quantidade de esforço empregada, automatizando parte dessa tarefa, numa tentativa de fornecer maior agilidade e confiabilidade ao processo. Para isso, o método utilizou a documentação de requisitos de um projeto como base para extração dessas relações. Um protótipo que utiliza ferramentas de processamento de linguagem natural foi desenvolvido, sua aplicação teve o objetivo de reconhecer classes candidatas contidas em documentos de especificação de requisitos de software, escritos em formato de histórias de usuário, possibilitando, a partir disso, identificar links existentes entre as funcionalidades. Após essa análise, um ranking sugerido, que emprega como principal critério a priorização dos requisitos com maior número de dependências, é gerado. O método foi testado em dois experimentos, sendo um problema real já implementado e outro hipotético, que teve sua investigação auxiliada por profissionais. Os resultados dos experimentos mostraram que a estratégia implementada para identificação de classes candidatas atingiu, em seu melhor resultado, um F1 score para modelos de classificação de 0,857. Esse índice auxiliou o protótipo a classificar até 70% dos requisitos em intervalos idênticos aos obtidos por julgamento humano, tendo como principal desafio para desenvolvimentos futuros aumentar a carga de subjetividade do método. Palavras-chave: Priorização de requisitos de software. Interdependência entre requisitos. Processamento de linguagem natural. Histórias de usuário. Engenharia de software.Abstract: This dissertation presents a software requirements prioritization method based on dependency relations between features. The most commonly used software requirements prioritization techniques depend heavily on human effort in their performances, so the proposed method intended to reduce the amount of effort employed by automating part of the task in an attempt to improve agility and reliability to the process. Therefore the method used requirements documentations of a software project as a basis for extracting these relations. A prototype that uses natural language processing tools was developed, its application aimed to recognize candidate classes contained in software requirements specification documents, written as user stories, turning possible to identify existing links between the features. After this analysis, a suggested ranking, which employs as the main criterion to prioritize the requirements with greater number of dependencies, is generated. The method was tested in two experiments: a real problem already implemented and another hypothetical, which had its investigation aided by professionals. The results of the experiments showed that the candidate classes identification strategy implemented reached, in its best performance, 0.857 as F1 score for classification models. This index helped the prototype to classify up to 70% of the requirements at the same intervals to those obtained by human judgment. The main challenge for future developments is to increase the subjective analysis of the method. Keywords: Software requirements prioritization. Requirements interdependency. Natural language processing. User stories. Software engineering

    Prioritisation of requests, bugs and enhancements pertaining to apps for remedial actions. Towards solving the problem of which app concerns to address initially for app developers

    Get PDF
    Useful app reviews contain information related to the bugs reported by the app’s end-users along with the requests or enhancements (i.e., suggestions for improvement) pertaining to the app. App developers expend exhaustive manual efforts towards the identification of numerous useful reviews from a vast pool of reviews and converting such useful reviews into actionable knowledge by means of prioritisation. By doing so, app developers can resolve the critical bugs and simultaneously address the prominent requests or enhancements in short intervals of apps’ maintenance and evolution cycles. That said, the manual efforts towards the identification and prioritisation of useful reviews have limitations. The most common limitations are: high cognitive load required to perform manual analysis, lack of scalability associated with limited human resources to process voluminous reviews, extensive time requirements and error-proneness related to the manual efforts. While prior work from the app domain have proposed prioritisation approaches to convert reviews pertaining to an app into actionable knowledge, these studies have limitations and lack benchmarking of the prioritisation performance. Thus, the problem to prioritise numerous useful reviews still persists. In this study, initially, we conducted a systematic mapping study of the requirements prioritisation domain to explore the knowledge on prioritisation that exists and seek inspiration from the eminent empirical studies to solve the problem related to the prioritisation of numerous useful reviews. Findings of the systematic mapping study inspired us to develop automated approaches for filtering useful reviews, and then to facilitate their subsequent prioritisation. To filter useful reviews, this work developed six variants of the Multinomial Naïve Bayes method. Next, to prioritise the order in which useful reviews should be addressed, we proposed a group-based prioritisation method which initially classified the useful reviews into specific groups using an automatically generated taxonomy, and later prioritised these reviews using a multi-criteria heuristic function. Subsequently, we developed an individual prioritisation method that directly prioritised the useful reviews after filtering using the same multi-criteria heuristic function. Some of the findings of the conducted systematic mapping study not only provided the necessary inspiration towards the development of automated filtering and prioritisation approaches but also revealed crucial dimensions such as accuracy and time that could be utilised to benchmark the performance of a prioritisation method. With regards to the proposed automated filtering approach, we observed that the performance of the Multinomial Naïve Bayes variants varied based on their algorithmic structure and the nature of labelled reviews (i.e., balanced or imbalanced) that were made available for training purposes. The outcome related to the automated taxonomy generation approach for classifying useful review into specific groups showed a substantial match with the manual taxonomy generated from domain knowledge. Finally, we validated the performance of the group-based prioritisation and individual prioritisation methods, where we found that the performance of the individual prioritisation method was superior to that of the group-based prioritisation method when outcomes were assessed for the accuracy and time dimensions. In addition, we performed a full-scale evaluation of the individual prioritisation method which showed promising results. Given the outcomes, it is anticipated that our individual prioritisation method could assist app developers in filtering and prioritising numerous useful reviews to support app maintenance and evolution cycles. Beyond app reviews, the utility of our proposed prioritisation solution can be evaluated on software repositories tracking bugs and requests such as Jira, GitHub and so on
    corecore