We usually divide a project into several milestones, with a specific deliverable for each phase. When each phase is complete, we review the work with our client and define the next deliverable.
From our experience working on app projects for over 8 years, we find the successful app has no end. The really significant part comes after our client releases the app. Updating an app based on user feedback is much more important than the previous phase.
So we always say that our projects have no deadlines. This explains to our developers and clients that we are not finished with the project when the app is released. Actually, it is just the start of growing the customer’s business throughout the life of the project.