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
クックパッドの "体系的" サービス開発 / "Systematic" service dev...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kohei Arai
February 11, 2018
How-to & DIY
2.9k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クックパッドの "体系的" サービス開発 / "Systematic" service development at cookpad
Cookpad TechConf 2018 の登壇資料です。
社内での開発サイクルの回し方や、注意しているポイントについてお話しました
Kohei Arai
February 11, 2018
More Decks by Kohei Arai
See All by Kohei Arai
Service development lecture in 2019 cookpad summer internship
spicycoffee
3
14k
サービス開発者コミュニティを開発している話(@北大 2019.1)
spicycoffee
0
140
サービス開発者コミュニティを開発している話 / Develop service developers community
spicycoffee
1
590
ユーザーインタビューを開発プロセスに "馴染ませる" / How to "fit" user interviews to development process
spicycoffee
1
1.4k
Service development lecture in 2018 summer internship - 10 Day Tech for service engineers -
spicycoffee
1
10k
AB テストの落とし穴 / "Pitfalls" of AB test
spicycoffee
0
620
Other Decks in How-to & DIY
See All in How-to & DIY
JAWS-UG/AWS Community Update - 2026/6/13 JAWS-UG TOHOKU 仙台
awsjcpm
0
1.3k
とある地方技術勉強会に集うエンジニアたちのこれまでとこれから
pharaohkj
1
180
決まらない会議を卒業しよう 意思決定を進化させるワークショップ
andrearc
0
110
登壇資料を素早く作るための順番
kotomin_m
9
2.3k
多摩.dev で草を食べる話をしたら カンファレンスに登壇していた / from-eating-weeds-to-a-conference
aokiplayer
1
470
How to Stylus 20251031
hareyakayuruyaka
0
170
ボードゲーム × 専用収納 〜3Dプリントで埋めるニッチな隙間〜 / Board Games × Custom Storage
handlename
0
350
Linuxが動く自作SBCを作る話.pdf
daimiya
1
860
フィールドエンジニア at 多摩川 / Field Engineer at Tamagawa
aokiplayer
0
390
10分de名コミュ “最高の自分”を演じ憧れの同業者と渡り合う
subroh0508
1
680
What $10 Fake AirPods and a $30 Chip Decap Reveal About China's Semiconductors
takasumasakazu
0
120
移動は善 / 20260124-NGK2026S
girigiribauer
1
210
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
For a Future-Friendly Web
brad_frost
183
10k
Making the Leap to Tech Lead
cromwellryan
135
10k
The Curious Case for Waylosing
cassininazir
1
480
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Tell your own story through comics
letsgokoyo
1
1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Building an army of robots
kneath
306
46k
Transcript
৽Ҫ ߁ฏ ձһࣄۀ෦ ΤϯδχΞ ΫοΫύουͷ “ମܥత” αʔϏε։ൃ
ࣗݾհ 2 ৽Ҫ ߁ฏ @SpicyCoffee66 ɾ2017 ৽ଔೖࣾ ΤϯδχΞ ɾαʔϏε։ൃ෦ ͕͢͞νʔϜଐ
ɹ* ݕূͷΈཱ͔ͯΒ࣮ɾੳ·Ͱ ɹ* cookpad studio ͷ ɹ αʔόʔαΠυϝΠϯΤϯδχΞ ɾࠓظ͔Βձһࣄۀ෦ଐ ɾRails, SQL
ຊͷओ ΫοΫύουͰ ͲͷΑ͏ʹ։ൃαΠΫϧΛճ͍ͯ͠Δ͔ 3
αʔϏε։ൃ͍͠ 4
αʔϏε։ൃͷ͠͞ ɾϢʔβʔͷ࣋ͭཉٻɺຊਓΛؚΊͯ୭ʹΘ͔Βͳ͍ ɾϢʔβʔͷ࣋ͭཉٻɺ࣌ؒͱͱʹมΘ͍ͬͯ͘ 5 ΰʔϧ͕Θ͔Βͳ͍ ࠓ͍Δॴ͕Θ͔Βͳ͍ ɾ։ൃऀࣗͷαʔϏεΛਖ਼͘͠ཧղͰ͖͍ͯͳ͍
αʔϏε։ൃͷ͠͞ 6 ΰʔϧ͕نఆͰ͖Δ ઃܭ ΰʔϧ͕نఆͰ͖ͳ͍ αʔϏε։ൃ
αʔϏε։ൃͷ͠͞ 7 ΰʔϧ͕نఆͰ͖ͳ͍ αʔϏε։ൃ ։ൃαΠΫϧ ֶͼͷαΠΫϧ ԾઆΛཱͯͯ ࣮ߦͯ͠ ϢʔβʔͷԠΛݟΔ
ֶͼͷαΠΫϧ 8 BML ϧʔϓ Measure Learn product idea data Build
Ծઆ͔ΒϓϩμΫτʹ ϓϩμΫτ͔Βσʔλʹ σʔλ͔Β Ծઆʹ
ֶͼͷαΠΫϧ ʙཧʙ 9 BML ϧʔϓ Measure Learn product idea data
Build ࠷Ͱ࠷খͷ ϓϩμΫτ A/B ςετͰޮՌଌఆ ৫ʹ ݟڞ༗
ֶͼͷαΠΫϧ ʙݱ࣮ʙ 10 BML ϧʔϓ Measure Learn product idea data
Build ͍͍ͩͨ ͲͷϑΣʔζͰ ࣦഊ͢Δ
Case: 1 11
ֶͼͷαΠΫϧࣦഊྫ 12 Push ௨ͬͯͲͷ͘Β͍ޮՌ͕͋Δͷ͔Γ͍ͨ ࣮ͯ͠ݕূͯ͠Έ·͠ΐ͏ Push ௨ͷޮՌ͕Γ͍ͨ Push ௨ͷ࣮ ʹ
ֶͼͷαΠΫϧࣦഊྫ 13 Ͳ͏ͤͳΒը૾͚͍ͭͨͰ͢Ͷ Push ௨ͷޮՌ͕Γ͍ͨ Push ௨ͷ࣮ ≦ Push ௨ʹը૾
ֶͼͷαΠΫϧࣦഊྫ 14 Ϩγϐ͕Ϧίϝϯυग़དྷΔΑ͏ʹͳΓ·ͨ͠ʂ ͦͷػೳͤ·͠ΐ͏ʂ Push ௨ͷޮՌ͕Γ͍ͨ Push ௨ͷ࣮ < Push
௨ʹը૾ Ϧίϝϯυػೳ
ֶͼͷαΠΫϧࣦഊྫ 15 Push ௨ͷޮՌ͕Γ͍ͨ Push ௨ͷ࣮ <<< Push ௨ʹը૾ Ϧίϝϯυػೳ
͡Ό͋ઐ༻ͷ LP ࡞Γ·͠ΐ͏ʂʂʂ ઐ༻ LP !ʁʁʁ
ֶͼͷαΠΫϧࣦഊྫ 16 Build ͷࣦഊ ɾϓϩμΫτ͕ෆඞཁʹେ͖͘ͳ࣮ͬͯʹ͕͔͔࣌ؒΔ ɾݕূ͍ͨ͠Ծઆͱͨ͠ϓϩμΫτͷػೳ͕טΈ߹͍ͬͯͳ͍ ɾͦͦԾઆʹߟྀ࿙Ε͕͋Δ
Case: 2 17
ֶͼͷαΠΫϧࣦഊྫ 18 ػೳͷ࣮ ϩάຒ·ͬͯ ͳ͔ͬͨʂʂʂ
ֶͼͷαΠΫϧࣦഊྫ 19 Measure ͷࣦഊ ɾ͍͟ܭଌ͠Α͏ͱ͢Δͱϩά͕ຒ·͍ͬͯͳ͍ ɾෳͷ A/B ςετ͕িಥͯ͠ܭଌ݁ՌʹӨڹ͕ग़Δ ɾूܭ SQL
ʹؒҧ͍͕͋Γɺ࠷ѱͷ߹ͦΕʹؾ͕͔ͭͳ͍
Case: 3 20
ֶͼͷαΠΫϧࣦഊྫ 21 TOP ͷόφʔΛม͑ͯೖձ͕ ◦◦% ૿͑·ͨ͠ʂ ʂʂʂ ͦΕ……ଟ͍ΜͰ͠ΐ͏͔ʁ Ͳ͏ͳΜͰ͠ΐ͏…… ·͊ࣈ্͕ͬͯΔ͠࠾༻͠·͔͢……
ֶͼͷαΠΫϧࣦഊྫ 22 Learn ͷࣦഊ ɾग़͖ͯͨࣈΛͲ͏ղऍ͢Ε͍͍͔ΠϚΠνΘ͔Βͳ͍ ɾࣈಈֶ͍͕ͨͼΛಘΒΕ͔ͨͱݴΘΕΔͱͦ͏Ͱͳ͍ ɾಘΒΕͨݟ͕ଐਓతʹͳΔɺ͋Δ͍ҋʹফ͑Δ
͜͏ͳΒͳ͍ͨΊʹ 23
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 24 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 25 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ खΓͷࢭ ޮతͳֶͼ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 26 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ ɾஞ࣍తʹΖ͏ͱ͢Δͱɺ݁ߏେ͖ͳखΓʹܨ͕Δ ɾલͷϑΣʔζ͕ऴΘͬͯͳͯ࣍͘ͷϑΣʔζͷ͜ͱߟ͑ΒΕΔ ɾֶͼͷαΠΫϧࣗମΛҰͭͷϓϩδΣΫτͱߟ͑Δͱ ɹΉ͠Ζ࠷ॳʹαΠΫϧશମΛઃܭ͢Δ͖ खΓͷࢭ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 27 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ Measure product Build idea data ɾϩά͕Γͳ͍ ɾͲ͏͍͏Λ
ɹܭଌ͢Δͷ͔ෆ໌ྎ खΓͷࢭ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 28 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ Measure product Build Learn idea data ɾࣈͷղऍ͕Θ͔Βͳ͍
ɾͲͷͰࢪࡦΛ ɹධՁ͢Δ͔ܾ·ͬͯͳ͍ खΓͷࢭ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 29 લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ Measure product Build Learn data idea ԾઆΛཱͯΔஈ֊Ͱ
αΠΫϧͷઌʹؔ͢Δ͜ͱ ܾΊΕΔͷܾΊͯ͠·͏ खΓͷࢭ Measure product Build Learn data
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 30 αʔϏεʹର͢Δཧղ ݱ࣮ ֶͼ લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ ޮతͳֶͼ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 31 αʔϏεʹର͢Δཧղ ݱ࣮ ֶͼ ࢪࡦ݁Ռͷ༧ ࢪࡦͷ݁Ռ ࢥͬͨΑΓ ྑ͍ /
ѱ͍ ͦΕͳ͔ͥʁ લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ ޮతͳֶͼ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτ 33 αʔϏεʹର͢Δཧղ ݱ࣮ ࢪࡦ݁Ռͷ༧ ࢪࡦͷ݁Ռ લ͔Βॱ൪ʹΖ͏ͱ͠ͳ͍ ޮతͳֶͼ
֤ϑΣʔζͷઃܭ 34
֤ϑΣʔζͷઃܭ ʙBuildʙ 35 Build ʹ͍ͭͯલ͓ͬͯͬͯ͘͜ͱ ɾઈରʹݕূ͍ͨ͠Ծઆͷ໌֬Խ ɾݕূഎܠͷཧ ɾݕূ༰ɾҙͷཧ
֤ϑΣʔζͷઃܭ ʙMeasureʙ 36 Measure ʹ͍ͭͯલ͓ͬͯͬͯ͘͜ͱ ɾܭଌख๏ͷબఆ ɾKPI ͷܾఆ ɹ* ଞʹӨڹΛ༩͑Δࢦඪ͕ͳ͍͔֬ೝ͢Δ
ɾϩάͷ֬ೝɺSQL ͷ࣮ߦ ɹ* ࣮ࡍʹҰ SQL Λୟ͍ͯΈΔ
֤ϑΣʔζͷઃܭ ʙLearnʙ 37 Learn ʹ͍ͭͯલ͓ͬͯͬͯ͘͜ͱ ɾࢦඪղऍͷཧ ɹ* ͜ͷ͕ߴͯ͘͜ͷ͕͍ͱ͖ͲΜͳͱ͖ͩΖ͏͔ ɾ݁Ռͷఆ ɹ*
ଌఆࢦඪ͕Ͳͷ͘Β͍ͷࣈʹͳͬͨΒͲ͏͢Δ͔ ɹ*ʮͳΜͱͳ͘GO ʯΛආ͚Δʢ࡞ͬͨͷग़ͨ͘͠ͳΔʣ ɾʮޭͷΠϝʔδʯΛڞ༗͢Δ
ֶͼͷαΠΫϧͷӡ༻ϙΠϯτʙ࣮ྫʙ 38 ࢪࡦલʹ͓͜ͳ͏ٞͷྫ
ࣾͰར༻͞ΕΔπʔϧ ϑϨʔϜϫʔΫͷհ 39
Build 40
ࣾϑϨʔϜϫʔΫͷհ ʙ Build ʙ 41 ՁԾઆγʔτ
ࣾϑϨʔϜϫʔΫͷհ ʙ Build ʙ 42 ՁԾઆγʔτ
ࣾϑϨʔϜϫʔΫͷհ ʙ Build ʙ 43 Chanko ɾϓϩτλΠϓ։ൃΛαϙʔτ͢Δ Rails ϓϥάΠϯ ɾϢʔβʔηάϝϯτ͝ͱͷϩδοΫద༻
ɾΤϥʔൃੜ࣌ͷϑΥʔϧόοΫ ɾhttps://github.com/cookpad/chanko EazyAb ɾA/B ςετ༻ Chanko ֦ு
Measure 44
ࣾϑϨʔϜϫʔΫͷհ ʙ Measure ʙ 45 Hakari2 ɾϩΪϯάɾKPI ཧπʔϧ ɾΩʔϫʔυΛઃఆͯ͠ΠϕϯτΛϩΪϯάͰ͖Δ ɾࣗಈͰ
dashboard ͕࡞͞ΕΔ
ࣾϑϨʔϜϫʔΫͷհ ʙ Measure ʙ 46 papa dashboard ɾHakari2 ͷϩάΛͱʹूܭ݁ՌΛՄࢹԽ ɾ༗ҙ͕ࠩ͋Γͦ͏͔Ͳ͏͔ͷ҆
Learn 47
ࣾϑϨʔϜϫʔΫͷհ ʙ Learn ʙ 48 Report.md ɾࢪࡦͷੳϨϙʔτΛ Markdown Ͱ࡞ ɾPull
Request ܗࣜͰӡ༻ ɾνʔϜͷϨϙδτϦʹɺϨϏϡʔͷ௨ͬͨݟΛϓʔϧ
ࣾϑϨʔϜϫʔΫͷհ ʙ Learn ʙ 49 Report.md 1. ࢪࡦͷੳϨϙʔτΛ Markdown Ͱ࡞͠ɺPR
Λఏग़
ࣾϑϨʔϜϫʔΫͷհ ʙ Learn ʙ 50 Report.md 2. νʔϜϝϯόʔΛத৺ʹϨϙʔτΛϨϏϡʔ
ࣾϑϨʔϜϫʔΫͷհ ʙ Learn ʙ 51 Report.md 3. ϨϏϡʔ͕௨ͬͨΒϚʔδͯ͠ϨϙʔτΛϓʔϧ
ࣾϑϨʔϜϫʔΫͷհ ʙ Learn ʙ 52 Report.md ɾݟͷϓʔϧՕॴ͕໌֬ʹͳΔ͜ͱͰࢀরੑ্͕͕Δ ɾϨϏϡʔΛ௨͢͜ͱͰɺݟͷਫ਼্͕͕Δ ɾϨϏϡʔࣗମʹΑͬͯɺͷߴ͍ঢ়ଶͰҰݟ͕ڞ༗͞ΕΔ ɾϨϏϡϫʔͷࢪࡦɾαʔϏεʹର͢Δཧղ͕ਂ·Δ
ɾPR ্ͷ͔ٞΒࢪࡦͷলΞΠσΟΞ͕ੜ·ΕΔ
·ͱΊ 53
·ͱΊ 54 ɾαʔϏε։ൃͰɺԾઆͷ࣮ߦ͔ΒֶͼΛಘΔαΠΫϧ͕࠷ॏཁ ɾஞ࣍తʹ࣮ߦͤͣɺ࠷ॳʹαΠΫϧશମΛઃܭ͢Δ ɾ֤ϑΣʔζͰదͳϑϨʔϜϫʔΫΛ͏