The article treats unit tests and code as one task, a reasonable idea to make sure programmers actually are testing before "done" means "done". But the article also seems to conclude that unit testing and a few "high level tests" are all it takes. That's almost true, but they've left out a big one: regressions.<p>A project can be burned, and burned badly, if it doesn't have a regression test suite to demonstrate clearly what the code is supposed to be doing. The main reason for regressions is to catch unintended consequences...where adding Feature A wasn't supposed to fark up features B and C, or a bug marked "fixed" 3 months ago is suddenly back. Another really important reason is documentation: new programmers on a project can learn a program surprisingly quickly by examining a set of well-designed (canonical) regression tests.