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
Service Development at Cookpad 2015 summer inte...
Search
Ryo Katsuma
September 07, 2015
Technology
8
33k
Service Development at Cookpad 2015 summer internship
Ryo Katsuma
September 07, 2015
Tweet
Share
More Decks by Ryo Katsuma
See All by Ryo Katsuma
The past and future of cookpad mart service development
katsuma
1
1k
What we learned from our failure at Cookpad Mart to increase the probability of success in product development
katsuma
0
3.3k
Overview and challenge of Cookpad Mart in 2022
katsuma
0
11k
Technology infrastructure and development organization supporting Cookpad Mart
katsuma
0
620
Description of Cookpad Mart for engineers
katsuma
0
1.7k
Rails for backend of fresh EC platform "Cookpad Mart"
katsuma
3
3.3k
Service development process for Cookpad Mart
katsuma
1
510
What is "engineer to manager" ?
katsuma
13
8.9k
Problems of Fresh Market's EC
katsuma
0
280
Other Decks in Technology
See All in Technology
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
330
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
200
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
0
240
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
250
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
460
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
10
1.7k
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
5
300
[mercari GEARS 2025] Keynote
mercari
PRO
0
170
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
440
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
170
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
520
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
390
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Rails Girls Zürich Keynote
gr2m
95
14k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Language of Interfaces
destraynor
162
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Six Lessons from altMBA
skipperchong
29
4.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Transcript
技術職インターンシップ 投稿推進部 部長 勝間 亮 クックパッドにおけるサービス開発
自己紹介 • 勝間 亮 (かつま りょう) • 2009.05~ クックパッド •
サービス開発エンジニア ‣ 検索, 投稿, 新規事業, 会員事業, … etc • 2014.05~ 投稿推進部 部長
今日の流れ • 9:30~11:20 クックパッドのサービス開発 • 11:20~11:30 ! • 11:30~13:00 個人ワーク
今日の目的 “クックパッドのサービス開発の 考え方を理解する”
今日のゴール 「今日からウチの部でよろしく!」 に(なんとか)対応できる
今日からよろしく? • 開発フェーズと目的を理解 • 今、何をすべきかを判断 • 最小のコストで実現
!! 注意 !!
注意 • コードは書きません • 頭を使って考えてください
サービス開発の考え方
サービス? • クックパッドのWebサービス/アプリ • 目に見えている、利用できるもの ‣ 検索, レシピ投稿… ‣ ユーザー登録,
ログイン… ‣ メール, Push通知…
根底にある理解
根底にある理解 誰も正解は知らない
根底にある理解 • 誰も正解は知らない ‣ 僕も分からない ‣ 社長も分からない
根底にある理解 • 限られたリソースの中で多くのトライ ‣ 失敗から学ぶ
根底にある理解 • 可能なかぎりの工夫 ‣ フレームワーク ‣ 先人の知恵
大事にしている考え • アジャイルなものづくり • リーンスタートアップ • 技術に対するスタンス
アジャイルなものづくり • インクリメンタル ‣ いきなり理想形をすべて形にしない ‣ 一度に全部作らない
アジャイルなものづくり • イテレーティブ ‣ 最初は小さくつくる ‣ 継続的に改良しながら大きくする
アジャイルなものづくり コアを形に コア完成 追加機能Aを形に コア完成 追加機能Aを完成 追加機能Bを形に
リーンスタートアップ 引用: http://www.amazon.co.jp/dp/4822248976
リーンスタートアップ • サービス開発のプロセス論 ‣ このやり方をやればOK ⇨ × • 失敗を前提 ‣
いかに早く無駄なく成功に辿り着けるか ‣ クックパッドの考えとマッチ
リーンスタートアップ 1. ユーザの欲求をもとに 課題と解決策が持つ価値を設定 2. 解決策を形にして、 実際に利用してもらい価値を検証 3. 利用データを見ながら方向性を見直 し
リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し
価値仮説
リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し
MVPと検証 価値仮説
リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し
MVPと検証 価値仮説 BMLループ
技術に対するスタンス • ユーザーの課題解決 ‣ ↔ 面白そうだからやってみる (= 技術のための技術 ) •
解くべき課題は何?を明確に
例)RxJava導入編
例)RxJava導入編
例)RxJava導入編
例)RxJava導入編
解くべき課題 • 例) 主婦の持つ課題 ‣ 今日何作ろう?が決まらない ‣ 同じものを作りたくない ‣ 毎日買物には行けない
解くべき課題 • 例) 主婦の持つ課題 ‣ 今日何作ろう?が決まらない ‣ 同じものを作りたくない ‣ 毎日買物には行けない
• 解) 人気レシピを探せる検索
サービス開発の考え方 まとめ
サービス開発の考え方 • 正解は誰にも分からない • 多くのトライを打つことが合理的 • 技術はユーザーの課題解決のため
Q & A
サービス開発のフロー
開発フロー • 課題発見 • 価値仮説 • MVP • 効果検証
開発フロー ‣ 課題発見 • 価値仮説 • MVP • 効果検証
課題発見 • ユーザーインタビュー ‣ アンケートから感情を理解するのは困難 ‣ コストは高いが確実 • ターゲット層と直接話す ‣
課題発見以外の場面でも
インタビュー " #
インタビュー ユーザーの声を聞くのではない #
インタビュー 声の背後にある具体的な体験を聞く #$
インタビュー • 知りたいのは声の背後にある具体的体験 ‣ ユーザの「声」は自身が体験を分析した結果 ‣ 分析が正しい保証はない ‣ 普遍的な意見なのかどうかもわからない •
体験をきちんと理解/分析し直してこそプロ
実際やるといろいろ難しい
ユーザの話 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。そのあと合いそうな副 菜を探してだいたい3品くらい作ります。 # "
ユーザの話は不完全 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。(実は家族にこの間に LINEで相談してた) そのあと合いそうな副菜を 探してだいたい3品くらい作ります。(実は作り おきのおかずで1品はすませます) # "
ユーザは例外には触れない 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。そのあと合いそうな副 菜を探してだいたい3品くらい作ります。 本当は家族が食べたいものをリクエストしてく れる日は一番さくっと決まるんですけどね。 # "
体験を聞き出すコツ
具体的なシーンを 「夕飯の献立はどうやって決めますか?」 「昨日の夕飯の献立はどうやって決めましたか?」
具体的なシーンを 「いまスマートフォンをお持ちですか? 実際に使っているところを見せてもらえますか?」
教えを請う • 教えてほしい姿勢の人には丁寧に説明 ‣ 話してる最中に次の質問を考えるのはNG
根堀り 葉堀り • 最初の質問から理解しようと努める ‣ 自ずと次の質問が湧いてくるはず ‣ 理解できるまで疑問があれば素直に質問
理解したことを確認 • 理解した内容を直接確認してみる ‣ 一部の回答だけ聞いて分かった気にならない
記録のコツ
役割分担 • メインインタビュアー • 記録係 " %
全部書く • 何が重要かはその場で分からない ‣ 誰かによるフィルタ前の生データ • 手書きで残す ‣ 話し相手の横でPCに向かれると距離 %
課題の発見 • 「絶対に必要」とする課題は何? • 現在の解決策は何?
課題発見 • 「絶対に必要」とする課題は何? • 現在の解決策は何? これは解決すべき課題?
ユーザー抽出 • クックパッドのデータから抽出 ‣ 地域 ‣ 年代 ‣ 利用データ •
メールでインタビュー許諾
インタビュイー どういう層のユーザーを向いているか
インタビュイー 社内スタッフもベンチマーク
引用: http://www.oreilly.co.jp/books/9784873115917/ http://www.oreilly.co.jp/books/9784873117218/
開発フロー • 課題発見 ‣ 価値仮説 • MVP • 効果検証
方向性のまとめ • 課題と解決策の仮説をまとめる • 自社フレームワーク ‣ 価値仮説シート ‣ EOGS ‣
ステートメントシート
まとめる意義 • 自分たちの思考整理 • 開発中にメンバー間で考えがぶれる ‣ 「何で作ってんだっけ?」の方向性を正す ‣ 限られた時間の中で目的を見失うのは無駄
価値仮説シート • シンプルなフォーマット ‣ ユーザー ‣ 欲求 ‣ 課題 ‣
価値
価値仮説シート • (ユーザー) ________ は • (欲求) _______ (し)たいが •
(課題) _______ (でき)ないので • (特徴) _______ (こと)に価値がある
None
例) 人気順検索 • (ユーザー) レシピをさがすユーザーは • (欲求) 今日のメニューを早く決めたいが • (課題)
多くのレシピから決められないので • (特徴) 人気レシピを探せる検索に価値がある
EOGS • 多くのキャストを考慮するとき ‣ のせる/さがす/クライアント/クックパッド • 欲求をベース ‣ 方向性をまとめるのに向いてる ‣
例)レシピコンテスト
None
200万レシピ
ステートメントシート • やること/やらないことを明確化 ‣ シンプルな機能を実現できる ‣ 新規アプリ開発に向いている
お料理アルバム
お料理アルバム
使い分け • 価値仮説シートはまず書く ‣ シンプルなので一番書きやすい • アプリならステートメントシート • いろんなキャストが絡むとEOGS
価値仮説シート • (ユーザー) ________ は • (欲求) _______ (し)たいが •
(課題) _______ (でき)ないので • (特徴) _______ (こと)に価値がある
開発フロー • 課題発見 • 価値仮説 ‣ MVP • 効果検証
MVP • Minimum Viable Product • 価値仮説が正しいかを検証 • 検証を行える可能な限り小さいもの ‣
実装しないものは最も優れたMVP ‣ 例) 手書きのチラシ
None
プロトタイプ • 最短で動くものを作る ‣ 実装せずにできるとベスト • Flinto/Prott ‣ 絵だけで動くものができる ‣
スマホで実現したときの疑似体験
Flinto
Flinto
Flinto
デザインルール
小さくためす • 限定ユーザーを対象 ‣ スタッフのみ ‣ 特定のユーザーのみ • いきなり全体リリースはしない ‣
イレーティブな開発 ‣ ツールで工夫
限定公開 • Web: Chanko • iOSアプリ: Test Flight • Androidアプリ:
Deploy Gate
Chanko • Webで限定公開する仕組み • Railsの内製プラグイン ‣ Staffだけ ‣ 特定条件のユーザーだけ https://speakerdeck.com/mrkn/chanko
None
小さくためす • 実装しない工夫 • 少人数で試す工夫 • ツールを最大限活用
開発フロー • 課題発見 • 価値仮説 • MVP ‣ 効果検証
検証 • 検証すべき数字をあらかじめ決定 ‣ 利用ユーザー数 ‣ リテンション数 … etc •
定量的な情報で仮説を判断
なぜ効果検証? • MVPを答え合わせ ‣ このまま進む? ‣ 方向転換すべき? 引用: Lean Analytics
http://www.oreilly.co.jp/books/9784873117119/
BMLループ idea data Build Measure Learn product
BMLループ idea data Build Measure Learn 価値仮説 何を学びたいか考える 検証 答えあわせをする
MVP 学びたいものをつくる product
指標 • 物事を客観的に評価、判断するもの • サイト状態を示す指標 ‣ PV, UU … •
ユーザーの行動を示す指標 ‣ CTR, CVR, リテンション …
PV • ページが表示された回数 • 広告のimpression(imp)もほぼ同義 • 100人が1回表示 = 1人が100回表示 "
# 5 PV
UU • 期間内にサイト利用したユーザー数 " # 2 UU
CTR (Click Through Rate) • クリック回数 / 表示回数 click CTR
50%
CVR (Conversion Rate) • 最終評価に辿り着く=コンバージョン ‣ 商品購入, 投稿完了など • コンバージョン数をPV,
UUで割ったもの ¥ 離脱 CVR 50%
リテンション • 操作xを行ったユーザーがn日後に操作y • (ざっくり)ユーザーが定着をしているか 5/1 5/2 5/3 & &
& & & & & " # ' ( 2日後のリテンション率 25%
意思決定 MVP 評価 リリース範囲を拡大 リリース内容見直し 戦略練り直し(Pivot)
引用: http://www.oreilly.co.jp/books/9784873117119/
サービス開発のフロー まとめ
開発フローのまとめ • インタビューによる課題発見 • フレームワークで価値仮説をまとめ • ツールを使ったMVP • 指標の評価による仮説の検証