Mobile Development 6 min read

Measuring Engineer Productivity and Software Quality in Facebook Mobile Development

This article analyses seven years of Facebook mobile development data to show how increasing release frequency can coexist with stable engineer productivity and unchanged software quality, using metrics such as daily code changes, commit frequency, bug severity, crash rates, cherry‑picks and launch‑blockers.

Continuous Delivery 2.0
Continuous Delivery 2.0
Continuous Delivery 2.0
Measuring Engineer Productivity and Software Quality in Facebook Mobile Development

Building on a previous discussion of Facebook's mobile continuous delivery practice, this article presents statistical data collected from 2009‑2016 to evaluate the impact of frequent releases on engineer productivity and software quality.

Data sources include all commit logs, collected app crashes, reported defects, and launch‑blocker counts during release windows. The dataset spans a seven‑year period, during which the engineering team grew from 15 to 1,500 members and the mobile release cycle shortened from eight weeks to one week.

Productivity proxy metrics are (1) average lines of code added or modified per engineer per day, and (2) average number of commits per engineer per day. Findings show that Android developers average 70 LOC/day and iOS developers 64.7 LOC/day, with each engineer committing roughly 0.7–0.8 times per day (3–5 times per week). These figures have remained stable over seven years despite a fifteen‑fold increase in team size.

Quality proxy metrics include the number and severity of production bugs, crash rates at different app stages, the count of cherry‑picks, and the count of launch‑blockers during release windows. Critical bugs per release are typically 0–1; medium‑severity bugs have a slope of 0.0003 (Android) and 0.00026 (iOS), while low‑severity bugs have slopes below 0.0012 . Crash rates have not increased with faster releases, and the number of launch‑blockers and cherry‑picks has slightly decreased.

The analysis concludes that higher release frequency does not degrade software quality or engineer output; instead, productivity remains constant and quality improves modestly, aided by stricter release checks and tooling introduced in 2015‑2016.

Reference : "Continuous Deployment of Mobile Software at Facebook", published November 13, 2016.

mobile developmentmetricssoftware qualityFacebookContinuous Deploymentsoftware productivity
Continuous Delivery 2.0
Written by

Continuous Delivery 2.0

Tech and case studies on organizational management, team management, and engineering efficiency

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.