Slide 1

Slide 1 text

技術職インターンシップ 投稿推進部 部長 勝間 亮 クックパッドにおけるサービス開発

Slide 2

Slide 2 text

自己紹介 • 勝間 亮 (かつま りょう) • 2009.05~ クックパッド • サービス開発エンジニア ‣ 検索, 投稿, 新規事業, 会員事業, … etc • 2014.05~ 投稿推進部 部長

Slide 3

Slide 3 text

今日の流れ • 9:30~11:20 クックパッドのサービス開発 • 11:20~11:30 ! • 11:30~13:00 個人ワーク

Slide 4

Slide 4 text

今日の目的 “クックパッドのサービス開発の
 考え方を理解する”

Slide 5

Slide 5 text

今日のゴール 「今日からウチの部でよろしく!」 に(なんとか)対応できる

Slide 6

Slide 6 text

今日からよろしく? • 開発フェーズと目的を理解 • 今、何をすべきかを判断 • 最小のコストで実現

Slide 7

Slide 7 text

!! 注意 !!

Slide 8

Slide 8 text

注意 • コードは書きません • 頭を使って考えてください

Slide 9

Slide 9 text

サービス開発の考え方

Slide 10

Slide 10 text

サービス? • クックパッドのWebサービス/アプリ • 目に見えている、利用できるもの ‣ 検索, レシピ投稿… ‣ ユーザー登録, ログイン… ‣ メール, Push通知…

Slide 11

Slide 11 text

根底にある理解

Slide 12

Slide 12 text

根底にある理解 誰も正解は知らない

Slide 13

Slide 13 text

根底にある理解 • 誰も正解は知らない ‣ 僕も分からない ‣ 社長も分からない

Slide 14

Slide 14 text

根底にある理解 • 限られたリソースの中で多くのトライ ‣ 失敗から学ぶ

Slide 15

Slide 15 text

根底にある理解 • 可能なかぎりの工夫 ‣ フレームワーク ‣ 先人の知恵

Slide 16

Slide 16 text

大事にしている考え • アジャイルなものづくり • リーンスタートアップ • 技術に対するスタンス

Slide 17

Slide 17 text

アジャイルなものづくり • インクリメンタル ‣ いきなり理想形をすべて形にしない ‣ 一度に全部作らない

Slide 18

Slide 18 text

アジャイルなものづくり • イテレーティブ ‣ 最初は小さくつくる ‣ 継続的に改良しながら大きくする

Slide 19

Slide 19 text

アジャイルなものづくり コアを形に コア完成 追加機能Aを形に コア完成 追加機能Aを完成 追加機能Bを形に

Slide 20

Slide 20 text

リーンスタートアップ 引用: http://www.amazon.co.jp/dp/4822248976

Slide 21

Slide 21 text

リーンスタートアップ • サービス開発のプロセス論 ‣ このやり方をやればOK ⇨ × • 失敗を前提 ‣ いかに早く無駄なく成功に辿り着けるか ‣ クックパッドの考えとマッチ

Slide 22

Slide 22 text

リーンスタートアップ 1. ユーザの欲求をもとに
 課題と解決策が持つ価値を設定 2. 解決策を形にして、
 実際に利用してもらい価値を検証 3. 利用データを見ながら方向性を見直 し

Slide 23

Slide 23 text

リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し 価値仮説

Slide 24

Slide 24 text

リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し MVPと検証 価値仮説

Slide 25

Slide 25 text

リーンスタートアップ 1. ユーザの 課題 2. 解決策 実際 3. 利用 し MVPと検証 価値仮説 BMLループ

Slide 26

Slide 26 text

技術に対するスタンス • ユーザーの課題解決 ‣ ↔ 面白そうだからやってみる
 (= 技術のための技術 ) • 解くべき課題は何?を明確に

Slide 27

Slide 27 text

例)RxJava導入編

Slide 28

Slide 28 text

例)RxJava導入編

Slide 29

Slide 29 text

例)RxJava導入編

Slide 30

Slide 30 text

例)RxJava導入編

Slide 31

Slide 31 text

解くべき課題 • 例) 主婦の持つ課題 ‣ 今日何作ろう?が決まらない ‣ 同じものを作りたくない ‣ 毎日買物には行けない

Slide 32

Slide 32 text

解くべき課題 • 例) 主婦の持つ課題 ‣ 今日何作ろう?が決まらない ‣ 同じものを作りたくない ‣ 毎日買物には行けない • 解) 人気レシピを探せる検索

Slide 33

Slide 33 text

サービス開発の考え方 まとめ

Slide 34

Slide 34 text

サービス開発の考え方 • 正解は誰にも分からない • 多くのトライを打つことが合理的 • 技術はユーザーの課題解決のため

Slide 35

Slide 35 text

Q & A

Slide 36

Slide 36 text

サービス開発のフロー

Slide 37

Slide 37 text

開発フロー • 課題発見 • 価値仮説 • MVP • 効果検証

Slide 38

Slide 38 text

