Software projects are almost always late and underdone. Most executives take it for granted nowadays that developers will turn in something other than what was requested for more than was announced. They even admit that this is one of the biggest reasons that they outsource, because the contracts with outsourcers force the organization to develop software in a rational way. …

