エリックエバンスのドメイン駆動設計の「第17章 戦略をまとめ上げる」まとめ

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

今回は、「第17章 戦略をまとめ上げる」のまとめです。

戦略的設計上の意思決定を行うための6つのこと

意思決定はチーム全体に伝える

  • 全員が戦略を理解して、行動しないと意味がない。

  • アーキテクトチームよりアプリケーションチームから現れる戦略的設計が全員に伝わりやすいので、より効果的かもしれない。

意思決定プロセスはフィードバックループが必要

  • アーキテクトチームが戦略的設計を考える際は、実際に手を動かしてフィードバックを得ることが重要。そうしないと、非実用的な設計になってしまい、アプリケーションチームが設計を無視する可能性がある。

  • アーキテクトチームとアプリケーションチームの両方が協力して、戦略的設計を考えることができれば、ベスト。

計画は進化を許容する

  • 開発プロジェクトの進行に合わせて、戦略的設計も成長させる。そうしないと、逆に戦略的設計が開発プロジェクトの進行の妨げになってしまう。

アーキテクチャチームが、最も優秀な人材を全て吸い上げてはならない

  • 優れたアプリケーションを構築するためには設計スキルが必要だから、アプリケーションチームに強力な設計者を入れることが不可欠。

戦略的設計にはミニマリズムと謙虚さが必要

  • いつ、プロジェクトにとって障害物となる戦略的設計を導入するかわからないので、 設計を特に明確にするものだけ・余分なものを削ぎ落とさせた考えだけを適用。

  • 自分にとって最高の考えでも、誰かの妨げになるかもしれないと認識するためには、謙虚さが必要。

オブジェクトはスベシャリストだが、開発者はジェネラリストである

  • うまくいっているプロジェクトには、開発者がフレームワークを試し、アーキテクトがアプリケーションコードを書き、担当領域外の仕事も実施。

以上が「第17章 戦略をまとめ上げる」のまとめです。