building simple systems

XML co-inventor Tim Bray talks about over-designing systems:

Programmers experience soaring joy when they can rip through code deleting functions and declarations, screens-full into the bit bucket, with the steady drumbeat of tests-fail-then-pass.

So maybe I didn’t build one to throw away, but I built one that needed major amputations out of the box.

He concludes with a quote from Fred Brook’s The Mythical Man Month, one that I strongly believe in:

“Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient as to get it right the first time. Hence plan to throw one away; you will, anyhow.”