Slide 1

Slide 1 text

内製化で強化される 事業のスケーラビリティとエンジニアの成長戦略 1 Masato Ishigaki October 13, 2023

Slide 2

Slide 2 text

2 About me
 石垣 雅人
 合同会社 DMM.com 
 プラットフォーム事業本部 部長 / VPoE室 / アルファ室 
 ・領域 : 事業戦略・予算管理・PdM・PM・EM 
 
 ・著 : 『DMMを支えるデータ駆動戦略』(マイナビ出版,2020) 
 ・連載 : 『スモールチームが武器になる時代へ』(ProductZine) 
 ・連載 : 『群知能から紐解く、スケールする“組織“の作り方 』(NewsPicks)
 
 @i35_267 @i35_267 @i35_267

Slide 3

Slide 3 text

内製化することでシステムを作って終わりではなく、
 サービスを伸ばすという当事者意識が生まれ、
 システムに関する捉え方も設計の重要性や運用まで考えるようになる
 組織のマインド・文化も醸成され、育成計画の重要性も変わってくる
 3 内製化の勘所


Slide 4

Slide 4 text

4 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 5

Slide 5 text

5 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

- クリエイター数は、約1,100名
 - 開発チーム数は、約100チーム
 - 現在進行中の開発プロジェクトは、約500個
 - 開発案件の内製割合は、99%
 - 正社員と業務委託の比率
 - 正社員 : 約60%、業務委託 : 約40%
 - 内製プロダクト + XaaSで、事業を作っている
 
 8 DMM.comの開発アウトライン


Slide 9

Slide 9 text

DMMの開発組織体制


Slide 10

Slide 10 text

マイクロサービス × アジャイルチーム
 ※サービス規模によって粒度と役割はまちまち


Slide 11

Slide 11 text

DMMの開発プロセス


Slide 12

Slide 12 text

12 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 13

Slide 13 text

13 https://www.wsj.com/articles/SB10001424053111903480904576512250915629460

Slide 14

Slide 14 text

14 - 社会工学的デザイン(社会的な振る舞い)におけるソフトウェアの重要性と複雑性
 - インターネットバンキングのソフトウェアに問題があれば、家賃が払えない。 
 - 医療機器に問題があれば命が危機に晒される。 
 - Googleサービスが全て落ちたら... 
 
 
 社会工学とソフトウェア
 参考 : チームトポロジー | マシュー・スケルトン,マニュエル・パイス (著)


Slide 15

Slide 15 text

- “DX” = “記録性”
 - 技術のコモディティ化
 - スモールチーム
 - 技術の進化がフルサイクルを可能にした
 
 
 
 15

Slide 16

Slide 16 text

“DX”の正体は、
 一般システム理論の実現による”記録性”
 
 
 
 16

Slide 17

Slide 17 text

“ DX ” = “ 記録性 “
 あらゆる対象物を「システム」として捉える 
 “システムとは、3種類のものからなっている。 
 「要素」と「相互のつながり」、そして「機能」または「目的」である。” 
 
 引用 : 世界はシステムで動く | ドネラ・H・メドウズ p32 
 
 17

Slide 18

Slide 18 text

Photo taken by Vienna Reyes of Unsplash 18

Slide 19

Slide 19 text

Photo taken by Vienna Reyes of Unsplash 19 選手
 監督
 フィールド
 観客
 【機能・目的】
 試合に勝つこと
 お金を稼ぐこと
 運動すること
 
 戦術の実行
 試合のルール
 選手間の会話量
 応援の量


Slide 20

Slide 20 text

- すべての活動がデジタル化すると「データ」として出力される
 - 事業 = サービスの振る舞いがデータとして記録されログデータとしてプロットできる
 - 組織 = 開発組織の生産性やコストマネジメント
 
 
 
 
 20 “ DX ” = “ 記録性 “
 入力
 input
 
 
 出力
 output
 
 
 フィードバック
 feedback
 
 
 事業モデル
 構造
 補足 : サイバネティクスの「開放システム」

