Release Engineering Processes, Models, and Metrics Hyrum K. Wright Empirical Software Engineering Laboratory Department of Electrical and Computer Engineering The University of Texas at Austin Austin, Texas 78712
[email protected] ABSTRACT The primary goal of this research is to develop techniques, No matter the development process or methodology, a soft- methods, metrics and processes whereby the release engi- ware product must ultimately be released to a user in a neering process can be quantitatively measured, reasoned readily consumable form. Different software products, from about, and improved. Such techniques will benefit the soft- desktop applications to web services, may require different ware industry by reducing release process overhead, and im- release processes, but each process must produce an arti- proving the quality of the release artifact. This paper gives fact which meets an expected level of quality, and is rela- a brief background of release engineering as a practice, the tively bug-free. We describe current research to model and existing research in this area, and how we intend to proceed quantify existing release processes, and an effort to prescribe toward our goals. improvements to those processes. 2. BACKGROUND Categories and Subject Descriptors Release engineering is the part of the software engineer- ing process during which the release artifact, usually an ex- D.2.9 [Software Engineering]: Management|software pro- ecutable, installer, library or source code package, is pro- cess models; D.2.7 [Software Engineering]: Distribution, duced. In traditional software development methodologies, Maintenance, Enhancement|release creation and distribu- such as the spiral or waterfall models, release engineering tion comes as part of the deployment and maintenance phases [1, 8].