Scaling Android Development 
Jan Chong @lessachu
2011 
Tardis c AntToeKnee Lacey
In Android... 
Honeycomb c Karunakar Rayker
Twitter for Android 
2011
twitter.com 2011
2014 8463 c lozikiki
In Android... 
Jelly Belly Jelly Beans c Anne
At Twitter...
Twitter for Android 
2014
Cultural challenges
Web Brain
#ShipIt
#TestIt
Clients have long lives.
“Can’t we just upgrade all the 
clients with this bugfix?”
Users decide when 
to upgrade.
80 
70 
60 
50 
Users 
40 
% 30 
20 
10 
Days Since Release 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Immature 
development 
environment
Mobile Brain
Android Brain
Experimentation
Unified Principles
Android Education
Buy a lot of phones.
Send developers to class.
#Simplify
+ 
twitter for android 
application 
twitter library 
system library
Encourage participation.
Support Tooling
Experimentation 
framework
Feature switches 
stayathomeista.com
Contributor dashboard
Eat your own dogfood.
Crashlytics
#AutomateIt
Consistent 
enforcement
Rapid Feedback
uiautomator
How we release
Monthly Releases
Release 
Trains 
Release Trains 
The train(1) c Richard Taylor
Active Development 
Active Development 
Bug Fixing 
Bake 
WEEK 1 
WEEK 2 
WEEK 3 
WEEK 4
Active Development Active Development Bug Fixing Bake
Make it cheaper to 
take the next train. 
Streetcar ticket, 1940 c Seattle Municipal Archives
Spread change over time.
WEEK N WEEK N + 1 
Active Development 
Critical Bugfixing/Bake 
Two Week Staged Release
1 WEEK N + 1 WEEK N - Active Development 
Bugfixing/Bake Critical Bugfixing/Bake Critical Bugfixing/Bake 
Critical Bugfixing/WEEK N 
Development Active Development Active Development
WEEK N WEEK N + 1 
Active Development 
Critical Bugfixing/Bake 
master 
week n release branch
1 WEEK N + 1 WEEK N week n - 1 release branch week n release branch week n + 1 release master 
- Active Development 
Bugfixing/Bake Critical Bugfixing/Bake Critical Bugfixing/Bake 
Critical Bugfixing/WEEK N 
Development Active Development Active Development
How do we find bugs faster?
Google Play Alpha Channel α
ββ Google Play Beta Channel
1 WEEK N + 1 WEEK N week n - 1 release branch week n release branch week n + 1 release master 
- Active Development 
Bugfixing/Bake Critical Bugfixing/Bake Critical Bugfixing/Bake 
Critical Bugfixing/WEEK N 
Development Active Development Active Development 
β β β 
α α α
Questions? 
@lessachu

Scaling android development - DroidCon Paris 2014