Slide 21

Slide 21 text

DXが推進され、
 すべてがソフトウェアとして動き出すと
 技術とスキルは”コモディティ化”する
 
 
 21

Slide 22

Slide 22 text

https://hataraku.vivivit.com/career/commoditization

Slide 23

Slide 23 text

23 技術のコモディティ化
 - コモディティ化とXaaS
 - 魅力的な技術が登場すれば、沢山のプラクティスが出てくる。 
 - X as a Serviceや周辺エコシステムとして、サービス提供される。 
 - クラウドサービスや決済サービス。必要な分だけ利用する時代へ 
 - 昔は苦労して皆が実装していたものが、平等に利用可能な「武器」になる 
 - かつ、苦労としていくということはビジネスになる 
 - 技術はさらに進化して、コモディティー化する

Slide 24

Slide 24 text

24 技術競争
 価格競争
 価値
 コモディティ化
 技術発展
 ユーザーニーズ
 時間
 技術のコモディティ化


Slide 25

Slide 25 text

エンジニアもコモディティ化する
 https://news.yahoo.co.jp/articles/761bc18afd8ae176cee1bf0779b68b51556579cd

Slide 26

Slide 26 text

26 - Full Cycle Developers at Netflix Operate What You Build 
 
 - 豊富な開発者ツールによるスケール 
 - Ownership of the full development life cycle adds significantly to what software developers are expected to do. Tooling that simplifies and automates common development needs helps to balance this out. 
 
 - 構築したものを運用する 
 - “Operate what you build” puts the devops principles in action by having the team that develops a system also be responsible for operating and supporting that system. 
 
 - サイロを破壊し、学習とフィードバックを最適 
 - We could optimize for learning and feedback by breaking down silos and encouraging shared ownership of the full software life cycle
 
 
 https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249

Slide 27

Slide 27 text

27 - Full Cycle Developers at Netflix Operate What You Build 
 
 https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249

Slide 28

Slide 28 text

28 規模
 時間
 サービス規模と人員増加の関係性
 ・サービスの急成長
 ・システムの負荷急増 
 人を比例して増やす必要なし 
 人員増加推移


Slide 29

Slide 29 text

29 技術の進化がフルサイクルを可能にした
 DevOps 2009年〜 Cloud 2006年〜 MicroServices 2014年〜 Agile 2001年〜 Lean Startup 2008年〜 トヨタ生産方式 1973年〜 IDEA
 BUI LD
 PRODU CT
 MEASUR E
 DA TA
 LEA RN
 WF 1970年〜

Slide 30

Slide 30 text

30 DevOps 2009年〜 Cloud 2006年〜 MicroServices 2014年〜 Agile 2001年〜 Lean Startup 2008年〜 IDEA
 BUI LD
 PRODU CT
 MEASUR E
 DA TA
 LEA RN
 WF 1970年〜 トヨタ生産方式 1973年〜 技術の進化がフルサイクルを可能にした


Slide 31

Slide 31 text

内製化のハードルは
 クラウド × エコシステムで下がっている
 
 DX = あらゆる経済活動がソフトウェア上で動くと
 平等な武器としての技術を使いながら、
 スモールチームで打ち勝つことができるようになる
 不可逆性が高い人件費を大量にかける必要がない
 
 
 31

Slide 32

Slide 32 text

“DX × 内製化”を押し進めるための一歩目は、
 セクショナリズムをなくすこと
 
 32

Slide 33

Slide 33 text

エンジニア領域でのセクショナリズム
 - エンジニアリングの領域では要求定義で決まっているものを「どう作るか」「作れるか」だけに フォーカスした状態になりやすい。 
 - Howの部分にのみ、こだわりがでてしまい「手段の目的化」の出来上がり 
 
 - なぜ作っているか、作ったあとにどうなった?の意識的な欠如が起こる構造 
 - サービスやビジネスにコミットしなくても理解は必要であり。それができるような時流になっている 
 - コスト意識の低下(外注だと開発費用が見えやすい) 
 
 33

