Mobile Development 39 min read

Continuous Deployment of Facebook Mobile Applications: Process, Data Analysis, and Findings

This paper describes Facebook's continuous deployment practice for its Android and iOS mobile apps, outlines the release workflow, presents a seven‑year data set covering commits, crashes, and issue tracking, and analyses how deployment frequency, team size, and release timing affect developer productivity and software quality.

DevOps
DevOps
DevOps
Continuous Deployment of Facebook Mobile Applications: Process, Data Analysis, and Findings

Continuous deployment (CD) is the practice of releasing software updates to production as soon as they are ready, and it has become increasingly common in the industry. Mobile apps, however, face additional constraints such as app‑store review times, heterogeneous devices, and the need for users to opt‑in to upgrades.

Facebook has dramatically increased the frequency of its mobile releases: Android deployments moved from one every eight weeks to one per week, while iOS moved from an eight‑week cadence to a weekly cadence over four years. The process decouples development from deployment: developers commit to the master branch continuously, a release branch is cut weekly (Android) or bi‑weekly (iOS), and extensive automated testing is performed before the branch is submitted for store approval.

Data were collected from January 2009 to May 2016, including version‑control logs, crash reports, user‑submitted issue databases (Flytrap), task records, cherry‑pick logs, production‑issue databases, daily active user counts, and source‑code metrics. After cleaning and cross‑checking, the data were used to evaluate productivity (lines of code per developer per day, commits per developer) and quality (severity‑graded issue counts, crash rates, cherry‑pick frequency).

Key findings include: (i) despite a 15‑fold increase in the number of mobile engineers, individual developer productivity remained stable; (ii) increasing deployment frequency did not degrade productivity or overall software quality; (iii) the number of critical issues stayed roughly constant while medium‑ and low‑severity issues grew linearly with push volume; (iv) code quality drops on the day a release branch is cut, likely due to deadline pressure; (v) files edited by many developers or changed many times are more likely to contain defects, suggesting a need to split heavily‑touched code.

The study concludes that Facebook’s CD pipeline, supported by massive automation, extensive testing infrastructure, and feature‑flag mechanisms, enables rapid releases without sacrificing quality, but the act of deploying more frequently alone does not improve productivity or quality. Tooling improvements and disciplined processes are the primary drivers of the observed benefits.

Finally, the authors acknowledge contributions from several Facebook engineers and list extensive references on agile development, continuous integration, continuous delivery, and mobile testing.

software engineeringFacebookrelease processContinuous DeploymentMobile Appsquality analysis
DevOps
Written by

DevOps

Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.