Upgrade to Pro — share decks privately, control downloads, hide ads and more …

内製化で強化させる、事業のスケーラビリティーとエンジニアの成長戦略 / insourcing

内製化で強化させる、事業のスケーラビリティーとエンジニアの成長戦略 / insourcing

2023/10/13 改めて考えるDXシステム開発 2023
https://f2ff.jp/event/sysdx

More Decks by Masato Ishigaki / 石垣雅人

Other Decks in Technology

Transcript

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

    View Slide

  2. 2
    About me

    石垣 雅人

    合同会社 DMM.com 

    プラットフォーム事業本部 部長 / VPoE室 / アルファ室 

    ・領域 : 事業戦略・予算管理・PdM・PM・EM


    ・著 : 『DMMを支えるデータ駆動戦略』(マイナビ出版,2020)

    ・連載 : 『スモールチームが武器になる時代へ』(ProductZine)

    ・連載 : 『群知能から紐解く、スケールする“組織“の作り方
    』(NewsPicks)


    @i35_267
    @i35_267
    @i35_267

    View Slide

  3. 内製化することでシステムを作って終わりではなく、

    サービスを伸ばすという当事者意識が生まれ、

    システムに関する捉え方も設計の重要性や運用まで考えるようになる

    組織のマインド・文化も醸成され、育成計画の重要性も変わってくる

    3
    内製化の勘所


    View Slide

  4. 4
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

  5. 5
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

  6. View Slide

  7. View Slide

  8. - クリエイター数は、約1,100名

    - 開発チーム数は、約100チーム

    - 現在進行中の開発プロジェクトは、約500個

    - 開発案件の内製割合は、99%

    - 正社員と業務委託の比率

    - 正社員 : 約60%、業務委託 : 約40%

    - 内製プロダクト + XaaSで、事業を作っている


    8
    DMM.comの開発アウトライン


    View Slide

  9. DMMの開発組織体制


    View Slide

  10. マイクロサービス × アジャイルチーム

    ※サービス規模によって粒度と役割はまちまち


    View Slide

  11. DMMの開発プロセス


    View Slide

  12. 12
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

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

    View Slide

  14. 14
    - 社会工学的デザイン(社会的な振る舞い)におけるソフトウェアの重要性と複雑性

    - インターネットバンキングのソフトウェアに問題があれば、家賃が払えない。 

    - 医療機器に問題があれば命が危機に晒される。 

    - Googleサービスが全て落ちたら... 



    社会工学とソフトウェア

    参考 : チームトポロジー | マシュー・スケルトン,マニュエル・パイス (著)


    View Slide

  15. - “DX” = “記録性”

    - 技術のコモディティ化

    - スモールチーム

    - 技術の進化がフルサイクルを可能にした




    15

    View Slide

  16. “DX”の正体は、

    一般システム理論の実現による”記録性”




    16

    View Slide

  17. “ DX ” = “ 記録性 “

    あらゆる対象物を「システム」として捉える

    “システムとは、3種類のものからなっている。

    「要素」と「相互のつながり」、そして「機能」または「目的」である。”


    引用 : 世界はシステムで動く | ドネラ・H・メドウズ p32


    17

    View Slide

  18. Photo taken by Vienna Reyes of Unsplash 18

    View Slide

  19. Photo taken by Vienna Reyes of Unsplash 19
    選手

    監督

    フィールド

    観客

    【機能・目的】

    試合に勝つこと

    お金を稼ぐこと

    運動すること


    戦術の実行

    試合のルール

    選手間の会話量

    応援の量


    View Slide

  20. - すべての活動がデジタル化すると「データ」として出力される

    - 事業 = サービスの振る舞いがデータとして記録されログデータとしてプロットできる

    - 組織 = 開発組織の生産性やコストマネジメント





    20
    “ DX ” = “ 記録性 “

    入力

    input



    出力

    output



    フィードバック

    feedback



    事業モデル

    構造

    補足 : サイバネティクスの「開放システム」

    View Slide

  21. DXが推進され、

    すべてがソフトウェアとして動き出すと

    技術とスキルは”コモディティ化”する



    21

    View Slide

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

    View Slide

  23. 23
    技術のコモディティ化

    - コモディティ化とXaaS

    - 魅力的な技術が登場すれば、沢山のプラクティスが出てくる。 

    - X as a Serviceや周辺エコシステムとして、サービス提供される。 

    - クラウドサービスや決済サービス。必要な分だけ利用する時代へ 

    - 昔は苦労して皆が実装していたものが、平等に利用可能な「武器」になる 

    - かつ、苦労としていくということはビジネスになる 

    - 技術はさらに進化して、コモディティー化する

    View Slide

  24. 24
    技術競争
 価格競争

    価値

    コモディティ化

    技術発展

    ユーザーニーズ

    時間

    技術のコモディティ化


    View Slide

  25. エンジニアもコモディティ化する

    https://news.yahoo.co.jp/articles/761bc18afd8ae176cee1bf0779b68b51556579cd

    View Slide

  26. 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

    View Slide

  27. 27
    - Full Cycle Developers at Netflix Operate What You Build 


    https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249

    View Slide

  28. 28
    規模

    時間

    サービス規模と人員増加の関係性

    ・サービスの急成長

    ・システムの負荷急増 

    人を比例して増やす必要なし 

    人員増加推移


    View Slide

  29. 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年〜

    View Slide

  30. 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年〜
    技術の進化がフルサイクルを可能にした


    View Slide

  31. 内製化のハードルは

    クラウド × エコシステムで下がっている


    DX = あらゆる経済活動がソフトウェア上で動くと

    平等な武器としての技術を使いながら、

    スモールチームで打ち勝つことができるようになる

    不可逆性が高い人件費を大量にかける必要がない



    31

    View Slide

  32. “DX × 内製化”を押し進めるための一歩目は、

    セクショナリズムをなくすこと


    32

    View Slide

  33. エンジニア領域でのセクショナリズム

    - エンジニアリングの領域では要求定義で決まっているものを「どう作るか」「作れるか」だけに
    フォーカスした状態になりやすい。 

    - Howの部分にのみ、こだわりがでてしまい「手段の目的化」の出来上がり 


    - なぜ作っているか、作ったあとにどうなった?の意識的な欠如が起こる構造 

    - サービスやビジネスにコミットしなくても理解は必要であり。それができるような時流になっている 

    - コスト意識の低下(外注だと開発費用が見えやすい) 


    33

    View Slide

  34. 継続的な技術投資への”ちょっとした”考え方の違い

    34
    https://martinfowler.com/articles/is-quality-worth-cost.html

    View Slide

  35. 4. チームの力

    (生産性)

    2. プロダクトの力

    (魅力)

    1. 事業の力

    (価値)

    3. システムの力

    (装置)

    総工数(Ex.120人月) 

    - 開発効率

    - リードタイム

    価値

    - 売上(P/L)

    - 競争優位性(シェア率) 

    モノとしての魅力 

    - UIの心地よさ(離脱率) 

    - UXの体験の良さ 

    - 機能の優位性

    - VOCデータ

    システム

    - SLO / SLI(稼働率) 

    - レイテンシー

    - Crash Free Rate 

    35
    Log 

    同期と連動


    View Slide

  36. 36
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

  37. - 内製か外注か。システム的な勘所

    - 数年後を見据えて、組織が深い知識獲得と継続的なスピードが必要か

    - 内製の変動費と外注の購入費。何を比較するか

    37
    システム複雑性の回避


    View Slide

  38. - 社内アーキテクチャへの影響

    - Platform Engineering、アセットとの相性。IDや決済基盤

    - 社内からの要望。DMMプラットフォームとしてのスピード感

    - 外注でなくても、M&Aも同様の課題が生まれる

    38
    システム複雑性の回避


    View Slide

  39. 39
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

  40. 内製化によって ”予測 → 記録” が促進される

    学習を経て、開発組織は強くなる


    40

    View Slide

  41. 予測


    実行 


    観測 


    学習 


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


    View Slide

  42. 開発チームから見た 

    開発生産性

    経営層から見た

    開発生産性

    ・コストマネジメント


    └ エンジニア組織への投資額 

    └ 給与水準の高騰と採用 

    └ 事業PLの人件費率,etc.. 

    ・どれだけ早くリリースするか 


    └ 自動化

    └ デプロイ回数

    └ トランクベース開発の導入 ,etc.. 


    開発生産性と経営


    View Slide

  43. 内製化の強み

    あらゆる開発者データをBigQueryに投入→分析

    43
    BigQuery
    従業員数

    勤怠情報

    工数・工期管理

    開発費用


    
