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
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
190
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
TypeScript、上達の瞬間
sadnessojisan
46
13k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
230
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
220
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Scaling GitHub
holman
458
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
A better future with KSS
kneath
238
17k
A Philosophy of Restraint
colly
203
16k
How GitHub (no longer) Works
holman
310
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Faster Mobile Websites
deanohume
305
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
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 ベンチャーのような開発が
できます 新人 元アルバイト