アーキテクチャ設計の進め方

システムアーキテクチャ

概要

構成図レベルでのアーキテクチャの設計をする時の進め方として個人的に良いと思ったやり方を1つ取り上げてまとめておく。

進め方

事前に要件定義や調査がある程度済んでいるという状態を前提として、アーキテクチャの構成図を書きながら設計を進めていく作業の取り組み方法について書く。

といってとても単純で、「最初からゴールの絵を描こうとせずに、段階を踏んで設計する」というだけである。 

image

architecture

上図のように、要件に基づいて段階的に構成図を書いていくことで次のようなメリットがあると思っている。(上図はあくまで一例であり、雑に書いたものなので具体的なシステムを意識していない。)

  • 段階的に考えることができるため、思考を整理しやすい
    • なぜそのコンポーネントが必要なのか? この構成のメリット・デメリット、トレードオフは何か?どこに課題がありそうか?など考えやすくなる
  • メンバー間の認識が揃えやすくなる
    • 設計上自明だと思われることでも、各メンバー間で知識や経験が異なっていると前提がズレて認識が合わなくなりがち。自明な部分であっても理由を明確にしたい(神は細部になんとか)。
  • 過剰な設計を防ぐことができる
    • 最初からゴールの形を設計しようとすると、「あれ?そこまで作り込む混む必要あるのだっけ?」ということになったりする。経験やスキルによるかもしれないが・・・

まとめ

設計に関わる人が多いほどこのアプローチは有用なのではないかと思っている。

人の認識を揃えるというのは不確実性の高いことの1つなので、段階的に前提を揃えながら考えていくというのは効果的なのではないかと思う。