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
0
870
What we learned from our failure at Cookpad Mart to increase the probability of success in product development
katsuma
0
3k
Overview and challenge of Cookpad Mart in 2022
katsuma
0
11k
Technology infrastructure and development organization supporting Cookpad Mart
katsuma
0
590
Description of Cookpad Mart for engineers
katsuma
0
1.6k
Rails for backend of fresh EC platform "Cookpad Mart"
katsuma
3
3.1k
Service development process for Cookpad Mart
katsuma
1
460
What is "engineer to manager" ?
katsuma
13
8.4k
Problems of Fresh Market's EC
katsuma
0
260
Other Decks in Technology
See All in Technology
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
非機能品質を作り込むための実践アーキテクチャ
knih
3
840
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
24
11k
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
520
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
670
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
160
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
250
生成AIのガバナンスの全体像と現実解
fnifni
1
180
2024年にチャレンジしたことを振り返るぞ
mitchan
0
130
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Visualization
eitanlees
146
15k
Faster Mobile Websites
deanohume
305
30k
Code Reviewing Like a Champion
maltzj
520
39k
Navigating Team Friction
lara
183
15k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Agile that works and the tools we love
rasmusluckow
328
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
A Philosophy of Restraint
colly
203
16k
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 • 指標の評価による仮説の検証