Scaling android development - DroidCon Paris 2014

Post on 13-Jun-2015

301 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

http://fr.droidcon.com/2014/agenda/detail?title=Scaling+Android+Development+at+Twitter In January 2012, nearly all Twitter for Android code was written by three engineers. As of January 2014, Twitter for Android has several dozens unique contributors from over ten different teams. In this talk, we'll discuss how Twitter moved to develop at scale from a single team-based development model to a project based development model that welcomes contributions from across the company and highlight some of the challenges that we ran into on the way. Speaker: Jan Chong, Twitter Jan Chong holds a BS and MS in Computer Science from Stanford University. She has Ph.D from the Management Science & Engineering Department, also from Stanford. She is currently the Engineering Manager for the Twitter for Android team. Prior to joining Twitter, Jan ran client and server software development at OnLive.

Transcript

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

top related