if project realistically costs $100M and should take 3 years - it won't be approved due to budgetary and other political reasons.
Much easier to announce a project as $30M that can be done in 1 year, and intentionally skip over planning, and contingencies+complications.
Plan for naively simple project, like a Wordpress website, even if it is for is amazon.com.
When the project SNAFUs, go back to customer and use sunken cost fallacy to get more budget & time, until customer runs out of either Money (budget) or Patience (time), then complete the project and move on to the next "Grande Project"
It's ideal to have an uber-specialist, an experienced and respected senior overseer who knows the industry and the project inside-out in both theory and practice, dedicated to the project. That gets things going. It's also rare and expensive - there are a lot more development projects than there are such individuals. They are powerful cards coveted by successful owning developers.