Blog

「数字は神より正しい」〜 Gunosyさんのオフィスツアーに行ってきてGunosyさんの開発スタイルやチーム編成とかを聞いてきました。 〜

《オフィスツアーの経緯》

Gunosy」さんのオフィスツアーに縁があって参加させていただきました。元々、このオフィスツアーは昔からの知り合いのTomoさんが定期的に開催しているもので、以前はSkypeやコミュニティエンジンさんなどを訪問させていただきました。

オフィスツアー自体は、5〜6年前から実施されており、その時々の旬な企業を訪問させていただいているのですが、今回はテレビCMも始められて、我々のようなギーク層だけでなく、一般層にも注目度が高まっているGunosyさんを訪問させていただきました。

《数値は神より正しい》

写真 2014-05-09 20 08 40

今回のオフィスツアーで、まずは創業者メンバーの一人である 関さんから「スタートアップにおける研究開発のゲンバ」と題した、Gunosyさんの研究開発のやり方とGunosyさんの考え方を発表していただきました。

写真 2014-05-09 20 12 51

最初に出たお話としては「数字(数値)は神より正しい」という考えのもと「数値第一主義」でサービスを開発している事。数値を上げるために様々な実験を行っており、その方法としては、オフラインでの実験は最小限にし、できるだけ早くユーザの一部に提供し観察するとのことでした。さらに常に複数の「A/Bテスト」を実施し、いくつもの実験を行うことで、サービスを改善していきDAU( = Daily Active Users 1日にサービスを利用したアクティブユーザ)と継続率を向上しているとのことです。

実験中心という事で、数多くの実験をされているとのことですが「実験」に必要なのは、「仮説・実験方法・検証方法」の3つ。実際に実験をやってみて、数値が同じ物であれば新しい物を採用するとのことです。

サービスの改善にPDCAを早く回すことは必須ですが、PDCAを早く回すために、色々な数値分析を定常的に行っているとのことです。開発側だけで取れる情報だけではなく、ビジネス側の数値をどん々見ていくことで、新しい仮説を出していくとのことでした。仮説が当たるか・外れるかは「運」に左右される事もあるが「なぜ仮説が外れたのか」といった蓄積を重要視し、仮説を蓄積しているとのことでした。

仮説の検証を行うために、とにかく細かくログを取るとのこと、GunosyさんではGoogle Analyticsなどのツールも使っていますが、それらのツールだけだと目安値しかわからず、分析がしにくいとのこと、各施策を出す前にログ設計と定義付けを行うことで、価値ある分析ができるとのことでした。

《Gunosyを支える開発チーム》

写真 2014-05-09 20 51 09

第2部は「Gunosyを支える技術」ということで、技術部 執行役員の 松本 勇気 さんに、Gunosyさんのサービス運用の裏側について、組織・数字・開発の面のご紹介がありました。

写真 2014-05-09 20 51 19

Gunosyさんでは、開発チーム構成は「クライアントサイド」「DAUチーム」「Adチーム」「インフラ」チーム と分かれているとのことです。「クライアントサイド」は、新機能の開発とA/Bテスト実装をしており、週次で新バージョンをリリースしているとのことでした。

「DAUチーム」は数値周り仙人のチームで、Gunosyさんの「改善の要」とのこと。やっていることは「ログ分析から次のA/bテストの立案」「改善の効果を社内共有」「推薦エンジンの開発」をされているとのことです。「Adチーム」は、Pythonを使った高速なAdサーバの開発と使いやすい管理画面の開発をしているとのこと。「インフラチーム」は、API・Ad・推薦など全てのインフラを構築・管理しているとのことでした。

《クソアプリ文化》

前述した通りGunosyさんは、数値に基づく運用をしており、全ての改善は数値目標に従い、新たな機能提供は成長に影響する数値を明確にするとのことでした。ちなみに、必要な情報をオープンにするために、色々な情報にアクセス可能なツールを作っているとのことでした。こちらのアプリ大半はBootstrapを使った適当なデザインなので「クソアプリ」と呼ばれているとのことでした。

実際に「クソアプリ」として作っているものとしては、毎晩必要なKPIをMongoDBやMySQLなどから集計して、100弱のKPIを常に確認できたり、CSVで落とせるようにしているとのことでした。どのようなKPIを管理しているかと言えばDAUやWAU(Weekly Active Users )「○日に登録したユーザが今日○%使っているか」「ユーザの利用時間帯分布」といった数字をKPIとしてみているとのことでした。

このようなKPIは、非エンジニアチームにも共有し、ユーザ獲得につながる施策がどんな影響をもたらしているか、エンジニアでなくてもわかるようにしているとのことでした。

《Gunosyの負荷対策》

写真 2014-05-09 21 15 43

Gunosy特有の課題として、朝にアクセスが集中するなど非常にピーキーなアクセス集中が毎日続くなどの特徴があります。これを耐えるためにGunosyさんのポリシーとして「サーバ1台あたりの性能を突き詰める」「新技術を積極的に採用する」といった事があります。インフラ構成では、サービスの一部に「Go」と「Docker」を利用しているとのことでした。「Go」と「Docker」を利用することにより、ピーク帯でもレスポンス30ms程度になり、スケールアウトも容易にできるようになったとのことでした。

※補足 このあたりは松本さんがGoCon 2014で解説されています。

デプロイには「Docker-registry」と「fabric」を利用しているとのことでした。これらを利用したことで、動作状態を含めた成果物のコミット、安定してポータブルなデプロイができるとのことでした。メトリクスと監視には「Sensu」と「Graphite」を利用、頻繁に役割を変わりうるインスタンスも動的に監視しているとのことでした。

《まとめと感想》

まずは、企画をまとめてくださったTomoさんと、今回オフィスツアーを実施してくださったGunosyさん、ありがとうございました。数値にこだわった、Gunosyさんの考えは非常に刺激的でした。

補足 松本さんのお話は、こちらも参考になります。

数値にこだわり、PDCAを高速でまわしていくという説明は、最近のリーンスタートアップ的に開発を目指す会社には非常に理想的な企業なのだと思いました。

-Blog