okuzawatsの日記

Android / Kotlin / GitHub Actions Enthusiast 🤖

巨大な泥団子

巨大な泥団子(Big Ball of Mud)は、Brian Foote、Joseph Yoderによって書かれた1997年の論文のタイトルです。「進化的アーキテクチャ 絶え間ない変化を支える」「ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ」でも引用されています。

この論文の中では、論文と同名の「巨大な泥団子」というソフトウェアの状態について語られています。「巨大な泥団子」とは、要するに、構造を持たず、要素間が密に結合し、ソフトウェア全体がひとつの大きな塊となっている状態です。すなわち、「認識できるアーキテクチャが不在の状態」(Mark他 (2022))と言えます。巨大な泥団子状態のソフトウェアは、構造がないため、一般に変更が困難です。

物理的な、泥団子について考えます。泥団子は、構造を持ちません。少なくともマクロな視点から認識できる構造はありません。また、要素同士が結びついており、ひと塊の物体となっています。

ソフトウェアが「巨大な泥団子」となっている時も、まさしくソフトウェアはこの泥団子のような状態になっていると言えます。「巨大な泥団子」という言葉は、このようなソフトウェアの状態を表す的確な比喩であると思います。

Reference

  1. Brian Foote, Joseph Yoder, Big Ball of Mud, 1997, retrieved from http://www.laputan.org/mud/mud.html
  2. Neal Ford, Rebecca Parsons, Patrick Kua, 進化的アーキテクチャ 絶え間ない変化を支える, 2018, オライリー・ジャパン
  3. Mark Richards, Neal Ford, ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ, 2022, オライリー・ジャパン

#Design

書いている人 😎

profile

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。

Androidプロジェクトの開発速度低下にお悩みで、お手伝いが必要でしたら、メールフォームよりお気軽にお問い合わせください。

👉 もっと詳しく

著書 ✍

Android MVVMアーキテクチャ入門 🛠

Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。

販売サイトへ 🏃

Android ユニットテスト ヒッチハイク・ガイド 🧳

Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。

販売サイトへ 🏃

関連記事 👀

お問い合わせ 📨

お名前

メールアドレス

お問い合わせ内容