Slide 1

Slide 1 text

開発組織の戦略的な役割と 設計スキル向上の効果 2025年10月24日 有限会社システム設計 増田 亨 #em_meetup EM Meetup 特別会

Slide 2

Slide 2 text

自己紹介 専門領域 • 業務系アプリケーションの開発 最近の仕事 • 大きな泥団子退治のアドバイザ • エンジニアの成長支援(設計スキル向上) 2 増田 亨(masuda220) 著書(2017) 訳書(2024) *1 *2 *1 増田 亨(2017) 『現場で役立つシステム設計の原則』技術評論社 *2 Vlad Khononov(著) 増田 亨、綿引 琢磨(訳) 2024 『ドメイン駆動設計をはじめよう』オライリージャパン

Slide 3

Slide 3 text

お話する内容 ① 事業活動におけるITの位置づけの変化 ② 開発組織の戦略的な役割 ③ 事業戦略とソフトウェア開発を結びつける ④ 開発組織の設計スキル向上による事業貢献 3

Slide 4

Slide 4 text

①事業活動におけるITの位置づけの変化 4

Slide 5

Slide 5 text

事業活動とITの連動性 事業活動とITは、広く、深く、連動するよう になってきた 5

Slide 6

Slide 6 text

事業活動とITの広い連動 事業活動のあらゆる場面で、デジタルデータが発生し、 記録され、通知される 事業活動のあらゆる場面で、デジタルデータの処理結果 を利用する 6 パーソナルコンピューター、インターネット、モバイルデバイス、 クラウドコンピューティング、クラウドストレージ、…

Slide 7

Slide 7 text

事業活動とITの深い連動 従来の事業活動とITの関係は浅い連動にとどまっていた • 事業活動のごく一部を後追いでデータ化 • ソフトウェアの役割はデータのリードライト(CRUD) 現在進行しているのは深い連動 • 事業活動のあらゆる側面をリアルタイムにデータ化 • それらのデータを組み合わせた状況判断・将来予測・行 動最適化をソフトウェアが実行し事業活動を駆動する 7

Slide 8

Slide 8 text

②開発組織の戦略的な役割 8

Slide 9

Slide 9 text

開発組織の役割 事業活動とITが広く深く連動する状況で、 製品やサービスを効率的かつ効果的に開発し、 事業目標の達成に貢献すること 9

Slide 10

Slide 10 text

事業目標の達成 高業績を持続する 黒字を続けることが、事業存続の絶対条件 事業活動とITが広く深く連動する状況で、 開発組織は製品やサービスを効率的かつ効果的に開発す ることで、高業績の持続に貢献する 10

Slide 11

Slide 11 text

どうやって高業績を持続するか 事業活動を全体的かつ長期的に最適化する そのためには、戦略的な判断と行動が必要 さまざまな経営論や事業戦略論がある中で、 実践的(具体的)なアプローチとして マイケルポーターの差別化戦略 がある(膨大な事例研究から抽出された実践論) 11

Slide 12

Slide 12 text

高業績は差別化による競争優位から生まれる 1. 競合他社が提供しない(提供できな い)際立った独自の価値を顧客に提 案する 2. その独自の価値を提供するために、 自社の活動体系を特別に調整する 3. 他社とは異なるトレードオフ(やら ないこと)を選択して組み合わせる 12

Slide 13

Slide 13 text

戦略の実行:活動全体を特別に調整する 差別化による競争優位(高業績の持続)のために、事業 活動全体を特別に調整する 事業活動とITが広く深く連動する状況は、差別化による 競争優位を生み出す手段として、ソフトウェアシステム の開発運用が直接的に影響する つまり、開発組織は差別化戦略を実行する中核部隊 13

Slide 14

Slide 14 text

③事業戦略とソフトウェア開発を 結びつける 14

Slide 15

Slide 15 text

事業戦略とソフトウェア開発 差別化戦略の実行とソフトウェアの 実装を結びつける、経験と事例に基 づく実践的で具体的なガイドブック 15

Slide 16

Slide 16 text

事業戦略と結びついたソフトウェア開発 差別化による競争優位に直結する機能に焦点を合わせ、 そこの設計品質(内部構造)と変更容易性に徹底的にこ だわる 競争優位に直結しない、他の企業と同じでよい機能は、 できるだけ簡略に済ませる 16

Slide 17

Slide 17 text

対象の業務領域を二軸で分類 17 競合他社との差別化 中核の 業務領域 業務ロジック の複雑さ

Slide 18

Slide 18 text

中核の業務領域の特性 • 中核の業務領域が、高業績を持続させる • 他社とは異なる際立つ価値を提供するために、業務ロ ジックが複雑になる • 他社と比較した競争優位性を維持・発展させるために、 状況の変化に応じて業務ロジックの変更を繰り返す 18

Slide 19

Slide 19 text

④開発組織の設計スキル向上による 事業貢献 19

Slide 20

Slide 20 text

設計の本質 良い設計は悪い設計よりも変更しやすい 20 『達人プログラマー ―熟達に向けたあなたの旅』第2版 Andrew Hunt(著)David Thomas(著)村上雅章(訳) 2020年 発行:オーム社 セクション8 Tips14

Slide 21

Slide 21 text

より実践的なソフトウェア設計の本質 整理整頓されたコードは 乱雑なコードよりも 変更が楽で安全である 21

Slide 22

Slide 22 text

差別化戦略と設計改善効果 • 乱雑なコードは機能の修正や拡張に時間がかかる • 競争優位を生み出す中核な業務領域の開発に時間がか かることは、業績の悪化に直結する • 中核の業務領域の乱雑なコードの整理整頓は、戦略的 に重要な機能の修正と拡張のスピードが上がり、コス トが下がり、持続的な高業績に直結する 22

Slide 23

Slide 23 text

設計改善(コードの整理整頓)三つのレベル ➢ 小さな設計改善 ➢ 大きな設計改善 ➢ 戦略的な設計改善 • 三つのレベルを並行して進める(段階論ではない) • 下に行くほど、効果がはっきりするのに時間がかかる • 下に行くほど、良い設計か悪い設計か判断が難しい 23

Slide 24

Slide 24 text

小さな設計改善 24 第1部 整頓 第Ⅱ部 管理術 第3章 コードの不吉な臭い 4章~10章 第1章 ちいさくまとめてわかりやすく 第2章 場合分けのロジックを整理する 全員が、いつでも、 自発的に、レビューなしで 目指す状態

Slide 25

Slide 25 text

大きな設計改善 25 第3章 業務ロジックをわかりやすく整理 第4章 ドメインモデルの考え方で設計する 第12章 大きなリファクタリング 全員が技法を知っていて リード役が支援、レビュー 目指す状態

Slide 26

Slide 26 text

戦略的な設計改善 26 【エッセンシャル版】 中核メンバーが リードする 目指す状態 ソフトウェアの実装と 事業戦略を結びつける 高業績を持続するために 際立つ独自価値を提供する

Slide 27

Slide 27 text

戦略的な設計改善 27 【エッセンシャル版】 中核メンバーが リードする 目指す状態 「事業理解から始めるソフトウェア設計道場」絶賛開催中!

Slide 28

Slide 28 text

まとめ 事業活動とITは広く深く連動している 開発組織は、差別化による競争優位を生み出す中核部隊 事業戦略とソフトウェアの実装を直接的に結びつける 開発組織の設計スキル向上が、持続的な高業績に直結する 28