Anti-pattern

An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

[1][2] The term, coined in 1995 by computer programmer Andrew Koenig, was inspired by the book Design Patterns (which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective) and first published in his article in the Journal of Object-Oriented Programming.

Although undesirable from a software engineering point of view, such systems are common in practice due to business pressures, developer turnover and code entropy.

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.

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