ビッグ・ボール・オブ・マッド(1999年)
本稿は、ソフトウェアアーキテクチャにおいて「ビッグ・ボール・オブ・マッド」と呼ばれる、構造化されておらず、無秩序に成長したシステムの共通パターンを考察する。著者のブライアン・フット(Brian Foote)とジョセフ・ヨーダー(Joseph Yoder)は、このような「泥の大きな塊」がなぜこれほど広く見られるのかを分析し、その原因、結果、そして対処法を論じる。
背景メモ
- 「Big Ball of Mud(巨大な泥団子)」は、1999年にBrian FooteとJoseph Yoderが発表したソフトウェア設計に関する古典的エッセイ。ソフトウェア業界で広く使われる比喩となっている。
- この論文は、理想的な設計原則(クリーンなアーキテクチャ、モジュール性、テスト容易性など)が推奨される一方で、現実のプロジェクトの多くが「どうしようもなく乱雑で、構造もなく、継ぎ接ぎだらけのコードベース」に陥る現象を、非難ではなく「なぜそうなるのか」という視点で分析している。
- 著者らは、泥団子が生まれる原因として、時間的圧力、経験不足、設計哲学の欠如、レガシーコードの累積、チームのターンオーバーなどを挙げ、それらが避けられない条件下では泥団こそが「実際に機能するアプローチ」であると皮肉交じりに主張する。
- このエッセイは「はっきりしないが動くものは、はっきりしていて動かないものより価値がある」という一文で有名。ソフトウェア保守の現実を直視させ、後のリファクタリングやアジャイル開発の議論に大きな影響を与えた。
- カテゴリ的にはソフトウェア工学の古典文献に位置づけられ、20年以上経った今も現役のエンジニアに広く読まれている。