URBAN Lighthouse
    URBAN Lighthouse

Release Engineering for Continuous Integration

Abstract

Release engineering deals with all activities in between regular development and delivery of a software product to the end user, i.e., integration, build, test execution, packaging and delivery of software. Increasing heterogeneity and variability of software products along with the recent trend to reduce the release cycle time is part of an effort to aid in delivering faster and better software products to end users. Selecting a feature is no longer considered being a Boolean decision. Instead, features are implemented incrementally. Decisions are related to enhancing or shrinking the functionality and increasing the level of specified target quality [1]. Software engineering for game development is a forerunner in this trend, as features are trialed and-depending on the user's response-enhanced or eliminated. Also, the criteria for these decisions are changing both generally and specifically over time. Explicit and implicit user feedback as well as data analytics on the usage of trial features and will be taken into consideration more for decisions about what and when to implement and deliver. The project will study the modeling, measurement, data analysis and management of the product release processes. Form monitoring process and project performance, we pursue the following main research objectives:

(i) Baselining: Understand the current process of release decision-making and possible deficits. 

(ii) Analysis: Following the goal-oriented measurement GQM approach [2] in conjunction with the idea of an Analytics Design Sheet, we set up a customizable process designed to support release decisions. The process design is based on data analytics performed. Emphasis is on when-to release decisions and release readiness.

(iii) Decision support: Predictive models for release engineering. The project is structured into three milestones:

  • Milestone 1 (after two months): Quantitative baseline description in terms of release cycle time, release quality (defects slipping through), and feature usage and plan for improvement of release management towards continuous delivery.

  • Milestone 2 (after four months): Alternatives for process improvement as a result of data analytics of existing processes.

  • Milestone 3 (after six months): Proof-of-Concept prototype to demonstrate the proposed new processes and their projected impact.