16 research outputs found

    Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research

    Get PDF
    In early phases of the software cycle, requirements prioritization necessarily relies on the specified requirements and on predictions of benefit and cost of individual requirements. This paper presents results of a systematic review of literature, which investigates how existing methods approach the problem of requirements prioritization based on benefit and cost. From this review, it derives a set of under-researched issues which warrant future efforts and sketches an agenda for future research in this area

    A Specification for Designing Requirement Prioritization Artifacts

    Get PDF
    The importance of prioritizing requirements stems from the fact that not all requirements can usually be met with available time and resource constraints. Although several papers have been published in this domain, they mainly focus on descriptive research endeavors to suggest different requirement prioritization approaches. Prescriptive research dealing with design science for a systematic and holistic understanding of the prioritization process is still scarce. The gap motivates our research, which aims at arriving at a set of design principles that explains the form and function of software requirement prioritization artifacts. We resort to a non-experimental approach using content analysis to identify and analyze articles on requirement prioritization published up to 2009 in order to arrive at the set of initial design principles. This subsequently is evaluated based on expert feedbacks. We close the paper by indicating our research continuation plans, and highlighting issues for future considerations

    An Experimental, Tool-Based Evaluation of Requirements Prioritization Techniques in Distributed Settings

    Get PDF
    In this paper, we compare and analyze three common techniques for prioritizing software requirements: Analytic Hierarchy Process (AHP), Cumulative Voting (CV) and Likert Scale Technique (LST). These techniques are based on a ratio scale and are applied within this research as part of a hierarchical approach to requirements analysis on different levels of abstraction. For the systematic evaluation of these techniques in distributed settings, a controlled experimental setting was developed and carried out via the Internet. Therefore, a particular Web application was developed and data from 199 subjects was collected. The overall results indicate that LST is a simple, fast, and well-scaling prioritization technique, whereas slightly less precise than the other two techniques. However if accuracy is an important criterion, and a more complicated and slower technique is accepted, CV has proven to be most adequate. For the AHP, particularly when used with many requirements, a recommendation cannot be given because of poor scalability

    Requirements degradation for the creation of a first prototype

    Get PDF
    The requirements engineering process is typically executed, irrespective of the process model chosen, for the final commercially viable system. The system requirements generated are for a system deployed and used in its final form and function. However, the first prototype that is generated is typically representative of a minimum viable technology, and represents a degraded set of the initial system requirements specification. Typically, a first prototype is used as a technology demonstrator, and its failure or success will determine the continuation of the project, with success triggering the allocation of additional financial and personal resources. This paper explores techniques for requirements degradation that can be used to form the system requirements specification for the first prototype. A requirements Engineering methodology is proposed based upon a survey of literature. It takes into consideration the characteristics of the project, i.e. a market driven, technology implementation research project with limited budget and a flexible timeline executed in an academic environment. The techniques must take into cognizance the main risk items, and core requirements, that need to be demonstrated in the minimum viable technology to secure the future of the project. The degradation cannot undermine or jeopardize the future success of the commercially viable system in determining the subset of requirements for the minimum viable technology

    Choosing a Suitable Requirement Prioritization Method: A Survey

    Full text link
    Software requirements prioritization plays a crucial role in software development. It can be viewed as the process of ordering requirements by determining which requirements must be done first and which can be done later. Powerful requirements prioritization techniques are of paramount importance to finish the implementation on time and within budget. Many factors affect requirement prioritization such as stakeholder expectations, complexity, dependency, scalability, risk, and cost. Therefore, finding the proper order of requirements is a challenging process. Hence, different types of requirements prioritization techniques have been developed to support this task. In this survey, we propose a novel classification that can classify the prioritization techniques under two major classes: relative and exact prioritization techniques class, where each class is divided into two subclasses. We depend in our classification on the way the value of ranking is given to the requirement, either explicitly as a specific value in the case of the exact prioritization techniques class, or implicitly in the case of the Relative prioritization technique class. An overview of fifteen different requirements prioritization techniques are presented and organized according to the proposed classification criteria's. Moreover, we make a comparison between methods that are related to the same subclass to analyze their strengths and weaknesses. Based on the comparison results, the properties for each proposed subclass of techniques are identified. Depending on these properties, we present some recommendations to help project managers in the process of selecting the most suitable technique to prioritize requirements based on their project characteristics (number of requirements, time, cost, and accuracy)

    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

    Técnicas para la Estimación y Planificación de Proyectos de Software con Ciclos de Vida Incremental y Paradigma Orientado a Objetos

    Full text link
    La estimación de costos y esfuerzos sigue siendo una de las tareas más difíciles en la gestión de un proyecto de software. Esta actividad es realizada por el jefe de proyecto, quien es responsable de hacer dichas estimaciones lo más precisas posible. En la actualidad existen técnicas que permiten realizar esta labor aunque, lamentablemente, aún no hay técnicas maduras específicas para enfoques de desarrollo como la orientación a objetos o los sistemas expertos. A ello se suma el problema de la escasa información proporcionada por las técnicas de estimación existentes para su aplicación a ciclos de vida de desarrollo de software diferentes al de cascada, como, por ejemplo, los ciclos de vida incremental o iterativo. Debido a la problemática existente, se diseñó Tupuy que es un conjunto de técnicas que apoya en la estimación y planificación basada en Puntos de función para proyectos de desarrollo de software orientados a objetos que empleen un modelo de ciclo de vida incremental. Esta propuesta está conformada por tres técnicas: UML2FP, Use Case Precedence Diagram (UCPD) e Incremental-FP. UML2FP es una técnica que permite realizar el cálculo de Puntos de función con modelos orientados a objetos y UCPD apoya en la priorización o definición de la secuencia de construcción considerando la perspectiva o punto de vista del desarrollador en términos de facilidad de construcción. Con los resultados que se obtienen con UML2FP y UCPD, la técnica Incremental-FP, permite definir qué casos de uso se van a construir en cada incremento y estimar el esfuerzo que se requiere para desarrollar cada incremento. La evaluación de UML2FP y UCPD se realizó mediante experimentos controlados con alumnos de pregrado, alumnos de posgrado y profesionales con experiencia en la industria, con resultados alentadores. En el caso de Incremental-FP, la evaluación se realizó mediante proyectos de desarrollo de software con alumnos del cuarto año del programa de pregrado en Ingeniería Informática de la Pontificia Universidad Católica del Perú; habiéndose obtenido, generalmente, una diferencia menor al 20% entre el esfuerzo estimado y el esfuerzo real. Adicionalmente, en los experimentos controlados para evaluar UCPD, se pudo determinar que las relaciones propuestas por el Method Adoption Model de Moody sí se pueden confirmar con las muestras obtenidas con profesionales, pero no con alumnos de pregrado; a pesar de que los resultados cuantitativos fueron similares. Esto nos podría sugerir que la evaluación cualitativa de técnicas con alumnos de pregrado deben tomarse con precaución, mas no la cuantitativa. Abstract The estimation of effort and cost is still one of the hardest tasks in software project management. This activity is performed by the project manager who is responsible for making such estimations as accurate as possible. Currently, there are techniques to do this work, but unfortunately there are no specific mature approaches to develop object-oriented software or expert systems. Also, there is limited information provided by the techniques to utilize them in nonwaterfall life cycle models such as incremental or iterative. To address this situation, it was designed Tupuy which is a set of techniques that supports Function Point-based estimation and planning for software development projects that utilize object-oriented and incremental life cycle models. Tupuy consists of three techniques named UML2FP, Use Case Precedence Diagram (UCPD) and Incremental-FP. UML2FP is a technique that allows Function Points counting based on object-oriented models, and UCPD is a technique that addresses the problem of determining the construction sequence or prioritization of a software product from the developer's perspective in terms of ease of construction. With the results obtained through the application of UML2FP and UCPD, Incremental-FP defines which use case has to be constructed in which increment, and estimates the effort required to develop each increment. UML2FP and UCPD evaluation was performed using controlled experiments with undergraduate students, graduate students and practitioners with experience in the industry. The results obtained were satisfactory. The Incremental-FP evaluation was performed with undergraduate students from software development projects of a fourth-year course in Informatics Engineering at Pontificia Universidad Católica del Perú. In this case, the difference between the estimated effort and actual effort was usually less than 20%. In addition, from the data obtained with the controlled experiments to evaluate UCPD, it was determined that the relationships proposed by the Moody’s Method Adoption Model could be confirmed with practitioners, but not with undergraduate students. These results may suggest that the qualitative assessments of techniques with undergraduate students should be taken with caution, but not the quantitative assesments
    corecore