アーキテクト的戦略思考

40.7K Views

October 26, 24

スライド概要

profile-image

著書『アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築』(翔泳社)

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

アーキテクト的 戦略思考 #秋アキLT Oct. 26, 2024 Takeshi Yonekubo

2.

About Me • 米久保 剛 (よねくぼ たけし) • SIer勤務のアーキテクト • X: @tyonekubo • 『アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築』

3.

戦略

4.

戦 略 戦術より広範な作戦計画。 各種の戦闘を統合し、戦争を全局的に運用する方法。 転じて、政治・社会運動などで、主要な敵とそれに 対応すべき味方との配置を定めることをいう。 戦 術 出典: 広辞苑第六版 戦闘実行上の方策。 一個の戦闘における戦闘力。使用法。 一般に戦略に従属。 転じて、ある目的を達成するための方法。

5.

戦略 全体 方針策定 長期的 戦術 局面 実行の詳細 短期的

6.

軍事における戦略 孫子 (紀元前500年頃) 中国春秋時代の軍事家。 兵法書『孫子』を著す。 ✓戦わずして勝つ ✓敵を知り己を知る 出典: Wikipedia クラウゼヴィッツ (1780-1831) プロイセンの軍人、軍事学者。 『戦争論』を著す。 ✓戦争は政治の延長 (政治目的 – 軍事目標) ✓優勢な戦力を決定的な地点に集中

7.

軍事における戦略 戦争目的 例)国家の安全保障、領土拡大 勝利の定義 例)敵の降伏、領土の獲得 資源配分 例)兵力や装備、補給線の最適配置 組織運営 例)部隊の編成、訓練、指揮系統

8.

ビジネスにおける戦略 マイケル・ポーター (1947-) アメリカの経営学者。 著書に『競争の戦略』『競争優位の戦略』など。 ✓ファイブフォースによる状況分析 ✓ポジショニング戦略(儲かる市場で、儲かる位置を取る) ✓何を行い、何を行わないか 出典: Wikipedia ケイパビリティ派 ハメル&プラハラード『コア・コンピテンス』 バーニー『企業戦略論』

9.

ビジネスにおける戦略 ビジネス目的 例)長期にわたって持続可能な利益 成功の定義 例)市場シェア拡大、CAGR(年平均成長率) 資源配分 例)人材、設備、資金、知財の最適配置 組織運営 例)組織構造の最適化、業務オペレーション

10.

戦略 (一般化) 目的 達成すべき明確なゴール 成功の定義 達成を測るための目標、指標 資源配分 有限のリソースをどこにどう配分するか 組織運営 組織構造とコミュニケーション 成功のために長期的・大局的な観点で方針を定める

11.

経営戦略とIT戦略 経営理念 経営ビジョン 経営者 目的 経営目標 経営戦略 成功の基準 経営企画 戦略コンサル IT戦略 ITコンサル ITアーキテクト

12.

IT戦略 企業の事業活動を支えるITシステム群を どのように構成し、どのように資源を投入するか ✓スクラッチ開発 ✓ERP ✓SaaS ✓ローコード/ノーコードツール ✓RPA ✓生成AI

13.

アーキテクチャ戦略 目的 IT戦略を実現するソフトウェアを構築する 成功の定義 品質特性などのアーキテクチャドライバの達成 資源配分 IT人材の割り当て、ランニングコスト 組織運営 チーム構造やコミュニケーション設計

14.

ドメイン分割(DDD) ドメイン 収益をもたらす事業領域 例)レコード会社における「CD・レコード事 業」「音楽配信事業」「イベント事業」 サブドメイン ドメインを構成する専門知識の 領域 例)「企画」「制作」「販売」「著作権管理」 境界づけられたコンテキスト 解決空間における境界分割 出典: 『実践ドメイン駆動設計』図2-2

15.

DDDの戦略的設計 ✓問題空間におけるサブドメイ ンと、解決空間における境界 づけられたコンテキストとを、 なるべく一致させる ✓サブドメインの種類(コア/ 支援/汎用)に応じて実現手 段を使い分ける 例) コアドメイン:優秀な人材を集中投入して内製 支援サブドメイン:ローコードツールの活用 汎用サブドメイン:SaaSの利用 出典: 『実践ドメイン駆動設計』図2-2

16.

コンウェイの法則/逆コンウェイ戦略 コンウェイの法則 逆コンウェイ戦略 システムを設計する組織は、その 構造をそっくりまねた構造の設計 を生み出してしまう 組織はチーム構造と組織構造を進 化させて、望ましいアーキテク チャーを実現すべきである 出典: 『実践ドメイン駆動設計』図2-2

17.

チームトポロジー ✓アーキテクチャ設計(境界づ けられたコンテキストへの分 割)と、チーム設計は同時並行 で進める必要がある ✓仮説検証型アプローチによっ て得られた学びを、アーキテ クチャとチームの設計へ反映し 進化させる ✓高凝集性、疎結合 出典: 『チームトポロジー』図2.5

18.

モジュラーモノリス 最初から正しい境界分割は困難であるという前提に立つ と、モジュラーモノリスから始めるのには合理性があ る。 モジュラーモノリスにより、高凝集性・ 疎結合を担保する形でモジュール分割を 行う=戦略(方針) DBを物理分割 or スキーマ分割 or 命名 分割=戦術 出典: 『アーキテクトの教科書』図3.3.4

19.

分散アーキテクチャ/マイクロサービス 分散させるべき明確な理由が存在する場合に、実現手段 として検討を行う(≠目的化しない) ✓処理特性(コンピューティングリソース) ✓ロジック特性(技術スタック) ✓パフォーマンス要求 ✓デプロイ頻度 トレードオフには注意(分散トランザクション等)

20.

アプリケーションアーキテクチャ 個々のアプリケーションモジュールのアーキテクチャ 戦略 クリーンなアーキテクチャ(方針と詳細の分離) 戦術 狭義のCA、オニオン、レイヤード、etc モジュールごとに適切な戦術を採用 すればよい

21.

資源の配分 ✓要所に対しては、主力を惜しみなく投入する ✓生成AIの活用も鍵となってくる ✓テスト戦略も濃淡が必要 ✓レバレッジポイントを見極める 支援 (複雑) コア 支援 (単純)

22.

まとめ

23.

アーキテクト的戦略思考 ✓アーキテクトの主たる役割は 技術面での戦略作り ✓戦略の要は、適切な分割と資源配分 ✓目的志向で合理的な判断を行う

24.