アンチパターンの名を冠した本が出版されたのは、今を遡ること 18 年前の 2002 年のことです。当時の文化的状況はたしかに今とは違いますが、これもまた、多くのソフトウェアに関する知見に共通して、現代でも通用する、いやそれどころか、現代だからこそようやく、一般的な理解を得はじめた教示にあふれていると思います。
じっさい、現在のソフトウェア開発の現場において、このアンチパターン本のパターン名は、もしかしたらデザインパターンより広く知られているかもしれません。今はもう絶版となってしまったこの本を再度読み解いて、名前は知ってたけど元はそういう意味だったのか、と、1日1パターンのペースで再認識していこうと思います。
まずは前置き。アンチパターンがデザインパターンよりも価値があるひとつの理由として、その発生率が挙げられます。というのも、パターンとは、盲目的にそれを使えば無条件に良くなるものではなく、あくまで、よくできた典型的な状況に見い出し、名前を付けて認識を共有するもの という前提に立てば、デザインパターンを認識できるような美しい設計の有様は、スキルの高い人からしか生まれない、珍しいものであるのに対して、アンチパターンは、特別できる人材のいない凡庸なチームからでも発生する (もちろん技術スキルが高くもその偏りからも生まれる) ので、ソフトウェア開発のあらゆる場面で見られます。
普通の人がやらかしてきたありがちな失敗を知り、自分たちの失敗の兆候にいち早く気づくための目を養うのは、おそらく、デザインパターンにぴったりマッチするまれな状況を待つよりも、広く適用でき、早く役に立つと思います。