アンチパターン 【anti-pattern】
概要
アンチパターン(anti-pattern)とは、問題への対応策・解決策の類型のうち、よく陥りがちな避けるべき悪い典型例のこと。べからず集。1995年にアンドリュー・コーニグ(Andrew Koenig)氏が著書で用いたのが最初で、ソフトウェア工学において良い実践例を類型化した「デザインパターン」(design pattern)をもじった表現である。本来は、単によくある悪い例というだけでなく、当初は適しているように思われるが最終的には好ましくない結果をもたらし、様々な現場で繰り返されていることが知られており、改善するための一般的な手法が提案されているようなもののことを指す。
アンチパターンという用語が広まるに連れて、このような観点を厳密に適用せず、「よくある悪い実践例」といった単純な意味合いで用いられることが増えている。また、当初はソフトウェア開発およびプログラミングについての概念だったが、プロジェクト管理や一般のビジネス手法など適用分野が広がっている。
ソフトウェア開発分野で著名なアンチパターンとして、野放図にプログラムの拡張や修正を重ねて制御の流れが追跡困難になってしまう「スパゲッティコード」(Spaghetti code)、すでに知られている定番の解法を用いず似たような手法を自作してしまう「車輪の再発明」(reinventing the wheel)、馴染みのある手法を適性や限界を考えず何にでも適用してしまう「打ち出の小槌」(golden hammer)などがよく知られている。
(2021.6.23更新)