Brian Foote and Joseph Yoder explore the concept of the BIG BALL OF MUD software architecture in their paper. This informal, haphazard structure is widely popular despite its lack of design. The authors analyze why such architectures are prevalent and how they emerge from factors like throwaway code and piecemeal growth. They offer seven patterns to understand and possibly improve these systems, emphasizing the importance of refactoring to prevent a system from deteriorating into a BIG BALL OF MUD. They address the societal forces, such as time, cost, visibility, and complexity, that influence architectural decisions in software development. They compare this messy architecture to shantytowns, highlighting the unconventional ways it can provide solutions despite its flaws.
http://laputan.org/mud/