After you collect and finalize requirements with customers, you have to concern one more thing that is "Budget".
I'll separate budget into 2 categories.
- Controllable budget
- Uncontrolablle budget
Controlablle budget is the budget that you've already set before the project start. So you will know in every steps of the project that you'll spend or invest for anythings. In the other hand, Uncontrollable is the budget that can be in charge in every steps also such as change request from user, team capacity, etc.
So you have to plan for the uncontrollable budget allowance by 20% of all project price.