12 research outputs found
Three Levels of Agile Planning in a Software Vendor Environment
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
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
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
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
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
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