開発フロー ‣ 課題発見 • 価値仮説 • MVP • 効果検証

Slide 39

Slide 39 text

課題発見 • ユーザーインタビュー ‣ アンケートから感情を理解するのは困難 ‣ コストは高いが確実 • ターゲット層と直接話す ‣ 課題発見以外の場面でも

Slide 40

Slide 40 text

インタビュー " #

Slide 41

Slide 41 text

インタビュー ユーザーの声を聞くのではない #

Slide 42

Slide 42 text

インタビュー 声の背後にある具体的な体験を聞く #$

Slide 43

Slide 43 text

インタビュー • 知りたいのは声の背後にある具体的体験 ‣ ユーザの「声」は自身が体験を分析した結果 ‣ 分析が正しい保証はない ‣ 普遍的な意見なのかどうかもわからない • 体験をきちんと理解/分析し直してこそプロ

Slide 44

Slide 44 text

実際やるといろいろ難しい

Slide 45

Slide 45 text

ユーザの話 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。そのあと合いそうな副 菜を探してだいたい3品くらい作ります。 # "

Slide 46

Slide 46 text

ユーザの話は不完全 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。(実は家族にこの間に LINEで相談してた) そのあと合いそうな副菜を 探してだいたい3品くらい作ります。(実は作り おきのおかずで1品はすませます) # "

Slide 47

Slide 47 text

ユーザは例外には触れない 夕飯の献立はどうやって決めますか? だいたい家にあるもので検索して、その日の気 分でメインを決めます。そのあと合いそうな副 菜を探してだいたい3品くらい作ります。
 本当は家族が食べたいものをリクエストしてく れる日は一番さくっと決まるんですけどね。 # "

Slide 48

Slide 48 text

体験を聞き出すコツ

Slide 49

Slide 49 text

具体的なシーンを 「夕飯の献立はどうやって決めますか?」 「昨日の夕飯の献立はどうやって決めましたか?」

Slide 50

Slide 50 text

具体的なシーンを 「いまスマートフォンをお持ちですか?
  実際に使っているところを見せてもらえますか?」

Slide 51

Slide 51 text

教えを請う • 教えてほしい姿勢の人には丁寧に説明 ‣ 話してる最中に次の質問を考えるのはNG

Slide 52

Slide 52 text

根堀り 葉堀り • 最初の質問から理解しようと努める ‣ 自ずと次の質問が湧いてくるはず ‣ 理解できるまで疑問があれば素直に質問

Slide 53

Slide 53 text

理解したことを確認 • 理解した内容を直接確認してみる ‣ 一部の回答だけ聞いて分かった気にならない

Slide 54

Slide 54 text

記録のコツ

Slide 55

Slide 55 text

役割分担 • メインインタビュアー • 記録係 " %

Slide 56

Slide 56 text

全部書く • 何が重要かはその場で分からない ‣ 誰かによるフィルタ前の生データ • 手書きで残す ‣ 話し相手の横でPCに向かれると距離 %

Slide 57

Slide 57 text

課題の発見 • 「絶対に必要」とする課題は何? • 現在の解決策は何?

Slide 58

Slide 58 text

課題発見 • 「絶対に必要」とする課題は何? • 現在の解決策は何? これは解決すべき課題?

Slide 59

Slide 59 text

ユーザー抽出 • クックパッドのデータから抽出 ‣ 地域 ‣ 年代 ‣ 利用データ • メールでインタビュー許諾

Slide 60

Slide 60 text

インタビュイー どういう層のユーザーを向いているか

Slide 61

Slide 61 text

インタビュイー 社内スタッフもベンチマーク

Slide 62

Slide 62 text

引用: http://www.oreilly.co.jp/books/9784873115917/
 http://www.oreilly.co.jp/books/9784873117218/

Slide 63

Slide 63 text

開発フロー • 課題発見 ‣ 価値仮説 • MVP • 効果検証

Slide 64

Slide 64 text

方向性のまとめ • 課題と解決策の仮説をまとめる • 自社フレームワーク ‣ 価値仮説シート ‣ EOGS ‣ ステートメントシート

Slide 65

Slide 65 text

まとめる意義 • 自分たちの思考整理 • 開発中にメンバー間で考えがぶれる ‣ 「何で作ってんだっけ?」の方向性を正す ‣ 限られた時間の中で目的を見失うのは無駄

Slide 66

Slide 66 text

価値仮説シート • シンプルなフォーマット ‣ ユーザー ‣ 欲求 ‣ 課題 ‣ 価値

Slide 67

Slide 67 text

価値仮説シート • (ユーザー) ________ は • (欲求) _______ (し)たいが • (課題) _______ (でき)ないので • (特徴) _______ (こと)に価値がある

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

例) 人気順検索 • (ユーザー) レシピをさがすユーザーは • (欲求) 今日のメニューを早く決めたいが • (課題) 多くのレシピから決められないので • (特徴) 人気レシピを探せる検索に価値がある

Slide 70

Slide 70 text

