Pro Yearly is on sale from $80 to $50! »

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

3ceba985a8d8efb44ef9c7d74089efdb?s=47 Yosuke
August 31, 2015

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

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

3ceba985a8d8efb44ef9c7d74089efdb?s=128

Yosuke

August 31, 2015
Tweet

Transcript

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

  2. 自己紹介 • 鈴木陽介 • 日本経済新聞社デジタル編成局 • 2001年入社 • NIKKEINETのコンテンツ運用、産業部記者、 ネット向けコラムの編集者などを経て、2009年

    ごろから電子版の企画・開発 • Pythonを主に、JavaScript(Coffee)、Goなど を仕事・プライベートで。Pebbleでも遊んでいる www.nikkei.com | 日経電子版
  3. アプリ内製化の話がバズりました • 特に新聞業界!の反響は大きかった www.nikkei.com | 日経電子版 s.nikkei.com/150609

  4. 日本経済新聞 www.nikkei.com | 日経電子版 • 1876年12月に中外物価 新報として創刊 • 2016年で140周年 •

    1000人以上の記者・編集 者 ↑一般の人の日経のイメージ
  5. 日経電子版について • 40万人を超える有料会員 • 有料ニュースサービスで世界4位 • iPhone/Androidのモバイルサービスを強化 • サービス系の開発部隊は40人ぐらい www.nikkei.com

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

    NIKKEINET開始 • 2010年 日経電子版創刊 www.nikkei.com | 日経電子版
  7. NIKKEINET時代はけっこう内製してた • 英文記者出身の人がVBで作ったCMSがけっこ う使われていた • Perlでアクセスログ集計・解析ツールを開発 • ColdFusionでサービス用のサーバーアプリ ケーション ◦

    PHPみたいなやつ。割とパフォーマンスが良かった → 属人的な開発体制ということもあり、徐々に外注 に変わっていった www.nikkei.com | 日経電子版
  8. 日経電子版の開発(創刊ごろまで) • 超大手SIerがたくさん入って開発 • 性能(レスポンス)はいい • 変更コスト増大 ◦ テストは基本手動、テストの工数で予算オーバーになっ て企画が実現できないことも

    www.nikkei.com | 日経電子版
  9. 内製化への流れ • 2010年当時 • ちょっとしたことにも割と手間と時間とお金がかか る構造 • 企画を上げても実現されるのは少しのように思え る このままでいいのか?と素人的に思った

    (色々理由があったけど、この時は知らず) www.nikkei.com | 日経電子版
  10. ほぼ勝手に2人で開発を始めてみた • 最初はPHP+Ruby+MySQLで社内サーバー に作った ◦ 2010年の夏頃 ◦ 性能はイマイチ • PC版の一部のページを実装

    ◦ 1か月半ぐらい ◦ UIは変えてみた 結局このバージョンはお蔵入り。。 www.nikkei.com | 日経電子版
  11. スマホブラウザー版(β)を開発 • お蔵入りしたバージョンは存 在意義がイマイチだった • 2011年当時スマホのブラウ ザー版がなかったのでそれを 作ってみることに • GAEを使ってインフラ含めて

    2人だけで作った • HTML5の機能をてんこ盛り にしたエッジなサービスがで きた www.nikkei.com | 日経電子版
  12. 内製したサービスが正式版に • 2012年にWindows8アプリを内製 • 2013年にインフラ、フロントともに作り直したスマ ホブラウザー版(電子版モバイル)を公開 ◦ フロントのJavaScriptは当時の新人が内製した ◦ 今は別の新人が開発

    • 請負型ではなく、常駐のSEさんが社内で開発す るスタイルも増えてきた • メインストリームじゃないけど、内製の雰囲気は 出てきた www.nikkei.com | 日経電子版
  13. もっとモダンな開発がしたい! www.nikkei.com | 日経電子版 • 内製化をより進めたい • 2013年12月頃にnaoyaさんにと ある勉強会で技術顧問をお願いし たらOK!

    • これでバリバリモダンな開発してい くぜ、と大船に乗ったような気持ち ではあった。。。
  14. しかし、技術の問題じゃなかった www.nikkei.com | 日経電子版 • まず着手したのはチーム体制の変更 ◦ 目がつぶれそうなエクセルのアサイン表があった ◦ チームをまたいだ兼務を極力解消する

    • 内製の範囲を絞る ◦ まずはフロントを中心に • カイゼンチームを作って恒常的に活動 • 情報共有する 僕に顧問をお願いしてくる会社、だい たいは技術の問題じゃないんですよ ね (rebuild.fm ep 105より)
  15. 技術の問題じゃなかった (2) www.nikkei.com | 日経電子版 • 打ち合わせのアジェンダを ちゃんと時間かけて作る • 打ち合わせの人数は絞る

    • メンバーに自分事感が足りな い 等々、基本的なことでけっこう怒 られました。。。 内部にいると惰性になりやすい ことなのでありがたい
  16. カイゼンチームの取り組んでいる課題 • 情報共有 • エンジニア採用 • GitHub & Pull Request導入

    • デプロイ自動化 • 自動テスト www.nikkei.com | 日経電子版 内部で課題に取り組みつつ、都度テーマを決めて naoyaさんとディスカッション
  17. コミュニケーションツールの導入 • Slack ◦ 社内外のメンバー含めて270人超のチーム • Qiita:Team ◦ 社内メンバー100人超が参加 ◦

    会議で「Qiitaに書いてありましたが」と言われることも増 えてきた ◦ 累計1000投稿を突破! 最初はなかなか使ってもらえない → 粘り強く浸透させた 「日経電子版アプリ内製開発の舞台裏」( s.nikkei.com/150609 )に詳細 www.nikkei.com | 日経電子版
  18. 合宿を開始 • 3〜4か月に一度、合宿を開催 • ロードマップなどを共有 www.nikkei.com | 日経電子版

  19. 技術のほうも進んでいる • GitHub ◦ 内製を進めているチーム、フロントまわりのチームの移行 はほぼ完了 ◦ モバイルアプリ、インフラのAnsible Playbook、Django でのAPI開発はPull

    Requestで開発 ◦ デザイナーもプルリクしている • CIと自動テスト ◦ GitHubへのpushでCircleCIと連動 ◦ モバイルアプリのユニット&e2eテスト ◦ インフラのserverspec実行 www.nikkei.com | 日経電子版
  20. 採用ブランディング • 勉強会で話す ◦ ↑イマココ ◦ iOSアプリの内製化の話 • 勉強会の会場ホスト ◦

    Gocon ◦ Rebuild Meetup ◦ Ansible Meetup • ハッカソン ◦ クックパッドさんと共同開催 www.nikkei.com | 日経電子版
  21. www.nikkei.com | 日経電子版 振り返って大事だったこと

  22. • ビジョンをかかげ、そこに向かってチームを変革 する ◦ 特に古い組織は動きが遅いし、邪魔も入りやすい ◦ でも、みんな効率悪いことをやりたいと思っているわけで はない ◦ 熱意を持って、理想に向かってがんばる

    • 考え方はいろいろ違う、繰り返し情報発信する ◦ Qiitaとかでいろいろ書くとちゃんと読んでくれる人もい る、建設的なコメントも多い ◦ 技術的にモダンとかも大事だけど、それをみんなのため にやることが大事 www.nikkei.com | 日経電子版 熱意とビジョン
  23. • いつまでも考えているばかりでは進まない ◦ 他社事例とかは集めていてもそれだけでは進まない ◦ どうしたらできる?じゃなくてやる • まずは手を動かして実績を作ることも重要 ◦ ものを作って内製できることを証明した

    ◦ 2人いれば割とできる ◦ コードは汚くてもまずはできることを見せる ▪ 社内体制として内製できるようになってコードレビュー を導入 • あんまり細かい事情を知らないからこそ、できる こともある www.nikkei.com | 日経電子版 とにかくやる
  24. • 目的と手段は逆転しがち • PDCAサイクルを高速に回すことができるのが内 製の強み ◦ 外部に発注しているとこれが難しい ◦ 仕様検討→見積もり→発注手続き等々 ◦

    ユーザーからの意見がダイレクトに来るフロントの内製化 を優先 • 社内にノウハウが残る • 取引コストを下げる ◦ 無駄な打ち合わせを減らす ◦ 昼間の打ち合わせが終わってようやく夕方から作業・・・ みたいのをなくす www.nikkei.com | 日経電子版 なぜ内製するかきちんと説明する(できる)
  25. • ノウハウがないのに自力で全部は無理 ◦ でも、まるっと外注だと社員にノウハウが残らない • naoyaさん「外部の人の意見は聞いてくれる」( rebuild.fm ep 105より) ◦

    実際、的を得ている意見ばかりだし、自分たちが無意識 的にやってしまっていたことを修正できる • UIや技術についても ◦ アプリのUIについてはfladdictさん ◦ Pythonの開発については hirokikyさん ◦ その他、過去にもいくつかメンター役を呼んでいる www.nikkei.com | 日経電子版 メンターを呼ぶ
  26. • フロントからやる ◦ 特にモバイル系 • 新しいところからやる ◦ 新API群 • 作りなおすところからやる

    ◦ インフラのAWS移行時にAnsibleを導入 • 採用を強化 ◦ 内製化にはやはり優秀なエンジニアが必要 ◦ エンジニア向けのブランドイメージを改善する • 上層部とイメージを共有 www.nikkei.com | 日経電子版 とは言っても、まだ道半ば
  27. 日経電子版(日経本社)は エンジニアを採用中 気楽に社内見学でもOK! dg_lab@nex.nikkei.co.jp まで 学生の方は hack.nikkei.com からインターンに 応募してください www.nikkei.com

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

    できます 新人 元アルバイト