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

日経電子版 開発内製化の取り組み / nikkei web development 2015

Yosuke
August 31, 2015

日経電子版 開発内製化の取り組み / nikkei web development 2015

BPStudy#96 でお話した内容です。

Yosuke

August 31, 2015
Tweet

More Decks by Yosuke

Other Decks in Technology

Transcript

  1. 日経電子版
    開発内製化の取り組み
    2015/08/31
    デジタル編成局 鈴木陽介

    View Slide

  2. 自己紹介
    ● 鈴木陽介
    ● 日本経済新聞社デジタル編成局
    ● 2001年入社
    ● NIKKEINETのコンテンツ運用、産業部記者、
    ネット向けコラムの編集者などを経て、2009年
    ごろから電子版の企画・開発
    ● Pythonを主に、JavaScript(Coffee)、Goなど
    を仕事・プライベートで。Pebbleでも遊んでいる
    www.nikkei.com | 日経電子版

    View Slide

  3. アプリ内製化の話がバズりました
    ● 特に新聞業界!の反響は大きかった
    www.nikkei.com | 日経電子版
    s.nikkei.com/150609

    View Slide

  4. 日本経済新聞
    www.nikkei.com | 日経電子版
    ● 1876年12月に中外物価
    新報として創刊
    ● 2016年で140周年
    ● 1000人以上の記者・編集

    ↑一般の人の日経のイメージ

    View Slide

  5. 日経電子版について
    ● 40万人を超える有料会員
    ● 有料ニュースサービスで世界4位
    ● iPhone/Androidのモバイルサービスを強化
    ● サービス系の開発部隊は40人ぐらい
    www.nikkei.com | 日経電子版

    View Slide

  6. 日経のシステム開発の歴史
    ● 1972年 世界初の新聞制作システムを開発
    ● 1984年 データベースサービス「日経テレコン」
    開始
    ● 1996年 NIKKEINET開始
    ● 2010年 日経電子版創刊
    www.nikkei.com | 日経電子版

    View Slide

  7. NIKKEINET時代はけっこう内製してた
    ● 英文記者出身の人がVBで作ったCMSがけっこ
    う使われていた
    ● Perlでアクセスログ集計・解析ツールを開発
    ● ColdFusionでサービス用のサーバーアプリ
    ケーション
    ○ PHPみたいなやつ。割とパフォーマンスが良かった
    → 属人的な開発体制ということもあり、徐々に外注
    に変わっていった
    www.nikkei.com | 日経電子版

    View Slide

  8. 日経電子版の開発(創刊ごろまで)
    ● 超大手SIerがたくさん入って開発
    ● 性能(レスポンス)はいい
    ● 変更コスト増大
    ○ テストは基本手動、テストの工数で予算オーバーになっ
    て企画が実現できないことも
    www.nikkei.com | 日経電子版

    View Slide

  9. 内製化への流れ
    ● 2010年当時
    ● ちょっとしたことにも割と手間と時間とお金がかか
    る構造
    ● 企画を上げても実現されるのは少しのように思え

    このままでいいのか?と素人的に思った
    (色々理由があったけど、この時は知らず)
    www.nikkei.com | 日経電子版

    View Slide

  10. ほぼ勝手に2人で開発を始めてみた
    ● 最初はPHP+Ruby+MySQLで社内サーバー
    に作った
    ○ 2010年の夏頃
    ○ 性能はイマイチ
    ● PC版の一部のページを実装
    ○ 1か月半ぐらい
    ○ UIは変えてみた
    結局このバージョンはお蔵入り。。
    www.nikkei.com | 日経電子版

    View Slide

  11. スマホブラウザー版(β)を開発
    ● お蔵入りしたバージョンは存
    在意義がイマイチだった
    ● 2011年当時スマホのブラウ
    ザー版がなかったのでそれを
    作ってみることに
    ● GAEを使ってインフラ含めて
    2人だけで作った
    ● HTML5の機能をてんこ盛り
    にしたエッジなサービスがで
    きた
    www.nikkei.com | 日経電子版

    View Slide

  12. 内製したサービスが正式版に
    ● 2012年にWindows8アプリを内製
    ● 2013年にインフラ、フロントともに作り直したスマ
    ホブラウザー版(電子版モバイル)を公開
    ○ フロントのJavaScriptは当時の新人が内製した
    ○ 今は別の新人が開発
    ● 請負型ではなく、常駐のSEさんが社内で開発す
    るスタイルも増えてきた
    ● メインストリームじゃないけど、内製の雰囲気は
    出てきた
    www.nikkei.com | 日経電子版

    View Slide

  13. もっとモダンな開発がしたい!
    www.nikkei.com | 日経電子版
    ● 内製化をより進めたい
    ● 2013年12月頃にnaoyaさんにと
    ある勉強会で技術顧問をお願いし
    たらOK!
    ● これでバリバリモダンな開発してい
    くぜ、と大船に乗ったような気持ち
    ではあった。。。

    View Slide

  14. しかし、技術の問題じゃなかった
    www.nikkei.com | 日経電子版
    ● まず着手したのはチーム体制の変更
    ○ 目がつぶれそうなエクセルのアサイン表があった
    ○ チームをまたいだ兼務を極力解消する
    ● 内製の範囲を絞る
    ○ まずはフロントを中心に
    ● カイゼンチームを作って恒常的に活動
    ● 情報共有する
    僕に顧問をお願いしてくる会社、だい
    たいは技術の問題じゃないんですよ
    ね (rebuild.fm ep 105より)

    View Slide

  15. 技術の問題じゃなかった (2)
    www.nikkei.com | 日経電子版
    ● 打ち合わせのアジェンダを
    ちゃんと時間かけて作る
    ● 打ち合わせの人数は絞る
    ● メンバーに自分事感が足りな

    等々、基本的なことでけっこう怒
    られました。。。
    内部にいると惰性になりやすい
    ことなのでありがたい

    View Slide

  16. カイゼンチームの取り組んでいる課題
    ● 情報共有
    ● エンジニア採用
    ● GitHub & Pull
    Request導入
    ● デプロイ自動化
    ● 自動テスト
    www.nikkei.com | 日経電子版
    内部で課題に取り組みつつ、都度テーマを決めて
    naoyaさんとディスカッション

    View Slide

  17. コミュニケーションツールの導入
    ● Slack
    ○ 社内外のメンバー含めて270人超のチーム
    ● Qiita:Team
    ○ 社内メンバー100人超が参加
    ○ 会議で「Qiitaに書いてありましたが」と言われることも増
    えてきた
    ○ 累計1000投稿を突破!
    最初はなかなか使ってもらえない
    → 粘り強く浸透させた
    「日経電子版アプリ内製開発の舞台裏」( s.nikkei.com/150609 )に詳細
    www.nikkei.com | 日経電子版

    View Slide

  18. 合宿を開始
    ● 3〜4か月に一度、合宿を開催
    ● ロードマップなどを共有
    www.nikkei.com | 日経電子版

    View Slide

  19. 技術のほうも進んでいる
    ● GitHub
    ○ 内製を進めているチーム、フロントまわりのチームの移行
    はほぼ完了
    ○ モバイルアプリ、インフラのAnsible Playbook、Django
    でのAPI開発はPull Requestで開発
    ○ デザイナーもプルリクしている
    ● CIと自動テスト
    ○ GitHubへのpushでCircleCIと連動
    ○ モバイルアプリのユニット&e2eテスト
    ○ インフラのserverspec実行
    www.nikkei.com | 日経電子版

    View Slide

  20. 採用ブランディング
    ● 勉強会で話す
    ○ ↑イマココ
    ○ iOSアプリの内製化の話
    ● 勉強会の会場ホスト
    ○ Gocon
    ○ Rebuild Meetup
    ○ Ansible Meetup
    ● ハッカソン
    ○ クックパッドさんと共同開催
    www.nikkei.com | 日経電子版

    View Slide

  21. www.nikkei.com | 日経電子版
    振り返って大事だったこと

    View Slide

  22. ● ビジョンをかかげ、そこに向かってチームを変革
    する
    ○ 特に古い組織は動きが遅いし、邪魔も入りやすい
    ○ でも、みんな効率悪いことをやりたいと思っているわけで
    はない
    ○ 熱意を持って、理想に向かってがんばる
    ● 考え方はいろいろ違う、繰り返し情報発信する
    ○ Qiitaとかでいろいろ書くとちゃんと読んでくれる人もい
    る、建設的なコメントも多い
    ○ 技術的にモダンとかも大事だけど、それをみんなのため
    にやることが大事
    www.nikkei.com | 日経電子版
    熱意とビジョン

    View Slide

  23. ● いつまでも考えているばかりでは進まない
    ○ 他社事例とかは集めていてもそれだけでは進まない
    ○ どうしたらできる?じゃなくてやる
    ● まずは手を動かして実績を作ることも重要
    ○ ものを作って内製できることを証明した
    ○ 2人いれば割とできる
    ○ コードは汚くてもまずはできることを見せる
    ■ 社内体制として内製できるようになってコードレビュー
    を導入
    ● あんまり細かい事情を知らないからこそ、できる
    こともある
    www.nikkei.com | 日経電子版
    とにかくやる

    View Slide

  24. ● 目的と手段は逆転しがち
    ● PDCAサイクルを高速に回すことができるのが内
    製の強み
    ○ 外部に発注しているとこれが難しい
    ○ 仕様検討→見積もり→発注手続き等々
    ○ ユーザーからの意見がダイレクトに来るフロントの内製化
    を優先
    ● 社内にノウハウが残る
    ● 取引コストを下げる
    ○ 無駄な打ち合わせを減らす
    ○ 昼間の打ち合わせが終わってようやく夕方から作業・・・
    みたいのをなくす
    www.nikkei.com | 日経電子版
    なぜ内製するかきちんと説明する(できる)

    View Slide

  25. ● ノウハウがないのに自力で全部は無理
    ○ でも、まるっと外注だと社員にノウハウが残らない
    ● naoyaさん「外部の人の意見は聞いてくれる」(
    rebuild.fm ep 105より)
    ○ 実際、的を得ている意見ばかりだし、自分たちが無意識
    的にやってしまっていたことを修正できる
    ● UIや技術についても
    ○ アプリのUIについてはfladdictさん
    ○ Pythonの開発については hirokikyさん
    ○ その他、過去にもいくつかメンター役を呼んでいる
    www.nikkei.com | 日経電子版
    メンターを呼ぶ

    View Slide

  26. ● フロントからやる
    ○ 特にモバイル系
    ● 新しいところからやる
    ○ 新API群
    ● 作りなおすところからやる
    ○ インフラのAWS移行時にAnsibleを導入
    ● 採用を強化
    ○ 内製化にはやはり優秀なエンジニアが必要
    ○ エンジニア向けのブランドイメージを改善する
    ● 上層部とイメージを共有
    www.nikkei.com | 日経電子版
    とは言っても、まだ道半ば

    View Slide

  27. 日経電子版(日経本社)は
    エンジニアを採用中
    気楽に社内見学でもOK!
    [email protected] まで
    学生の方は hack.nikkei.com からインターンに
    応募してください
    www.nikkei.com | 日経電子版
    www.nikkei.com | 日経電子版

    View Slide

  28. www.nikkei.com | 日経電子版
    日経電子版チームのいいところは?
    雰囲気がゆるいところ
    技術に詳しい人を呼んで指
    導を受けることができる
    2年目
    大企業でありながらWEB
    ベンチャーのような開発が
    できます
    新人
    元アルバイト

    View Slide