Modern Release Engineering in a Nutshell: Why Researchers should Care

Authors - Bram Adams, Shane McIntosh
Venue - International Conference on Software Analysis, Evolution, and Reengineering, Future of Software Engineering (invited paper), vol. 5, pp. 78-90, 2016

Related Tags - SANER 2016 build systems build performance integration

Abstract - The release engineering process is the process that brings high quality code changes from a developer's workspace to the end user, encompassing code change integration, continuous integration, build system specifications, infrastructure-as-code, deployment and release. Recent practices of continuous delivery, which bring new content to the end user in days or hours rather than months or years, have generated a surge of industry-driven interest in the release engineering pipeline. This paper argues that the involvement of researchers is essential, by providing a brief introduction to the six major phases of the release engineering pipeline, a roadmap of future research, and a checklist of three major ways that the release engineering process of a system under study can invalidate the findings of software engineering studies. The main take-home message is that, while release engineering technology has flourished tremendously due to industry, empirical validation of best practices and the impact of the release engineering process on (amongst others) software quality is largely missing and provides major research opportunities.

Preprint - PDF

Bibtex

@inproceedings{adams2016saner,
  Author = {Bram Adams and Shane McIntosh},
  Title = {{Modern Release Engineering in a Nutshell: Why Researchers should Care}},
  Year = {2016},
  Booktitle = {Proc. of the International Conference on Software Analysis, Evolution, and Reengineering (SANER)},
  Pages = {78-90}
}