GitHub
 Findy Team+(SaaS)


    View Slide

  44. 44

    View Slide

  45. 45
    where 

    {{本部名}} = “xxxxxx” 

    {{部門名}} = “xxxxxx” 

    {{チーム名}} = “xxxxxx” 

    ・開発区分

    ・開発コード

    ┗ 毎月の工数・金額

    ┗ 毎月の人数

    ┗ 進行ステータス

    ・完了予定日・予実

    ・資産計上区分


    BigQuery

    View Slide

  46. View Slide

  47. - コードを書く → レビュー → Approve → CI → マージ

    - ソースコードのホスティングサービスベースでの可視化 

    - 機能開発だけにフォーカスした数値 

    - チームや組織ごとにサイロ化せずに中央集権型にしてログに残す

    - チーム横断で学習と予測に使う


    View Slide

  48. 48
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する開発組織の形と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    Outline

    View Slide

  49. 内製化によるエンジニアの成長戦略

    - ソフトウェアライフサイクルを一気通貫で行える

    - 開発 → 運用、改善まで行えるため、ドメイン知識が豊富になる

    - 組織文化が醸成されれば、継続的に人材が育つ

    - 横のチーム移動や兼務など、キャリアプランが立てやすい


    49

    View Slide

  50. 50
    - DMM.comの内製 開発現場

    - 事業スケーラビリティを強化する時流と歴史

    - システム複雑性の回避

    - 内製化の開発組織は”予測と記録”で強固になる

    - エンジニアの成長戦略

    まとめ


    View Slide