Code Complete is a Dangerous Phrase

Please don’t say this.

Really the problem I have with this phrase is the “complete” part. Whenever I’ve heard it, my uncensored reaction is, “gee, we’ll be done by the end of the day!” And, to speak bluntly, that gut reaction is the only reaction some folks will have if they don’t fully understand software development.

Code Complete is far from done; it’s totally untested. Even the most basic cases have not been evaluated, and as far as I know, no one has given you a code review, either. But it sends a message, whether intentional or not, that the amount of work left is trivial.

Perhaps I’m splitting hairs, but saying “code complete” and saying “I just need to write tests” are two different phrases to me.

Code Complete says:

Still need to write tests says:

It’s basic, really. “Code complete” says that you think you’re done when you’re really not, regardless of who is in charge of testing it. (Though I admit, I hope you do a lot of it yourself.) But, perhaps the worst offense of all, using the word “complete” makes it sound to a product owner that you are mere minutes away from being done. Constantly hearing this phrase will devalue the importance of testing, and, to me, you can’t call it “complete” until it’s been tested and reviewed.