Scaling android development - DroidCon Paris 2014
-
Upload
paris-android-user-group -
Category
Technology
-
view
303 -
download
1
description
Transcript of Scaling android development - DroidCon Paris 2014
Scaling Android Development Jan Chong @lessachu
2011Tardis c AntToeKnee Lacey
In Android...Honeycomb c Karunakar Rayker
Twitter for Android 2011
twitter.com 2011
20148463 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.
Days Since Release
% Us
ers
10
20
30
40
50
60
70
80
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
+
system library
twitter library
twitter for android application
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 TrainsThe 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.
Active Development
Critical Bugfixing/Bake
WEEK N WEEK N + 1
Two Week Staged Release
Active Development
Critical Bugfixing/Bake
WEEK N
Active DevelopmentActive Development Active Development
Critical Bugfixing/BakeCritical Bugfixing/Bake Critical Bugfixing/Bake
WEEK N + 1 WEEK N + 2WEEK N - 1
Active Development
Critical Bugfixing/Bake
WEEK N WEEK N + 1
master
week n release branch
Active Development
Critical Bugfixing/Bake
WEEK N
Active DevelopmentActive Development Active Development
Critical Bugfixing/BakeCritical Bugfixing/Bake Critical Bugfixing/Bake
WEEK N + 1 WEEK N + 2WEEK N - 1
week n - 1 release branch week n release branch week n + 1 release branch
master
How do we find bugs faster?
Google Play Alpha Channel
α
ββGoogle Play Beta Channel
Active Development
Critical Bugfixing/Bake
WEEK N
Active DevelopmentActive Development Active Development
Critical Bugfixing/BakeCritical Bugfixing/Bake Critical Bugfixing/Bake
WEEK N + 1 WEEK N + 2WEEK N - 1
week n - 1 release branch week n release branch week n + 1 release branch
master
α α α
β β β
Questions? @lessachu