Software development operate in dynamic environment and that is why we cost overruns. By monitoring cost we will adjust cost estimates dynamically. Thanks.
Most software that is costed (before it is started) is deliberately underquoted because if the developer gave a realistic figure nobody would put up the money. That is a major reason for cost overruns. Nothing to do with poor or inadequate management! It is easy to get software 90% working, very hard indeed to get it 99% working and virtually impossible to get it 100% working even if you're Microsoft. . . .