The Agile Manifesto suggests making decisions as late as possible. Agile favors:
Contract negotiations (scope) and following a plan (schedule) are less important than collaboration and responsiveness. Agile projects use short, two-week sprints for this reason.
Consultants want to sell you a story. “No, we don’t do that yucky waterfall development. That’s old school. We’re agile.”
Yet you’ll ask them for an estimate for your project, and they’ll provide you one to win the gig.
Almost certainly, that estimate will be invalid because critical decisions are unresolved. The closest the project gets to being agile is “waterfall with sprints” and a commitment to respond to your changes as long as the budget hasn’t run out.