フェチ パターンは、ソフトウェア エンジニアリングやプロジェクト管理における一般的なアンチパターンであり、多くの繰り返し発生する問題に対応しますが、多くの場合非効果的で有害な結果をもたらします。この概念は、1995 年にコンピューター プログラマーのアンドリュー コニックによって初めて提案されました。この概念は、効果的で信頼できると考えられるソフトウェア開発のいくつかの設計パターンについて説明した書籍「デザイン パターン」からインスピレーションを受けました。その後、1998 年の書籍「Anti-Patterns」では、ソフトウェア アーキテクチャとプロジェクト管理の領域を含むように概念がさらに拡張されました。この記事では、ソフトウェアエンジニアリングにおける「女性パターン」の定義、応用、具体例について詳しく掘り下げていきます。
デザイン パターンの作成者によると、アンチパターンには、悪い習慣や悪い動作と区別する 2 つの重要な要素があります。
アンチパターンとは、最初は問題に対する適切かつ有効な対応のように見えても、良い結果よりも悪い結果をもたらす、一般的に使用されるプロセス、構造、または動作のパターンです。
アンチパターンが解決しようとする問題に対しては、文書化され、再現可能で実証済みの効果的な解決策が他にもあります。
「3 つのルール」によると、アンチパターンとして認定するには、そのパターンが少なくとも 3 回観察される必要があります。
アンチパターンを文書化すると、問題空間を効果的に分析し、専門知識を得ることができます。優れたアンチパターン文書は、パターンの悪影響を文書化するだけでなく、代替の解決策やパターンを改善する方法も提供します。
ソフトウェア エンジニアリングにおける一般的なアンチパターンには、大きな泥の球、神のオブジェクト、マジック ナンバー、ポルターガイストなどがあります。
デザインレスカオスとは、認識できるアーキテクチャが欠如しているソフトウェアシステムを指します。ソフトウェア エンジニアリングの観点からは望ましくありませんが、このようなシステムは、ビジネス上のプレッシャー、開発者の離職、コードの劣化の下では一般的です。 Brian Fort と Joseph Yoder は、1997 年の論文でこの概念を詳しく定義しました。
デザインされていない乱雑なものは、無計画に構造化された、広大で混沌とした「スパゲッティ ジャングル」です。これらのシステムは、制御されない大幅な増大と、継続的なアドホック パッチ適用を示します。
プロジェクト管理におけるアンチパターンには、ブローハード ジャンボリー、分析麻痺、ビューグラフ エンジニアリング、計画による死、成功への恐怖などが含まれます。
これらのアンチパターンは、不適切な管理や不十分なコミュニケーション方法によって引き起こされることが多く、その結果、プロジェクトの進捗が遅くなり、チームの士気が低下します。
ソフトウェア設計やプロジェクト管理の課題に直面する場合、これらのアンチパターンを理解し、特定することが重要です。フェティッシュ モデルにありがちな落とし穴を回避することで、チームはより安定した効果的なソリューションを設計できるようになり、プロジェクトの成功が促進されます。では、あなたも気づかないうちにこうしたアンチパターンの影響を受けている可能性はあるでしょうか?