I'm starting to believe it'd be cheaper to just start out the same project with 2 or 3 companies, and then just keep the be st performing one and dump the other two as soon as its clear that one will be finishing the project in time and within budget. That would only double the cost (if you dump early enough) of a govt project, and since most projects seem to have a budget overrun much larger than that, it'd actually end up cheaper.
Companies with no competition and a guaranteed contract will never deliver the goods.