proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameBrian Foote, Joseph Yoder199774 min readpaperintermediate

Big Ball of Mud

Summary

The paper defines the "Big Ball of Mud" anti‑pattern—systems that grow haphazardly due to expedient fixes—and outlines seven related patterns that explain why they arise and how to mitigate or reverse them.

  • Throwaway code often survives beyond its intended lifespan, becoming the seed of a Big Ball of Mud.
  • Piecemeal growth and constant expedient patches erode any original architectural intent.
  • Shearing layers—separating fast‑changing from slow‑changing parts—helps contain entropy.
  • Sweeping problems under the rug hides technical debt; refactoring or reconstruction is needed to restore health.

Any engineer who maintains or evolves legacy code should understand these forces to avoid or remediate architectural decay.

8/10

Related reading

  1. How Complex Systems Fail

    Cook argues that complex system accidents arise from multiple interacting faults, making the notion of a single root cause meaningless, and that hindsight bias skews post‑incident analysis. Understanding failure as a social construct shifts focus to systemic improvement.

    Hall of Famecomplexsystems.fail2 min
  2. The Web's Grain

    The essay argues that the web has an inherent “grain” – a natural vertical, fluid layout – and that designers should respect this simplicity rather than forcing complex, fragile designs. It illustrates how side‑by‑side layouts break due to mismatched scaling and warns against over‑engineered sites.

    Hall of Famefrankchimero.com17 min
  3. No Silver Bullet: Essence and Accidents of Software Engineering

    Brooks argues that software development’s fundamental difficulty lies in essential complexity—conceptual design, conformity, changeability, and invisibility—rather than accidental implementation issues. Consequently, no single technology or management trick will yield an order‑of‑magnitude productivity boost; progress must come from disciplined, incremental improvements.

    Hall of Fameunc.edu34 minpaper
  4. The Shadow Factory: Why Your CI/CD Sprawl is About to Move Faster Than You Can Think

    The article warns that unchecked CI/CD sprawl— orphaned pipelines, hard‑coded secrets, and permissive runners— creates a hidden attack surface, and that AI‑driven agents will amplify the problem. It recommends a governance layer with real‑time inventory, policy‑as‑code, and AI guardrails to bring the software factory under the same security rigor as production.

    Codeshipcloudbees.com3 min
  5. Choose Boring Technology

    The essay argues that engineering teams should spend their limited “innovation tokens” on business problems, not on novel infrastructure, by choosing mature, well‑understood technologies. Boring tools like MySQL, Postgres, Python, or Cron reduce unknown unknowns and keep system complexity low.

    Hall of Famemcfunley.com8 min