Armitage Archive

Big Ball of Mud – the World's Most Popular Software Architecture

by Swizec Teller

This page contains highlights I saved while reading Big Ball of Mud – the World's Most Popular Software Architecture by Swizec Teller. These quotes were collected using Readwise.

Highlights

Big Ball of Mud is the pattern all software trends toward. Entropy wins and all your code depends on all your other code. There is little to no structure and anything you change could break something unexpected.

Coding turns into trench warfare and every task takes forever. Changes become scary and your software ossifies. You are wading through muck to get anything done.

Permalink to this highlight


Friend forget Gang of Four, here are the 7 architectural patterns real programmers use:

  1. Big Ball of Mud
  2. Throwaway Code
  3. Piecemeal Growth
  4. Keep It Working
  5. Shearing Layers
  6. Sweeping It Under The Rug
  7. Reconstruction

Permalink to this highlight


Keep it working is the idea that no matter what, your software's first job is always to stay working. When deadlines get tight or requirements change quickly, architecture always takes a back seat.

When you're pulling your hair out at 4:55pm (or during an outage at 2am) you'll throw your hands in the air, make that ugly cross-cutting import, and flick your thumb at architecture. The code must work and you've got places to be!

Permalink to this highlight


The best way to avoid a big ball of mud is to build small balls of mud. Focus on the interfaces, use contract driven development, and don't worry too much about the mess inside each box.

It's fine . Get your shoes dirty. Ship that thing

Permalink to this highlight


Throwaway Code is code you wrote that one time to quickly solve a problem. It doesn't have good structure or much in the way of engineering, but it gets the job done.

It gets the job done so well that 3 years later it's still sitting there doing its job. Except now your throwaway code is part of the load bearing structure of your system.

Permalink to this highlight


Architectural insight is not the product of master plans, but hard won experience. It's how we distill experience into wisdom and disseminate it. Pre-designed top-down architecture never works – working software first, good architecture second.

Permalink to this highlight


Want more like this? See all articles or get a random quote.