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
280
MVVM Architecture at Timehop
twocentstudios
2
470
Other Decks in Programming
See All in Programming
無秩序からの脱却 / Emergence from chaos
nrslib
1
8.7k
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
180
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
490
DartASTとその活用
sotaatos
2
150
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
170
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
160
Flutterチームから作る組織の越境文化
findy_eventslides
0
580
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
0
510
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
600
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
300
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.3k
AI時代もSEOを頑張っている話
shirahama_x
0
170
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Navigating Team Friction
lara
190
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Automating Front-end Workflow
addyosmani
1371
200k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Unsuck your backbone
ammeep
671
58k
GitHub's CSS Performance
jonrohan
1032
470k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Side Projects
sachag
455
43k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Facilitating Awesome Meetings
lara
57
6.6k
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