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 full-size slide

  2. 2
    About me

    石垣 雅人

    合同会社 DMM.com 

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

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


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

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

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


    @i35_267
    @i35_267
    @i35_267

    View full-size slide

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

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

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

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

    3
    内製化の勘所


    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

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

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

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

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

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

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


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


    View full-size slide

  7. DMMの開発組織体制


    View full-size slide

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

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


    View full-size slide

  9. DMMの開発プロセス


    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

    View full-size slide

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

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

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

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



    社会工学とソフトウェア

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


    View full-size slide

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

    - 技術のコモディティ化

    - スモールチーム

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




    15

    View full-size slide

  14. “DX”の正体は、

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




    16

    View full-size slide

  15. “ DX ” = “ 記録性 “

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

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

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


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


    17

    View full-size slide

  16. Photo taken by Vienna Reyes of Unsplash 18

    View full-size slide

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

    監督

    フィールド

    観客

    【機能・目的】

    試合に勝つこと

    お金を稼ぐこと

    運動すること


    戦術の実行

    試合のルール

    選手間の会話量

    応援の量


    View full-size slide

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

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

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





    20
    “ DX ” = “ 記録性 “

    入力

    input



    出力

    output



    フィードバック

    feedback



    事業モデル

    構造

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

    View full-size slide

  19. DXが推進され、

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

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



    21

    View full-size slide

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

    View full-size slide

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

    - コモディティ化とXaaS

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

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

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

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

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

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

    View full-size slide

  22. 24
    技術競争
 価格競争

    価値

    コモディティ化

    技術発展

    ユーザーニーズ

    時間

    技術のコモディティ化


    View full-size slide

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

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

    View full-size slide

  24. 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 full-size slide

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


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

    View full-size slide

  26. 28
    規模

    時間

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

    ・サービスの急成長

    ・システムの負荷急増 

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

    人員増加推移


    View full-size slide

  27. 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 full-size slide

  28. 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 full-size slide

  29. 内製化のハードルは

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


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

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

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

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



    31

    View full-size slide

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

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


    32

    View full-size slide

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

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

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


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

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

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


    33

    View full-size slide

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

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

    View full-size slide

  33. 4. チームの力

    (生産性)

    2. プロダクトの力

    (魅力)

    1. 事業の力

    (価値)

    3. システムの力

    (装置)

    総工数(Ex.120人月) 

    - 開発効率

    - リードタイム

    価値

    - 売上(P/L)

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

    モノとしての魅力 

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

    - UXの体験の良さ 

    - 機能の優位性

    - VOCデータ

    システム

    - SLO / SLI(稼働率) 

    - レイテンシー

    - Crash Free Rate 

    35
    Log 

    同期と連動


    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

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

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

    37
    システム複雑性の回避


    View full-size slide

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

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

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

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

    38
    システム複雑性の回避


    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

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


    40

    View full-size slide

  39. 予測


    実行 


    観測 


    学習 


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


    View full-size slide

  40. 開発チームから見た 

    開発生産性

    経営層から見た

    開発生産性

    ・コストマネジメント


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

    └ 給与水準の高騰と採用 

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

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


    └ 自動化

    └ デプロイ回数

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


    開発生産性と経営


    View full-size slide

  41. 内製化の強み

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

    43
    BigQuery
    従業員数

    勤怠情報

    工数・工期管理

    開発費用


    
GitHub
 Findy Team+(SaaS)


    View full-size slide

  42. 45
    where 

    {{本部名}} = “xxxxxx” 

    {{部門名}} = “xxxxxx” 

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

    ・開発区分

    ・開発コード

    ┗ 毎月の工数・金額

    ┗ 毎月の人数

    ┗ 進行ステータス

    ・完了予定日・予実

    ・資産計上区分


    BigQuery

    View full-size slide

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

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

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

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

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


    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    Outline

    View full-size slide

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

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

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

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

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


    49

    View full-size slide

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

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

    - システム複雑性の回避

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

    - エンジニアの成長戦略

    まとめ


    View full-size slide