We will have a discussion and try to understand clients problem. After hearing the requirements we will offer some solutions ideas. Based up on the idea, if the client approves we will proceed with production of the solution.
Once we are in development stage we keep our clients update regularly on each process. If any new requirement comes in we will then try to include in this stage. It is harder to change the core idea, that is why we make sure we get it right in the previous stage.
In the final stage we will be ready to show client a full demo. Sometimes we may offer more than one option. In this final stage if the client is not happy they do not have to pay anything. But fortunately 95% of the time they like it.