For most projects I follow this process with my clients.
It allows us to get on the same page early in the project.
Understand First. It is important to spent more time understanding the customer's problem or idea, so that finding to the solution becomes easier.
Don't re-invent the wheel. Look at already existing products or services that may help the customer accomplish their goal. Give advice wether to use an existing product or service or continue with building a custom solution.
UX/UI Design. Before you build a house you need some kind drawing/blue-print. Same applies to creating an application. The client and the builder/developer need to be on the same page. It is faster and cheaper to make changes during the design phase.
Bringing work to life. This is where developers get to do what they do by breathing life into the research and designs from earlier. The client's feedback is requested often while building out the product.
Final launch version. The client gets to review the final version of their product or solution and we celebrate after their approval.