Cost-Benefit Analysis of Software Development Techniques and Practices

Investigations of software development practices, processes, and techniques frequently report separately on the costs and benefits of a phenomenon under study, but rarely adequately address the combined bottomline implications. In particular, tensions between the quality and productivity effects are hard to reconcile, making objective, high-level insights elusive. For example, is a practice that is believed to improve product quality significantly, but incurs a mild developer productivity penalty economically feasible? In other words, do the benefits outweigh the costs? And if they do, under which conditions? Such questions can be tackled through synthesizing effects and analyzing the resulting behaviors. In this light, the tutorial presented an approach that leverages well-known and simple economic concepts and models. It is used to wrap empirical findings, and is also applicable to the assessment of software projects. The tutorial was geared towards researchers and practitioners interested in software processes, process improvement, project management, process/project measurement, and empirical software engineering.