The Ops Community ⚙️

Simon Foster
Simon Foster

Posted on • Originally published at on

Don’t Live with Broken Windows

Last night I started reading The Pragmatic Programmer by Andrew Hunt and David Thomas.

One practical tip that immediately jumped out at me as useful in my quest to be a better programmer: Don’t live with broken windows.

The theory goes like this: an abandoned building with a single broken window attracts additional broken windows, graffiti, litter, and a sense that no one cares about this building. However this can be avoided if the authorities repair the window straight away.

You can apply this theory to other walks of life, too, like keeping your kitchen clean. After you’ve spent hours cleaning your kitchen to make it spotless, you make an effort to keep it clean. But if your kitchen is piled high with dirty pans, leaving out an extra mug or dirty bowl isn’t going to feel like it makes any difference.

The software engineering implications of this theory are that if you take care to keep your code tidy, it will stay that way. If you know something is broken but never make time to fix it, other bugs and issues will creep into it, until it’s a mess that no one dares touch.

We have a website that is starting to get a bit buggy. It’s not broken, but it’s been a while since anyone has given it any love. Bits of its functionality are starting to get flaky.

Being the only programmer in my place of work, I seldom have time to think about this website — let alone sit down and maintain it.

But the number of related support calls have been gradually increasing — more windows are breaking — and I’m spending more and more time patching its bugs to keep people happy.

Know that I’m aware of the broken windows principle, I know exactly what to do: sit down with this website for a couple of days and find out what exactly is causing these issues.

Then I’ll rebuild the flaky bits, replace the proverbial cracked glass, and wash down a few walls while I’m at it.

Top comments (1)

ellativity profile image
Ella (she/her/elle)

I missed this when you posted it, @funkysi1701 but as a former community organizer, Broken Windows Theory has shaped so much of how I see the world. As an online community manager, this is the reason for spam prevention, moderation, etc, so of course this carries over to code!

We would love to hear more about your experiences carving out time to replace the glass and wash down the walls, while fielding additional requests and juggling competing demands as the sole dev at your org. Let us know how you get on, please?