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
Kohei Arai
February 11, 2018
How-to & DIY
5
2.8k
クックパッドの "体系的" サービス開発 / "Systematic" service development at cookpad
Cookpad TechConf 2018 の登壇資料です。
社内での開発サイクルの回し方や、注意しているポイントについてお話しました
Kohei Arai
February 11, 2018
Tweet
Share
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
120
サービス開発者コミュニティを開発している話 / Develop service developers community
spicycoffee
1
530
ユーザーインタビューを開発プロセスに "馴染ませる" / 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
9.8k
AB テストの落とし穴 / "Pitfalls" of AB test
spicycoffee
0
580
Other Decks in How-to & DIY
See All in How-to & DIY
How to get hundreds of organic backlinks through statistics link building
ronishehu
1
270
Terra Charge|急速充電器ご利用ガイドブック / Terra Charge Fast Charger Guidebook
contents
1
330
#Stampfly #M5Stack 開発ストーリーと今後の可能性 前説
takasumasakazu
0
110
JAWS-UG/AWSコミュニティ JAWS-UG おおいた
awsjcpm
2
2.8k
【技術カンファレンス運営の裏側】Iwaken Lab 技術好き学生の近況報告 & ことみんさんに技術カンファレンス運営の裏側を聞いちゃう会
kotomin_m
5
1.6k
ラズパイカメラ向け ケーブル延長基板・ハウジングの開発
koheimasaki
PRO
1
280
Why did my proposals get rejected?
okuramasafumi
1
660
生成AIとミニ四駆で学ぶ! MATLAB/Simulink
covao
1
350
わたしと技術コミュニティとキャリア
kotomin_m
2
1.6k
AWSコミュニティプログラムのご紹介 -グローバル展開するコミュニティプログラム-
awsjcpm
0
160
AWS re:Invent 2024 re:Cap – AWS Community Perspective / JAWS-UG新潟
awsjcpm
0
150
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
300
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
A better future with KSS
kneath
239
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Building an army of robots
kneath
306
45k
Faster Mobile Websites
deanohume
307
31k
Fireside Chat
paigeccino
37
3.5k
How to train your dragon (web standard)
notwaldorf
93
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The Invisible Side of Design
smashingmag
299
51k
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 ɾαʔϏε։ൃͰɺԾઆͷ࣮ߦ͔ΒֶͼΛಘΔαΠΫϧ͕࠷ॏཁ ɾஞ࣍తʹ࣮ߦͤͣɺ࠷ॳʹαΠΫϧશମΛઃܭ͢Δ ɾ֤ϑΣʔζͰదͳϑϨʔϜϫʔΫΛ͏