EOGS • 多くのキャストを考慮するとき ‣ のせる/さがす/クライアント/クックパッド • 欲求をベース ‣ 方向性をまとめるのに向いてる ‣ 例)レシピコンテスト

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

200万レシピ

Slide 73

Slide 73 text

ステートメントシート • やること/やらないことを明確化 ‣ シンプルな機能を実現できる ‣ 新規アプリ開発に向いている

Slide 74

Slide 74 text

お料理アルバム

Slide 75

Slide 75 text

お料理アルバム

Slide 76

Slide 76 text

使い分け • 価値仮説シートはまず書く ‣ シンプルなので一番書きやすい • アプリならステートメントシート • いろんなキャストが絡むとEOGS

Slide 77

Slide 77 text

価値仮説シート • (ユーザー) ________ は • (欲求) _______ (し)たいが • (課題) _______ (でき)ないので • (特徴) _______ (こと)に価値がある

Slide 78

Slide 78 text

開発フロー • 課題発見 • 価値仮説 ‣ MVP • 効果検証

Slide 79

Slide 79 text

MVP • Minimum Viable Product • 価値仮説が正しいかを検証 • 検証を行える可能な限り小さいもの ‣ 実装しないものは最も優れたMVP ‣ 例) 手書きのチラシ

Slide 80

Slide 80 text

No content

Slide 81

Slide 81 text

プロトタイプ • 最短で動くものを作る ‣ 実装せずにできるとベスト • Flinto/Prott ‣ 絵だけで動くものができる ‣ スマホで実現したときの疑似体験

Slide 82

Slide 82 text

Flinto

Slide 83

Slide 83 text

Flinto

Slide 84

Slide 84 text

Flinto

Slide 85

Slide 85 text

デザインルール

Slide 86

Slide 86 text

小さくためす • 限定ユーザーを対象 ‣ スタッフのみ ‣ 特定のユーザーのみ • いきなり全体リリースはしない ‣ イレーティブな開発 ‣ ツールで工夫

Slide 87

Slide 87 text

限定公開 • Web: Chanko • iOSアプリ: Test Flight • Androidアプリ: Deploy Gate

Slide 88

Slide 88 text

Chanko • Webで限定公開する仕組み • Railsの内製プラグイン ‣ Staffだけ ‣ 特定条件のユーザーだけ https://speakerdeck.com/mrkn/chanko

Slide 89

Slide 89 text

No content

Slide 90

Slide 90 text

小さくためす • 実装しない工夫 • 少人数で試す工夫 • ツールを最大限活用

Slide 91

Slide 91 text

開発フロー • 課題発見 • 価値仮説 • MVP ‣ 効果検証

Slide 92

Slide 92 text

検証 • 検証すべき数字をあらかじめ決定 ‣ 利用ユーザー数 ‣ リテンション数 … etc • 定量的な情報で仮説を判断

Slide 93

Slide 93 text

なぜ効果検証? • MVPを答え合わせ ‣ このまま進む? ‣ 方向転換すべき? 引用: Lean Analytics 
 http://www.oreilly.co.jp/books/9784873117119/

Slide 94

Slide 94 text

BMLループ idea data Build Measure Learn product

Slide 95

Slide 95 text

BMLループ idea data Build Measure Learn 価値仮説
 何を学びたいか考える 検証 答えあわせをする MVP 学びたいものをつくる product

Slide 96

Slide 96 text

指標 • 物事を客観的に評価、判断するもの • サイト状態を示す指標 ‣ PV, UU … • ユーザーの行動を示す指標 ‣ CTR, CVR, リテンション …

Slide 97

Slide 97 text

PV • ページが表示された回数 • 広告のimpression(imp)もほぼ同義 • 100人が1回表示 = 1人が100回表示 " # 5 PV

Slide 98

Slide 98 text

UU • 期間内にサイト利用したユーザー数 " # 2 UU

Slide 99

Slide 99 text

CTR (Click Through Rate) • クリック回数 / 表示回数 click CTR 50%

Slide 100

Slide 100 text

CVR (Conversion Rate) • 最終評価に辿り着く=コンバージョン ‣ 商品購入, 投稿完了など • コンバージョン数をPV, UUで割ったもの ¥ 離脱 CVR 50%

Slide 101

Slide 101 text

リテンション • 操作xを行ったユーザーがn日後に操作y • (ざっくり)ユーザーが定着をしているか 5/1 5/2 5/3 & & & & & & & " # ' ( 2日後のリテンション率 25%

Slide 102

Slide 102 text

意思決定 MVP 評価 リリース範囲を拡大 リリース内容見直し 戦略練り直し(Pivot)

Slide 103

Slide 103 text

引用: http://www.oreilly.co.jp/books/9784873117119/

Slide 104

Slide 104 text

サービス開発のフロー まとめ

Slide 105

Slide 105 text

開発フローのまとめ • インタビューによる課題発見 • フレームワークで価値仮説をまとめ • ツールを使ったMVP • 指標の評価による仮説の検証