Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Architecting for Experiments at Cookpad Global
Search
Chris Trott
February 16, 2018
Programming
0
3.5k
Architecting for Experiments at Cookpad Global
Chris Trott
February 16, 2018
Tweet
Share
More Decks by Chris Trott
See All by Chris Trott
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
MVVM Architecture at Timehop
twocentstudios
2
470
Other Decks in Programming
See All in Programming
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
140
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
110
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
160
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
CSC509 Lecture 01
javiergs
PRO
1
430
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
260
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.2k
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
2
1.1k
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
11k
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
130
株式会社 Sun terras カンパニーデック
sunterras
0
150
AIを活用したレシート読み取り機能の開発から得られた実践知 / AI Receipt Scan Practice
rockname
2
1.4k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fireside Chat
paigeccino
40
3.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Building Applications with DynamoDB
mza
96
6.6k
Designing Experiences People Love
moore
142
24k
Visualization
eitanlees
148
16k
Rails Girls Zürich Keynote
gr2m
95
14k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
600
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Transcript
Architecting for Experiments at Cookpad Global Chris Trott @Cookpad HQ
Tokyo 2018-02-16
Chris Trott iOS @ Cookpad Global @twocentstudios
Cookpad Global is...
Startup
Established
Requirements? —Experiment with new features —Support our existing features
Experimenting
Why experiment?
How to experiment
Prototyping tools
Audiences for user testing Squad · Company · In person
· Region · Production
Release tools Staging servers · DeployGate · TestFlight · Staged
releases · Feature flags
DeployGate
None
None
None
Product challenges of experimentation —What do we want to learn?
—Choosing the right tool —Choosing the right audience —Constraints of release tools
Technical challenges of experimentation —Writing code fast —Minimum level of
quality —Predicting change
Architecting experimental code
What is architecture?
Why architect?
When to architect?
Example feature
None
None
None
None
None
None
None
None
When to architect?
Architect to isolate change
When is the most change occurring?
Early in product development lifecycle?
Middle of product development lifecycle? —System complexity —Bugs —Audience changes
Late in product development lifecycle?
Full example
None
Other techniques
Use composable tools
Negotiate change
What about experimenting on stable systems?
Summary
Thank you!
None