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
500
What is "engineer to manager" ?
katsuma
13
8.8k
Problems of Fresh Market's EC
katsuma
0
280
Other Decks in Technology
See All in Technology
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
750
Create Ruby native extension gem with Go
sue445
0
130
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
160
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
slog.Handlerのよくある実装ミス
sakiengineer
4
470
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
200
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
110
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Side Projects
sachag
455
43k
Writing Fast Ruby
sferik
628
62k
Building an army of robots
kneath
306
46k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
A Tale of Four Properties
chriscoyier
160
23k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
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 • 指標の評価による仮説の検証