Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Service Development at Cookpad 2015 summer internship

Ryo Katsuma
September 07, 2015

Service Development at Cookpad 2015 summer internship

Ryo Katsuma

September 07, 2015
Tweet

More Decks by Ryo Katsuma

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 今日の目的
    “クックパッドのサービス開発の

    考え方を理解する”

    View Slide

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

    View Slide

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

    View Slide

  7. !! 注意 !!

    View Slide

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

    View Slide

  9. サービス開発の考え方

    View Slide

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

    View Slide

  11. 根底にある理解

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  22. リーンスタートアップ
    1. ユーザの欲求をもとに

    課題と解決策が持つ価値を設定
    2. 解決策を形にして、

    実際に利用してもらい価値を検証
    3. 利用データを見ながら方向性を見直

    View Slide

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

    価値仮説

    View Slide

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

    MVPと検証
    価値仮説

    View Slide

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

    MVPと検証
    価値仮説
    BMLループ

    View Slide

  26. 技術に対するスタンス
    • ユーザーの課題解決
    ‣ ↔ 面白そうだからやってみる

    (= 技術のための技術 )
    • 解くべき課題は何?を明確に

    View Slide

  27. 例)RxJava導入編

    View Slide

  28. 例)RxJava導入編

    View Slide

  29. 例)RxJava導入編

    View Slide

  30. 例)RxJava導入編

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  35. Q & A

    View Slide

  36. サービス開発のフロー

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. インタビュー
    " #

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    本当は家族が食べたいものをリクエストしてく
    れる日は一番さくっと決まるんですけどね。
    #
    "

    View Slide

  48. 体験を聞き出すコツ

    View Slide

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

    View Slide

  50. 具体的なシーンを
    「いまスマートフォンをお持ちですか?

     実際に使っているところを見せてもらえますか?」

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  54. 記録のコツ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    http://www.oreilly.co.jp/books/9784873117218/

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  68. View Slide

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

    View Slide

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

    View Slide

  71. View Slide

  72. 200万レシピ

    View Slide

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

    View Slide

  74. お料理アルバム

    View Slide

  75. お料理アルバム

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  80. View Slide

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

    View Slide

  82. Flinto

    View Slide

  83. Flinto

    View Slide

  84. Flinto

    View Slide

  85. デザインルール

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  89. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  93. なぜ効果検証?
    • MVPを答え合わせ
    ‣ このまま進む?
    ‣ 方向転換すべき?
    引用: Lean Analytics 

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

    View Slide

  94. BMLループ
    idea
    data
    Build
    Measure
    Learn
    product

    View Slide

  95. BMLループ
    idea
    data
    Build
    Measure
    Learn
    価値仮説

    何を学びたいか考える
    検証
    答えあわせをする
    MVP
    学びたいものをつくる
    product

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide