ソフトウェア アーキテクチャ アンチパターン(Software Architecture Antipattern)をまとめた.
基本的に下記の本を邦訳した内容になっている.
[https://www.amazon.com/AntiPatterns-Refactoring-Software-Architectures-Projects/dp/0471197130]
この本自体は1998年に出版されている.古典に入るか入らないかという瀬戸際な気がする.
その証拠にネット上にはほとんど日本語情報がなく,苦労した.
アーキテクチャアンチパターンって何?
システムレベルやエンタープライズレベルのアプリやコンポーネントの構造(アーキテクチャ)に焦点を当てたアンチパターンのこと.
アーキテクチャの価値については研究などから認知されている.(なのに日本語情報は少ない)
たとえば,以下のようなことが知られている.
- 良いアーキテクチャはシステム開発に必須
- アーキテクチャ駆動の開発は,要件,ドキュメント,方法論などに駆動されるソフト開発より優れている.
じゃあアーキテクチャは何なの,というと,
ソフトアーキテクチャはシステム全体のアーキテクチャのサブセットであると言える.
アーキテクチャの原則として以下のものがある.
- アーキテクチャはシステム全体へのビューを提供する.
これはシステムのある部分に着目した分析やモデルとはまったく異なるものである, - システム全体をモデル化するには,多数のビューポイントが必要となる.
ステークホルダーごとのビューポイントが必要.
アーキテクチャアンチパターン目次
アンチパターンとは,「やってはいけない例」を類型化したもののこと.
パターンごとに「どんな問題が起こるか?」や「どう解決するか?」をまとめてみた.
- Autogenerated Stovepipe
- Stovepipe Enterprise
- Jumble
- Stovepipe System
- Cover Your Assets
- Vendor Lock-in
- Wolf Ticket
- Architecture By Implication
- Warm Bodies
- Design By Committee
- Swiss Army Knife
- Reinvent the Wheel
- The Grand Old Duke of York
技術的な話だけかと思っていたら,Design By CommitteeやWarm Bodiesなどのようにプロジェクトマネジメント的な話も結構あった.
でもプロジェクトマネジメントのアンチパターンは別にあるようで,よくわからない.