At Bioinformatics Zen, Michael Barton wonders why he should write good software -- after all, he's not developing it for commercial use. He says, though, that the commercial principles of unit testing, automated building, and source control should be applied to scientific software development. "Investing 10% extra time in developing versatile and maintainable code saves time later when large changes are required," he writes.