Saturday, April 14, 2007

We all do it, so don't punish them

The other day, Jack dropped by and we chatted about code quality tools. I mentioned CP-Miner (more), and its ability to detect when programmers introduce errors by copying code from one place, pasting it in another, then incompletely or inconsistently changing variable [etc] names in the destination copy. He thought about it a second and said off-handedly that since we all do it, there is no point in punishing people who do. But we do have to catch such errors and remove them, for the sake of our customers, employees, and shareholders.

I thought this a very important principle -- if everybody makes this sort of mistake, then it's not an exceptional thing; you don't have to be a worse-than-average performer to do it. This reminds me of Deming's “red beads” demo, which is astonishing both because the process is so idiotic, and also because some companies actually do this sort of thing.

Something to keep in mind in the drive for software quality.

No comments: