I honestly don't think so. Companies have finite resources and need to allocate their use efficiently. That's hard to do when you don't know how long it will take / how much it will cost.
If you don't think you have the money to meet the estimated project time you need to find ways to reduce the time. Sadly that leads to problems as described in the article.
The is an impedance miss match between software development and real world business reality.