The Sierra Adventure Codebase

We broke something this week. Well, I broke something, if you go by code authorship. It was supposed to be a bug fix, and we did everything by the book - pair-programmed the fix, did a code review, got our testers to do some QA, even went through the don't-really-believe-in-it-but-pick-your-battles »

Avoiding growth by accretion

Software has a tendency to grow by accretion - a gradual build-up of material causing what was a small and simple nucleus to become a large, complex object with many layers. It's the same mechanism by which planets form. A small clump of particles attracts other particles, and this new »

The value of tests

A couple of things this week reminded me how important it is to have a decent set of tests for your code. The first came out of me being asked to add a piece of functionality to an application. It turned out that said functionality had always existed, but since »

No (more) heroes

A good development team has no heroes. There are three common "heroic" feats in software development: Hacking in features in a fraction of the time it should have taken. Pulling all-night hacking sessions to get a delayed project out the door. Fixing a hack that exploded in production and took »