Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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 • 指標の評価による仮説の検証