Sometimes your project is going to be late before you even start working on it.
The reason is that you decided when you needed to have the software done before you really knew what you were going to be building.
And rarely do the people who want what they want have any idea how much they can reasonably fit in the timeframe available.