Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
日経電子版 開発内製化の取り組み / nikkei web development 2015
Search
Yosuke
August 31, 2015
Technology
54
36k
日経電子版 開発内製化の取り組み / nikkei web development 2015
BPStudy#96 でお話した内容です。
Yosuke
August 31, 2015
Tweet
Share
More Decks by Yosuke
See All by Yosuke
ONA20 presentation: How Nikkei improves user retention through consultation
yosukesuzuki
1
320
How Nikkei improves user retention with new subscriber consultation
yosukesuzuki
0
370
創業140年の古い会社でデータの民主化を進めた話 / nikkei data driven 20180823
yosukesuzuki
17
24k
Google App Engine の日経での利用事例 / appengine at nikkei
yosukesuzuki
5
2.2k
Development and Infrastructure for Microservice Architecture
yosukesuzuki
0
960
PythonでもPythonじゃなくても使える汎用的なMicroservice実行環境 / nikkei microservice
yosukesuzuki
13
17k
5 years with Google App Engine
yosukesuzuki
2
1.8k
Other Decks in Technology
See All in Technology
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
AGIについてChatGPTに聞いてみた
blueb
0
130
OTelCol_TailSampling_and_SpanMetrics
gumamon
1
160
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Engineer Career Talk
lycorp_recruit_jp
0
170
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Music & Morning Musume
bryan
46
6.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
How STYLIGHT went responsive
nonsquared
95
5.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Code Reviewing Like a Champion
maltzj
520
39k
For a Future-Friendly Web
brad_frost
175
9.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Transcript
日経電子版 開発内製化の取り組み 2015/08/31 デジタル編成局 鈴木陽介
自己紹介 • 鈴木陽介 • 日本経済新聞社デジタル編成局 • 2001年入社 • NIKKEINETのコンテンツ運用、産業部記者、 ネット向けコラムの編集者などを経て、2009年
ごろから電子版の企画・開発 • Pythonを主に、JavaScript(Coffee)、Goなど を仕事・プライベートで。Pebbleでも遊んでいる www.nikkei.com | 日経電子版
アプリ内製化の話がバズりました • 特に新聞業界!の反響は大きかった www.nikkei.com | 日経電子版 s.nikkei.com/150609
日本経済新聞 www.nikkei.com | 日経電子版 • 1876年12月に中外物価 新報として創刊 • 2016年で140周年 •
1000人以上の記者・編集 者 ↑一般の人の日経のイメージ
日経電子版について • 40万人を超える有料会員 • 有料ニュースサービスで世界4位 • iPhone/Androidのモバイルサービスを強化 • サービス系の開発部隊は40人ぐらい www.nikkei.com
| 日経電子版
日経のシステム開発の歴史 • 1972年 世界初の新聞制作システムを開発 • 1984年 データベースサービス「日経テレコン」 開始 • 1996年
NIKKEINET開始 • 2010年 日経電子版創刊 www.nikkei.com | 日経電子版
NIKKEINET時代はけっこう内製してた • 英文記者出身の人がVBで作ったCMSがけっこ う使われていた • Perlでアクセスログ集計・解析ツールを開発 • ColdFusionでサービス用のサーバーアプリ ケーション ◦
PHPみたいなやつ。割とパフォーマンスが良かった → 属人的な開発体制ということもあり、徐々に外注 に変わっていった www.nikkei.com | 日経電子版
日経電子版の開発(創刊ごろまで) • 超大手SIerがたくさん入って開発 • 性能(レスポンス)はいい • 変更コスト増大 ◦ テストは基本手動、テストの工数で予算オーバーになっ て企画が実現できないことも
www.nikkei.com | 日経電子版
内製化への流れ • 2010年当時 • ちょっとしたことにも割と手間と時間とお金がかか る構造 • 企画を上げても実現されるのは少しのように思え る このままでいいのか?と素人的に思った
(色々理由があったけど、この時は知らず) www.nikkei.com | 日経電子版
ほぼ勝手に2人で開発を始めてみた • 最初はPHP+Ruby+MySQLで社内サーバー に作った ◦ 2010年の夏頃 ◦ 性能はイマイチ • PC版の一部のページを実装
◦ 1か月半ぐらい ◦ UIは変えてみた 結局このバージョンはお蔵入り。。 www.nikkei.com | 日経電子版
スマホブラウザー版(β)を開発 • お蔵入りしたバージョンは存 在意義がイマイチだった • 2011年当時スマホのブラウ ザー版がなかったのでそれを 作ってみることに • GAEを使ってインフラ含めて
2人だけで作った • HTML5の機能をてんこ盛り にしたエッジなサービスがで きた www.nikkei.com | 日経電子版
内製したサービスが正式版に • 2012年にWindows8アプリを内製 • 2013年にインフラ、フロントともに作り直したスマ ホブラウザー版(電子版モバイル)を公開 ◦ フロントのJavaScriptは当時の新人が内製した ◦ 今は別の新人が開発
• 請負型ではなく、常駐のSEさんが社内で開発す るスタイルも増えてきた • メインストリームじゃないけど、内製の雰囲気は 出てきた www.nikkei.com | 日経電子版
もっとモダンな開発がしたい! www.nikkei.com | 日経電子版 • 内製化をより進めたい • 2013年12月頃にnaoyaさんにと ある勉強会で技術顧問をお願いし たらOK!
• これでバリバリモダンな開発してい くぜ、と大船に乗ったような気持ち ではあった。。。
しかし、技術の問題じゃなかった www.nikkei.com | 日経電子版 • まず着手したのはチーム体制の変更 ◦ 目がつぶれそうなエクセルのアサイン表があった ◦ チームをまたいだ兼務を極力解消する
• 内製の範囲を絞る ◦ まずはフロントを中心に • カイゼンチームを作って恒常的に活動 • 情報共有する 僕に顧問をお願いしてくる会社、だい たいは技術の問題じゃないんですよ ね (rebuild.fm ep 105より)
技術の問題じゃなかった (2) www.nikkei.com | 日経電子版 • 打ち合わせのアジェンダを ちゃんと時間かけて作る • 打ち合わせの人数は絞る
• メンバーに自分事感が足りな い 等々、基本的なことでけっこう怒 られました。。。 内部にいると惰性になりやすい ことなのでありがたい
カイゼンチームの取り組んでいる課題 • 情報共有 • エンジニア採用 • GitHub & Pull Request導入
• デプロイ自動化 • 自動テスト www.nikkei.com | 日経電子版 内部で課題に取り組みつつ、都度テーマを決めて naoyaさんとディスカッション
コミュニケーションツールの導入 • Slack ◦ 社内外のメンバー含めて270人超のチーム • Qiita:Team ◦ 社内メンバー100人超が参加 ◦
会議で「Qiitaに書いてありましたが」と言われることも増 えてきた ◦ 累計1000投稿を突破! 最初はなかなか使ってもらえない → 粘り強く浸透させた 「日経電子版アプリ内製開発の舞台裏」( s.nikkei.com/150609 )に詳細 www.nikkei.com | 日経電子版
合宿を開始 • 3〜4か月に一度、合宿を開催 • ロードマップなどを共有 www.nikkei.com | 日経電子版
技術のほうも進んでいる • GitHub ◦ 内製を進めているチーム、フロントまわりのチームの移行 はほぼ完了 ◦ モバイルアプリ、インフラのAnsible Playbook、Django でのAPI開発はPull
Requestで開発 ◦ デザイナーもプルリクしている • CIと自動テスト ◦ GitHubへのpushでCircleCIと連動 ◦ モバイルアプリのユニット&e2eテスト ◦ インフラのserverspec実行 www.nikkei.com | 日経電子版
採用ブランディング • 勉強会で話す ◦ ↑イマココ ◦ iOSアプリの内製化の話 • 勉強会の会場ホスト ◦
Gocon ◦ Rebuild Meetup ◦ Ansible Meetup • ハッカソン ◦ クックパッドさんと共同開催 www.nikkei.com | 日経電子版
www.nikkei.com | 日経電子版 振り返って大事だったこと
• ビジョンをかかげ、そこに向かってチームを変革 する ◦ 特に古い組織は動きが遅いし、邪魔も入りやすい ◦ でも、みんな効率悪いことをやりたいと思っているわけで はない ◦ 熱意を持って、理想に向かってがんばる
• 考え方はいろいろ違う、繰り返し情報発信する ◦ Qiitaとかでいろいろ書くとちゃんと読んでくれる人もい る、建設的なコメントも多い ◦ 技術的にモダンとかも大事だけど、それをみんなのため にやることが大事 www.nikkei.com | 日経電子版 熱意とビジョン
• いつまでも考えているばかりでは進まない ◦ 他社事例とかは集めていてもそれだけでは進まない ◦ どうしたらできる?じゃなくてやる • まずは手を動かして実績を作ることも重要 ◦ ものを作って内製できることを証明した
◦ 2人いれば割とできる ◦ コードは汚くてもまずはできることを見せる ▪ 社内体制として内製できるようになってコードレビュー を導入 • あんまり細かい事情を知らないからこそ、できる こともある www.nikkei.com | 日経電子版 とにかくやる
• 目的と手段は逆転しがち • PDCAサイクルを高速に回すことができるのが内 製の強み ◦ 外部に発注しているとこれが難しい ◦ 仕様検討→見積もり→発注手続き等々 ◦
ユーザーからの意見がダイレクトに来るフロントの内製化 を優先 • 社内にノウハウが残る • 取引コストを下げる ◦ 無駄な打ち合わせを減らす ◦ 昼間の打ち合わせが終わってようやく夕方から作業・・・ みたいのをなくす www.nikkei.com | 日経電子版 なぜ内製するかきちんと説明する(できる)
• ノウハウがないのに自力で全部は無理 ◦ でも、まるっと外注だと社員にノウハウが残らない • naoyaさん「外部の人の意見は聞いてくれる」( rebuild.fm ep 105より) ◦
実際、的を得ている意見ばかりだし、自分たちが無意識 的にやってしまっていたことを修正できる • UIや技術についても ◦ アプリのUIについてはfladdictさん ◦ Pythonの開発については hirokikyさん ◦ その他、過去にもいくつかメンター役を呼んでいる www.nikkei.com | 日経電子版 メンターを呼ぶ
• フロントからやる ◦ 特にモバイル系 • 新しいところからやる ◦ 新API群 • 作りなおすところからやる
◦ インフラのAWS移行時にAnsibleを導入 • 採用を強化 ◦ 内製化にはやはり優秀なエンジニアが必要 ◦ エンジニア向けのブランドイメージを改善する • 上層部とイメージを共有 www.nikkei.com | 日経電子版 とは言っても、まだ道半ば
日経電子版(日経本社)は エンジニアを採用中 気楽に社内見学でもOK!
[email protected]
まで 学生の方は hack.nikkei.com からインターンに 応募してください www.nikkei.com
| 日経電子版 www.nikkei.com | 日経電子版
www.nikkei.com | 日経電子版 日経電子版チームのいいところは? 雰囲気がゆるいところ 技術に詳しい人を呼んで指 導を受けることができる 2年目 大企業でありながらWEB ベンチャーのような開発が
できます 新人 元アルバイト