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
380
創業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
980
PythonでもPythonじゃなくても使える汎用的なMicroservice実行環境 / nikkei microservice
yosukesuzuki
13
18k
5 years with Google App Engine
yosukesuzuki
2
1.8k
Other Decks in Technology
See All in Technology
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
生成AIのガバナンスの全体像と現実解
fnifni
1
180
UI State設計とテスト方針
rmakiyama
2
510
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
AIのコンプラは何故しんどい?
shujisado
1
190
MLOps の現場から
asei
6
640
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
ハイテク休憩
sat
PRO
2
140
C++26 エラー性動作
faithandbrave
2
730
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
27
3.5k
Writing Fast Ruby
sferik
628
61k
For a Future-Friendly Web
brad_frost
175
9.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Done Done
chrislema
181
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
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 ベンチャーのような開発が
できます 新人 元アルバイト