7 research outputs found

    A Data-driven approach to improve the process of data-intensive API creation and evolution

    Get PDF
    The market of data-intensive Application Programming Interfaces (APIs) has recently experienced an exponential growth, but the creation and evolution of such APIs is still done ad-hoc, with little automated support and reported deficiencies. These drawbacks hinder the productivity of developers of those APIs and the services built on top of them. In this exploratory paper, we promote a data-driven approach to improve the automatization of data-intensive API creation and evolution. In a release cycle, data coming from API usage and developers will be gathered to compute several indicators whose analysis will guide the planning of the next release. This data will also help to generate complete documentation facilitating APIs adoption by third parties.Peer ReviewedPostprint (published version

    Replan: Release planning for agile development

    Get PDF
    Release Planning methodologies have made possible that project managers and users in general can plan project’s releases. These methods try to automatize the human-based planning processes. Currently they are a few web-based and stand-alone tools about release planning, but not all of them offer the same functionalities, like the update of an already planned release or a detailed plan expressed in a timeline. Moreover, these systems are oriented to stakeholders criteria, without taking enough consideration to the available resources. This becomes a limitation, because in many occasions it is vital to have a temporal planning of a release. It also affects key aspects like the planning efficiency or the speed at which it is executed. In this project a web-based release planning tool has been developed. In this tool, users can create a release with different entities in an easy and simple way. The tool is based in a mathematical model that generates an scheduled plan as tight as possible to the available time and resources. On the other hand, the tool also guarantees the priority fulfillment of features, by respecting the temporal criteria that the user could establish. The system is also modular, as it can be integrated with other possible different visualizations. Its development in a cloud server also provides public access and scalability. The tests performed to the system show that the presented mathematical model guarantees the scheduled and efficient planning of a project’s release

    Dependency-Aware Software Requirements Selection using Fuzzy Graphs and Integer Programming

    Full text link
    Software requirements selection aims to find an optimal subset of the requirements with the highest value while respecting the project constraints. But the value of a requirement may depend on the presence or absence of other requirements in the optimal subset. Such Value Dependencies, however, are imprecise and hard to capture. In this paper, we propose a method based on integer programming and fuzzy graphs to account for value dependencies and their imprecision in software requirements selection. The proposed method, referred to as Dependency-Aware Software Requirements Selection (DARS), is comprised of three components: (i) an automated technique for the identification of value dependencies from user preferences, (ii) a modeling technique based on fuzzy graphs that allows for capturing the imprecision of value dependencies, and (iii) an Integer Linear Programming (ILP) model that takes into account user preferences and value dependencies identified from those preferences to reduce the risk of value loss in software projects. Our work is verified by studying a real-world software project. The results show that our proposed method reduces the value loss in software projects and is scalable to large requirement sets.Comment: arXiv admin note: text overlap with arXiv:2003.0480

    Asymmetric Release Planning-Compromising Satisfaction against Dissatisfaction

    Full text link
    Maximizing satisfaction from offering features as part of the upcoming release(s) is different from minimizing dissatisfaction gained from not offering features. This asymmetric behavior has never been utilized for product release planning. We study Asymmetric Release Planning (ARP) by accommodating asymmetric feature evaluation. We formulated and solved ARP as a bi-criteria optimization problem. In its essence, it is the search for optimized trade-offs between maximum stakeholder satisfaction and minimum dissatisfaction. Different techniques including a continuous variant of Kano analysis are available to predict the impact on satisfaction and dissatisfaction with a product release from offering or not offering a feature. As a proof of concept, we validated the proposed solution approach called Satisfaction-Dissatisfaction Optimizer (SDO) via a real-world case study project. From running three replications with varying effort capacities, we demonstrate that SDO generates optimized trade-off solutions being (i) of a different value profile and different structure, (ii) superior to the application of random search and heuristics in terms of quality and completeness, and (iii) superior to the usage of manually generated solutions generated from managers of the case study company. A survey with 20 stakeholders evaluated the applicability and usefulness of the generated results

    Risk-Aware Multi-stakeholder Next Release Planning Using Multi-objective Optimization

    No full text
    [Context and motivation]: Software requirements selection is an essential task in the software development process. It consists of finding the best requirement set for each software release, considering several requirements characteristics, such as precedences and multiple conflicting objectives, such as stakeholders’ perceived value, cost and risk. [Question/Problem]: However, in this scenario, important information about the variability involved in the requirements values estimation are discarded and might expose the company to a risk when selecting a solution. [Principal ideas/results]: We propose a novel approach to the risk-aware multi-objective next release problem and implemented our approach by means of a satisfiability modulo theory solver. We aim at improving the decision quality by reducing the risk associated with the stakeholder dissatisfaction as related to the variability of the value estimation made by these stakeholders. [Contribution]: Results show that Pareto-optimal solutions exist where a major risk reduction can be achieved at the price of a minor penalty in the value-cost trade-off

    Modelling and Analysing Software Requirements and Architecture Decisions under Uncertainty

    Get PDF
    Early requirements engineering and software architectural decisions are critical to the success of software development projects. However, such decisions are confronted with complexities resulting from uncertainty about the possible impacts of decision choices on objectives; conflicting stakeholder objectives; and a huge space of alternative designs. Quantitative decision modelling is a promising approach to tackling the increasing complexity of requirements and architectural decisions. It allows one to use quantitative techniques, such as stochastic simulation and multi-objective optimisation, to model and analyse the impact of alternative decisions on stakeholders' objectives. Existing requirements and architecture methods that use quantitative decision models are limited by the difficulty of elaborating quantitative decision models and/or lack of integrated tool support for automated decision analysis under uncertainty. This thesis addresses these problems by presenting a novel modelling language and automated decision analysis technique, implemented in a tool called RADAR, intended to facilitate requirements and architecture decisions under uncertainty. RADAR's modelling language has relations to quantitative AND/OR goal models used in requirements engineering and feature models used in software product lines. The language enables modelling requirements and architectural decision problems characterised by (i) single option selection similar to mutually exclusive option selection (XOR-nodes) of feature diagrams; (ii) multiple options selection similar to non-mutually exclusive options selections (OR-nodes) of feature diagrams; and (iii) constraints dependency relationships, e.g., excludes, requires and coupling, between options of decisions. RADAR's analysis technique uses multi-objective simulation optimisation technique in evaluating and shortlisting alternatives that produces the best trade-off between stakeholders' objectives. Additionally, the analysis technique employs information value analysis to estimate the financial value of reducing uncertainty before making a decision. We evaluate RADAR's applicability, usefulness and scalability on a set of real-world systems from different application domains and characterised by design space size between 6 and 2E50. Our evaluation results show that RADAR's modelling language and analysis technique is applicable on a range of real-world requirements and architecture decision problems, and that in few seconds, RADAR can analyse decision problems characterised by large design space using highly performant optimisation method through the use of evolutionary search-based optimisation algorithms
    corecore