What every engineer should know about software engineering. (©2007)