Paper Details
Reference:
Tony Savor, Mitchell Douglas, Michael Gentili, Laurie Williams, Kent Beck, and Michael Stumm,
"Continuous deployment at Facebook and OANDA",
In Proceedings 38th International Conference on Software Engineering Companion (ICSE-C'16), Austin, TX, USA, IEEE, May, 2016, pp. 21–30.
Download:
Abstract:
Continuous deployment is the software engineering practice of deploying many small incremental software updates into production, leading to a continuous stream of 10s, 100s, or even 1,000s of deployments per day. High-profile Internet firms such as Amazon, Etsy, Facebook, Flickr, Google, and Netfix have embraced continuous deployment. However, the practice has not been covered in textbooks and no scientific publication has presented an analysis of continuous deployment.
In this paper, we describe the continuous deployment practices at two very different firms: Facebook and OANDA. We show that continuous deployment does not inhibit productivity or quality even in the face of substantial engineering team and code size growth. To the best of our knowledge, this is the first study to show it is possible to scale the size of an engineering team by 20X and the size of the code base by 50X without negatively impacting developer productivity or software quality. Our experience suggests that top-level management support of continuous deployment is necessary, and that given a choice, developers prefer faster deployment. We identify elements we feel make continuous deployment viable and present observations from operating in a continuous deployment environment.
Keywords:
Continuous Deployment, Agile Process, Deployment Process, DevOps, Continuous Delivery, Release Engineering, Release Management, Facebook, Meta, Software Development
Reference Info:
DOI: 10.1145/2889160
ISBN: 978-1-4503-4205-6
BibTeX:
@inproceedings(Savor-ICSE16, author = {Tony Savor and Mitchell Douglas and Michael Gentili and Laurie Williams and Kent Beck and Michael Stumm}, title = {Continuous deployment at Facebook and OANDA}, booktitle = {Proceedings 38th International Conference on Software Engineering Companion (\textbf{ICSE-C'16})}, location = {Austin, TX, USA}, publisher = {IEEE}, month = {May}, year = {2016}, pages = {21-30}, doi = {10.1145/2889160}, isbn = {978-1-4503-4205-6}, keywords = {Continuous Deployment, Agile Process, Deployment Process, DevOps, Continuous Delivery, Release Engineering, Release Management, Facebook, Meta, Software Development} )