Decision support for release planning of software systems
Date
2007
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Large software systems sometimes evolve because of the need to extend their functionality with new or changed features. Release planning for such systems can be extremely challenging. There are both business and technical perspectives to this challenge. From a business perspective, new feature requests originate from stakeholders with diverse (and often conflicting) business interests and all want their needs to be met, in spite of resource, schedule and other project constraints. From a technical perspective, incorporating a new feature into an existing system, without breaking old features, can be a tough balancing act. It remains an open problem how to best make release planning decisions that address these two perspectives. In this dissertation, we investigate this problem and conduct a detailed analysis of these two perspectives. Then, we propose and validate a novel and rigorous decision support technique known as SoRPES (Software Release EJanning with Existing System-awareness). In SoRPES, we formulate release planning as a bi-objective optimization problem that takes advantage of the interrelatedness of features as the first of two optimization objectives. The second optimization objective aims to assign features to releases in a way that maximizes the priorities that stakeholders specify for the features. As part of SoRPES, we have developed, validated, and used EBEAM (Expert- Based Evaluation of Architectures for Modifiability), a framework for evaluating software architectural designs for modifiability, as a part of our metric suite for assessing the technical constraints of implementing features in the existing system. The key contributions of this research consist of the following 6 elements: 1) a decision-centric framework for release planning that addresses both business and technical concerns; 2) an expert judgment-based technique for evaluating modifiability of architectural designs; 3) a technique for quantifying the interrelatedness of features using impact analysis data; 4) a theoretical foundation for, and a novel formulation of, release planning as a multi-objective optimization problem; 5) a proof-of-concept implementation of SoRPES; and 6) empirical validation studies to assess the feasibility, relevance, scalability, and consistency of SoRPES. The results from the empirical validation studies conducted on real-world projects strongly suggest practitioners would find SoRPES useful as a tool to generate release plans that are often more optimal and more practical than prior techniques.
Description
Bibliography: p. 223-243
Some pages are in colour.
Some pages are in colour.
Keywords
Citation
Saliu, M. O. (2007). Decision support for release planning of software systems (Doctoral thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. doi:10.11575/PRISM/1817