@mmickells You can’t plan if you don’t know all of the requirements. And some times it’s impossible to know all requirements up front which is why approaches like Agile were developed.
Unfortunately there’s no one answer for this, otherwise everyone would be following that one approach. You also don’t say whether this is a project with a finite budget and timeframe, or whether it’s say, an internal project where timings and budget is fluid, which would also influence the answer.