You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Big ball of mud

From EverybodyWiki Bios & Wiki

A big ball of mud is a software system that lacks a perceivable architecture. Although undesirable from a software engineering point of view, such systems are common in practice due to business pressures, developer turnover and code entropy. They are a type of design anti-pattern.

In computer programs[edit]

The term was popularized in Brian Foote and Joseph Yoder's 1997 paper of the same name, which defines the term:

A Big Ball of Mud is a haphazardly structured, sprawling, sloppy, duct-tape-and-baling-wire, spaghetti-code jungle. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated.

The overall structure of the system may never have been well defined.

If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.

— Brian Foote and Joseph Yoder, Big Ball of Mud. Fourth Conference on Patterns Languages of Programs (PLoP '97/EuroPLoP '97) Monticello, Illinois, September 1997

Foote and Yoder have credited Brian Marick as the originator of the 'big ball of mud' term for this sort of architecture.[1]

See also[edit]


  1. Foote, Brian; Yoder, Joseph (26 June 1999). "Big Ball of Mud". Retrieved 14 April 2019.

This article "Big ball of mud" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Big ball of mud. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.