12 research outputs found

    Three Levels of Agile Planning in a Software Vendor Environment

    Get PDF
    There is a misconception that agile development requires minimal planning effort. In reality, an agile approach for market-driven software development requires highly disciplined, reliable, and accurate planning practices to swiftly plan and develop high value innovations in a software vendor environment. This study investigated a highly successful international software vendor based in Melbourne, Australia to provide a case study on agile planning practices. Five planning practices which were identified underlay successful agile software development for software vendors. These planning practices were driven by agile concepts such as adaptation, self-organizing, cross-functional collaboration, and empowerment/delegation. We constructed a conceptual framework for agile planning practices APP (agile planning practices) Framework illustrating the three levels of agile planning

    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

    An Empirical Study of Meta- and Hyper-Heuristic Search for Multi-Objective Release Planning

    Get PDF
    A variety of meta-heuristic search algorithms have been introduced for optimising software release planning. However, there has been no comprehensive empirical study of different search algorithms across multiple different real-world datasets. In this article, we present an empirical study of global, local, and hybrid meta- and hyper-heuristic search-based algorithms on 10 real-world datasets. We find that the hyper-heuristics are particularly effective. For example, the hyper-heuristic genetic algorithm significantly outperformed the other six approaches (and with high effect size) for solution quality 85% of the time, and was also faster than all others 70% of the time. Furthermore, correlation analysis reveals that it scales well as the number of requirements increases

    Architectures v/s Microservices

    Get PDF
    As it evolves, technology has always found a better way to build applications and improve their efficiency. New techniques have been learned by adapting old technologies and observing how markets shift towards new trends to satisfy their customers and shareholders. By taking Service Oriented Architecture (SOA) and evolving techniques in cloud computing, Web 2.0 emerged with a new pattern for designing an architecture evolved from the conventional monolithic approach known as microservice architecture (MSA). This new pattern develops an application by breaking the substantial use into a group of smaller applications, which run on their processes and communicate through an API. This style of application development is suitable for many infrastructures, especially within a cloud environment. These new patterns advanced to satisfy the concepts of domain-driven, continuous integration, and automated infrastructure more effectively. MSA has created a way to develop and deploy small scalable applications, which allows enterprise-level applications to dynamically adjust to their resources. This paper discusses what that architecture is, what makes it necessary, what factors affect best-fit architecture choices, how microservices-based architecture has evolved, and what factors are driving service-based architectures, in addition to comparing SOA and microservice. By analyzing a few popular architectures, the factors which help in choosing the architecture design will be compared with the MSA to show the benefits and challenges that may arise as an enterprise shifts their developing architecture to microservices

    Detection of new intentions from users for software service evolution in human-centric context-aware environments using Conditional Random Fields

    Get PDF
    The capability to accurately and efficiently obtain users’ new requirements is critical for software evolution, so that timely improvements can be made to systems to adapt to the rapidly changing environment. However, current software evolution cycles are often undesirably long because the elicitation of new requirements is mostly based on system performance or delayed user feedback and slow-paced manual analysis of requirements engineers. In this thesis, I propose a general methodology that employs Conditional Random Fields (CRF) as the mathematical foundation to provide quantitative exploration of users’ new intentions that often indicate their new requirements. My methodology is supposed to be applicable in context-aware software environments, and beneficial for discovering new requirements sooner and considerably shortening software evolution cycles. First of all, a situation-centric specification language – SiSL, is proposed to formalize the concepts and ontology of the application domains of our methodology. In SiSL, the domain of discourse is divided into five sorts of entities: action, desire, object, situation and situation-sequence. Another two important concepts, context and intention, are defined based on the five basic entities. A set of axioms are proposed to explain the relations among action, context values and desires. Based on the concepts and axioms in SiSL, a domain knowledge base which can completely describe and specify user’s behaviors and desires in human-centric context-aware environments can be constructed. To infer a user’s desire based on a peculiar form of observations and a specific detection mechanism for user’s new intentions, which may imply new requirements, the Conditional Random Fields (CRF) method is applied as a mathematical foundation to support my research work. In this thesis, the main part of a CRF model, a set of feature functions, specify the relations between observations (actions and context values) and human internal mental states (desires). To infer user’s desires, the CRF model accepts a sequence of observations as the input and calculates the score for each possible sequence-labeling, and outputs the sequence-labeling with the highest score as the inferred desire sequence. By using the CRF method, more accurate desire inference, the precondition for new intention detection, can be achieved compared with other statistical methods. To detect users’ potential new intentions, a CRF model which encodes users’ standard behavior patterns should be built as the metrics for outlier detection. The training data for building the standard CRF model are collected from observing user behaviors that are expected to conform to the system design. In the result of desire inference using the CRF model, the divergent behaviors will be labeled with desires in low confidence, and they can be singled out and analyzed for eliciting user’s potentially new intentions. Besides the divergent behaviors, user’s desire transitions and erroneous behaviors will also be analyzed for detecting new requirements or system drawbacks. The detected potential user’s new intention will be verified, analyzed and summarized to generate a formally new intention, which will drive system evolution through modifications or acquiring new functionalities to satisfy the new requirements. An experiment on a research library system has been conducted to demonstrate how to apply our methodology in detection of users’ new intentions and driving system evolution. Finally, this thesis discusses the threats to validity for our methodology and experiment

    Impact estimation: IT priority decisions

    Get PDF
    Given resource constraints, prioritization is a fundamental process within systems engineering to decide what to implement. However, there is little guidance about this process and existing IT prioritization methods have several problems, including failing to adequately cater for stakeholder value. In response to these issues, this research proposes an extension to an existing prioritization method, Impact Estimation (IE) to create Value Impact Estimation (VIE). VIE extends IE to cater for multiple stakeholder viewpoints and to move towards better capture of explicit stakeholder value. The use of metrics offers VIE the means of expressing stakeholder value that relates directly to real world data and so is informative to stakeholders and decision makers. Having been derived from prioritization factors found in the literature, stakeholder value has been developed into a multi-dimensional, composite concept, associated with other fundamental system concepts: objectives, requirements, designs, increment plans, increment deliverables and system contexts. VIE supports the prioritization process by showing where the stakeholder value resides for the proposed system changes. The prioritization method was proven to work by exposing it to three live projects, which served as case studies to this research. The use of the extended prioritization method was seen as very beneficial. Based on the three case studies, it is possible to say that the method produces two major benefits: the calculation of the stakeholder value to cost ratios (a form of ROI) and the system understanding gained through creating the VIE table
    corecore