Slide 34

Slide 34 text

継続的な技術投資への”ちょっとした”考え方の違い
 34 https://martinfowler.com/articles/is-quality-worth-cost.html

Slide 35

Slide 35 text

4. チームの力
 (生産性)
 2. プロダクトの力
 (魅力)
 1. 事業の力
 (価値)
 3. システムの力
 (装置)
 総工数(Ex.120人月) 
 - 開発効率
 - リードタイム
 価値
 - 売上(P/L)
 - 競争優位性(シェア率) 
 モノとしての魅力 
 - UIの心地よさ(離脱率) 
 - UXの体験の良さ 
 - 機能の優位性
 - VOCデータ
 システム
 - SLO / SLI(稼働率) 
 - レイテンシー
 - Crash Free Rate 
 35 Log 
 同期と連動


Slide 36

Slide 36 text

36 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 37

Slide 37 text

- 内製か外注か。システム的な勘所
 - 数年後を見据えて、組織が深い知識獲得と継続的なスピードが必要か
 - 内製の変動費と外注の購入費。何を比較するか
 37 システム複雑性の回避


Slide 38

Slide 38 text

- 社内アーキテクチャへの影響
 - Platform Engineering、アセットとの相性。IDや決済基盤
 - 社内からの要望。DMMプラットフォームとしてのスピード感
 - 外注でなくても、M&Aも同様の課題が生まれる
 38 システム複雑性の回避


Slide 39

Slide 39 text

39 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 40

Slide 40 text

内製化によって ”予測 → 記録” が促進される
 学習を経て、開発組織は強くなる
 
 40

Slide 41

Slide 41 text

予測
 
 実行 
 
 観測 
 
 学習 
 
 予測を作り、実行し、観測し、学習する。再現性を作る。


Slide 42

Slide 42 text

開発チームから見た 
 開発生産性
 経営層から見た
 開発生産性
 ・コストマネジメント
 
 └ エンジニア組織への投資額 
 └ 給与水準の高騰と採用 
 └ 事業PLの人件費率,etc.. 
 ・どれだけ早くリリースするか 
 
 └ 自動化
 └ デプロイ回数
 └ トランクベース開発の導入 ,etc.. 
 
 開発生産性と経営


Slide 43

Slide 43 text

内製化の強み
 あらゆる開発者データをBigQueryに投入→分析
 43 BigQuery 従業員数
 勤怠情報
 工数・工期管理
 開発費用
 
 
GitHub
 Findy Team+(SaaS)


Slide 44

Slide 44 text

44

Slide 45

Slide 45 text

45 where 
 {{本部名}} = “xxxxxx” 
 {{部門名}} = “xxxxxx” 
 {{チーム名}} = “xxxxxx” 
 ・開発区分
 ・開発コード
 ┗ 毎月の工数・金額
 ┗ 毎月の人数
 ┗ 進行ステータス
 ・完了予定日・予実
 ・資産計上区分
 
 BigQuery

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

- コードを書く → レビュー → Approve → CI → マージ
 - ソースコードのホスティングサービスベースでの可視化 
 - 機能開発だけにフォーカスした数値 
 - チームや組織ごとにサイロ化せずに中央集権型にしてログに残す
 - チーム横断で学習と予測に使う


Slide 48

Slide 48 text

48 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する開発組織の形と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 Outline

Slide 49

Slide 49 text

内製化によるエンジニアの成長戦略
 - ソフトウェアライフサイクルを一気通貫で行える
 - 開発 → 運用、改善まで行えるため、ドメイン知識が豊富になる
 - 組織文化が醸成されれば、継続的に人材が育つ
 - 横のチーム移動や兼務など、キャリアプランが立てやすい
 
 49

Slide 50

Slide 50 text

50 - DMM.comの内製 開発現場
 - 事業スケーラビリティを強化する時流と歴史
 - システム複雑性の回避
 - 内製化の開発組織は”予測と記録”で強固になる
 - エンジニアの成長戦略
 まとめ