Sources

These are mostly books and blogs that discuss things in the software development process space. Usually they have more general material than what's in the essays here; they're usually not direct sources (for example, McConnell was handed out to developers at several of my startups, and I've written about the resulting practices, rather than what was written there.)

Software Estimation: Demystifying the Black Art

Software Estimation: Demystifying the Black Art (by Steve McConnell, ISBN/EAN 978-0735605350) is a book that was handed out to developers at MetaCarta as part of a broader effort to get estimation under control. The material is surprisingly timeless, and I have no problem recommending it two decades after original publication.

The discussion of the "Cone of Uncertainty" in this book is what inspired the Bug Funnel.

The Mythical Man-Month

The Mythical Man-Month: essays on Software Engineering (by Frederick Brooks Jr., ISBN/EAN 978-0201835953) is a book that has made it into enough engineering education that you've probably already read it - so it's one of those that you should probably read because everyone else has. While some of the practical parts are dated - the "surgical team" model never really went anywhere - the questions it goes after certainly haven't changed, and the "No Silver Bullet" essay has inspired decades of reactions.

Working Effectively with Legacy Code

Working Effectively with Legacy Code (by Michael Feathers, ISBN/EAN 978-0131177055) is perspective-changing from page 1 - the key point is that "Legacy Code" isn't wierd retro stuff, it's any code that doesn't have sufficient test coverage for you to change with confidence - which, if you're honest about it, is probably every bit of code you're actually working on!

This book might be the source of the "headlights" metaphor as well but I haven't confirmed it.

The Pragmatic Programmer

Code Complete

A Philosophy of Software Design

Clean Code

Programming Pearls (no?)

Beautiful Code?

Naming Things

Naming Things: The Hardest Problem In Software Engineering (by Tom Benner, ISBN/EAN 979-8366113397)

"Looks Good to Me"

(maybe)

The Checklist Manifesto

The Checklist Manifesto: How to Get Things Right (by Atul Gawande, ISBN/EAN 978-0805091748)

The Cuckoo's Egg

The Cuckoo's Egg - Tracking a Spy Through the Maze of Computer Espionage (by Cliff Stoll, ISBN/EAN 978-0385249461, 1989) is one of the classics in the field of noticing a tiny problem, tugging on a thread, and finding a sea monster at the end of your line. While the primary focus is on an espionage operation exposed by a tiny accounting error and a lot of persistence, the book also focussed on the contemporary Morris Worm incident, which is more on-topic here as a computer-related "attention to detail is everything" scenario.

With Microscope and Tweezers

Eichin, Rochlis, MIT, 1988 - engineering details and post-mortem of the same Morris Worm incident, with more detailed evidence that even tiny details have explanations, sometimes enormous ones.