Transcript
Page 1: Scaling android development - DroidCon Paris 2014

Scaling Android Development Jan Chong @lessachu

Page 2: Scaling android development - DroidCon Paris 2014

2011Tardis c AntToeKnee Lacey

Page 3: Scaling android development - DroidCon Paris 2014

In Android...Honeycomb c Karunakar Rayker

Page 4: Scaling android development - DroidCon Paris 2014

Twitter for Android 2011

Page 5: Scaling android development - DroidCon Paris 2014

twitter.com 2011

Page 6: Scaling android development - DroidCon Paris 2014
Page 7: Scaling android development - DroidCon Paris 2014
Page 8: Scaling android development - DroidCon Paris 2014

20148463 c lozikiki

Page 9: Scaling android development - DroidCon Paris 2014

In Android...Jelly Belly Jelly Beans c Anne

Page 10: Scaling android development - DroidCon Paris 2014

At Twitter...

Page 11: Scaling android development - DroidCon Paris 2014

Twitter for Android 2014

Page 12: Scaling android development - DroidCon Paris 2014
Page 13: Scaling android development - DroidCon Paris 2014

Cultural challenges

Page 14: Scaling android development - DroidCon Paris 2014

Web Brain

Page 15: Scaling android development - DroidCon Paris 2014

#ShipIt

Page 16: Scaling android development - DroidCon Paris 2014

#TestIt

Page 17: Scaling android development - DroidCon Paris 2014

Clients have long lives.

Page 18: Scaling android development - DroidCon Paris 2014

“Can’t we just upgrade all the clients with this bugfix?”

Page 19: Scaling android development - DroidCon Paris 2014

Users decide when to upgrade.

Page 20: Scaling android development - DroidCon Paris 2014

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

Page 21: Scaling android development - DroidCon Paris 2014

Immature development environment

Page 22: Scaling android development - DroidCon Paris 2014

Mobile Brain

Page 23: Scaling android development - DroidCon Paris 2014
Page 24: Scaling android development - DroidCon Paris 2014

Android Brain

Page 25: Scaling android development - DroidCon Paris 2014

Experimentation

Page 26: Scaling android development - DroidCon Paris 2014

Unified Principles

Page 27: Scaling android development - DroidCon Paris 2014

Android Education

Page 28: Scaling android development - DroidCon Paris 2014

Buy a lot of phones.

Page 29: Scaling android development - DroidCon Paris 2014

Send developers to class.

Page 30: Scaling android development - DroidCon Paris 2014

#Simplify

Page 31: Scaling android development - DroidCon Paris 2014

+

system library

twitter library

twitter for android application

Page 32: Scaling android development - DroidCon Paris 2014

Encourage participation.

Page 33: Scaling android development - DroidCon Paris 2014

Support Tooling

Page 34: Scaling android development - DroidCon Paris 2014
Page 35: Scaling android development - DroidCon Paris 2014

Experimentation framework

Page 36: Scaling android development - DroidCon Paris 2014

Feature switches

stayathomeista.com

Page 37: Scaling android development - DroidCon Paris 2014

Contributor dashboard

Page 38: Scaling android development - DroidCon Paris 2014

Eat your own dogfood.

Page 39: Scaling android development - DroidCon Paris 2014

Crashlytics

Page 40: Scaling android development - DroidCon Paris 2014

#AutomateIt

Page 41: Scaling android development - DroidCon Paris 2014

Consistent enforcement

Page 42: Scaling android development - DroidCon Paris 2014

Rapid Feedback

Page 43: Scaling android development - DroidCon Paris 2014

uiautomator

Page 44: Scaling android development - DroidCon Paris 2014

How we release

Page 45: Scaling android development - DroidCon Paris 2014

Monthly Releases

Page 46: Scaling android development - DroidCon Paris 2014

Release Trains

Release TrainsThe train(1) c Richard Taylor

Page 47: Scaling android development - DroidCon Paris 2014

Active Development

Active Development

Bug Fixing

Bake

WEEK 1

WEEK 2

WEEK 3

WEEK 4

Page 48: Scaling android development - DroidCon Paris 2014

Active Development Active Development Bug Fixing Bake

Page 49: Scaling android development - DroidCon Paris 2014

Make it cheaper to take the next train.

Streetcar ticket, 1940 c Seattle Municipal Archives

Page 50: Scaling android development - DroidCon Paris 2014

Spread change over time.

Page 51: Scaling android development - DroidCon Paris 2014

Active Development

Critical Bugfixing/Bake

WEEK N WEEK N + 1

Two Week Staged Release

Page 52: Scaling android development - DroidCon Paris 2014

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

Page 53: Scaling android development - DroidCon Paris 2014

Active Development

Critical Bugfixing/Bake

WEEK N WEEK N + 1

master

week n release branch

Page 54: Scaling android development - DroidCon Paris 2014

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

Page 55: Scaling android development - DroidCon Paris 2014

How do we find bugs faster?

Page 56: Scaling android development - DroidCon Paris 2014

Google Play Alpha Channel

α

Page 57: Scaling android development - DroidCon Paris 2014

ββGoogle Play Beta Channel

Page 58: Scaling android development - DroidCon Paris 2014

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

α α α

β β β

Page 59: Scaling android development - DroidCon Paris 2014
Page 60: Scaling android development - DroidCon Paris 2014

Questions? @lessachu


Top Related