Within any incremental development paradigm, there exists a tension between the desire to deliver value to the customer early and the desire to reduce cost by avoiding architectural refactoring and rework in subsequent releases. What is lacking is an analytical framework that quantifies benefits and risks of choosing one or the other of these strategies or a blend of the two. In the paper associated with this repository (cited below), we demonstrate the use of design structure and domain mapping matrices for analyzing architectural dependencies and propose a set of optimization-based decision-making tools to support effective release planning. The Mendeley Data repository provides the code for the three optimization models (i.e., development paths) discussed in the paper. The models are built in the GAMS optimization software and solved using the Outer Approximation with both Equality Relaxation and Augmented Penalty (OA/ER/AP) algorithm, which is available as part of the DICOPT solver in GAMS. You will need both the basic GAMS module as well as the DICOPT solver to be able to use these models.
Associated Research Article
R.S. Sangwan, A. Negahban, R.L. Nord, I. Ozkaya, 2021. “Optimization of software release planning considering architectural dependencies, cost, and value“, IEEE Transactions on Software Engineering, DOI: 10.1109/TSE.2020.3020013.
Code & Sample Data
All codes and a sample data set are provided in a Mendeley Data repository: https://doi.org/10.17632/s5xxjrcvzd.2