83,826 research outputs found
The RIGHT Model for Continuous Experimentation
Context:Development of software-intensive products and services increasingly occurs by continuously deploying product or service increments, such as new features and enhancements, to customers. Product and service developers must continuously find out what customers want by direct customer feedback and usage behaviour observation. Objective: This paper examines the preconditions for setting up an experimentation system for continuous customer experiments. It describes the RIGHT Model for Continuous Experimentation (Rapid Iterative value creation Gained through High-frequency Testing), illustrating the building blocks required for such a system. Method: An initial model for continuous experimentation is analytically derived from prior work. The model is matched against empirical case study findings from two startup companies and further developed. Results: Building blocks for a continuous experimentation system and infrastructure are presented. Conclusions: A suitable experimentation system requires at least the ability to release minimum viable products or features with suitable instrumentation, design and manage experiment plans, link experiment results with a product roadmap, and manage a flexible business strategy. The main challenges are proper, rapid design of experiments, advanced instrumentation of software to collect, analyse, and store relevant data, and the integration of experiment results in both the product development cycle and the software development process.Peer reviewe
spChains: A Declarative Framework for Data Stream Processing in Pervasive Applications
Pervasive applications rely on increasingly complex streams of sensor data continuously captured from the physical world. Such data is crucial to enable applications to ``understand'' the current context and to infer the right actions to perform, be they fully automatic or involving some user decisions. However, the continuous nature of such streams, the relatively high throughput at which data is generated and the number of sensors usually deployed in the environment, make direct data handling practically unfeasible. Data not only needs to be cleaned, but it must also be filtered and aggregated to relieve higher level algorithms from near real-time handling of such massive data flows. We propose here a stream-processing framework (spChains), based upon state-of-the-art stream processing engines, which enables declarative and modular composition of stream processing chains built atop of a set of extensible stream processing blocks. While stream processing blocks are delivered as a standard, yet extensible, library of application-independent processing elements, chains can be defined by the pervasive application engineering team. We demonstrate the flexibility and effectiveness of the spChains framework on two real-world applications in the energy management and in the industrial plant management domains, by evaluating them on a prototype implementation based on the Esper stream processo
Recommended from our members
Searching for improvement
Engineering design can be thought of as a search for the best solutions to engineering problems. To perform an effective search, one must distinguish between competing designs and establish a measure of design quality, or fitness. To compare different designs, their features must be adequately described in a well-defined framework, which can mean separating the creative and analytical parts of the design process. By this we mean that a distinction is drawn between coming up with novel design concepts, or architectures, and the process of detailing or refining existing design architecture. In the case of a given design architecture, one can consider the set of all possible designs that could be created by varying its features. If it were possible to measure the fitness of all designs in this set, then one could identify a fitness landscape and search for the best possible solution for this design architecture. In this Chapter, the significance of the interactions between design features in defining the metaphorical fitness landscape is described. This highlights that the efficiency of a search algorithm is inextricably linked to the problem structure (and hence the landscape). Two approaches, namely, Genetic Algorithms (GA) and Robust Engineering Design (RED) are considered in some detail with reference to a case study on improving the design of cardiovascular stents
What influences the speed of prototyping? An empirical investigation of twenty software startups
It is essential for startups to quickly experiment business ideas by building
tangible prototypes and collecting user feedback on them. As prototyping is an
inevitable part of learning for early stage software startups, how fast
startups can learn depends on how fast they can prototype. Despite of the
importance, there is a lack of research about prototyping in software startups.
In this study, we aimed at understanding what are factors influencing different
types of prototyping activities. We conducted a multiple case study on twenty
European software startups. The results are two folds, firstly we propose a
prototype-centric learning model in early stage software startups. Secondly, we
identify factors occur as barriers but also facilitators for prototyping in
early stage software startups. The factors are grouped into (1) artifacts, (2)
team competence, (3) collaboration, (4) customer and (5) process dimensions. To
speed up a startups progress at the early stage, it is important to incorporate
the learning objective into a well-defined collaborative approach of
prototypingComment: This is the author's version of the work. Copyright owner's version
can be accessed at doi.org/10.1007/978-3-319-57633-6_2, XP2017, Cologne,
German
Considerations about Continuous Experimentation for Resource-Constrained Platforms in Self-Driving Vehicles
Autonomous vehicles are slowly becoming reality thanks to the efforts of many
academic and industrial organizations. Due to the complexity of the software
powering these systems and the dynamicity of the development processes, an
architectural solution capable of supporting long-term evolution and
maintenance is required.
Continuous Experimentation (CE) is an already increasingly adopted practice
in software-intensive web-based software systems to steadily improve them over
time. CE allows organizations to steer the development efforts by basing
decisions on data collected about the system in its field of application.
Despite the advantages of Continuous Experimentation, this practice is only
rarely adopted in cyber-physical systems and in the automotive domain. Reasons
for this include the strict safety constraints and the computational
capabilities needed from the target systems.
In this work, a concept for using Continuous Experimentation for
resource-constrained platforms like a self-driving vehicle is outlined.Comment: Copyright 2017 Springer. Paper submitted and accepted at the 11th
European Conference on Software Architecture. 8 pages, 1 figure. Published in
Lecture Notes in Computer Science vol 10475 (Springer),
https://link.springer.com/chapter/10.1007/978-3-319-65831-5_
Simulation modeling of tool delivery system in a machining line
This paper describes an industrial project aiming to enhance the existing simulation modeling suites used at a car engine factory in the UK. The company continues to enhance its simulation modeling capabilities towards so called the `total plant modeling' which not only covers the production facilities but also key ancillary facilities. Tool delivery is one such ancillary process. The existing modeling practices at the company are limited to modeling tool changes and assume that tools meet their expected life and the replacement is always available. In reality, the tools are not always reaching the expected life, the facilities in the tool crib are a limiting resource and the tool inventory has to be minimized. The tool delivery system developed in this project has specific features that model how the tool crib operates, how tools are supplied to the machining lines and various operating strategie
- …