At the beginning of the project, our business analysts review the scope of work and give out solution proposal, documenting how we will develop the project and estimating the efforts (resources and working hours) we need to deploy in order to finish it. The quote will then be made based on the estimation of efforts. Usually, payment will be made at the beginning of each development phase. However, for complicated projects, we will charge fee at the end in order to have the most accurate valuation.
This model is suitable when you have complicated project with requirements changing over the time. We charge based on the estimation of the amount of time and resources we would deploy to finish the project.