How to split a project into milestones
Split a project into milestones by asking what you could see, click or test at the end of each step. Each milestone should deliver one visible result, be small enough to approve in one sitting, and build on the one before it.
Last updated:
What a good milestone looks like
A milestone is a chunk of work with a clear finish line and its own payment. Think of it as a checkpoint. At the end you can look at the result, try it, and say yes or ask for changes.
- It delivers something you can use or see, not only internal work.
- It has a short list of things that must work, written before the work starts.
- It fits a fixed time frame. On ErdiBuilds, Each milestone is funded before work starts and runs 1, 2, 3, 4, 6 or 8 weeks.
- It is paid for on its own, so risk stays small. Milestones are from 50 to 2,000 each in your project currency.
A method in four steps
- Write the user journey: the path from opening the product to reaching the goal.
- Mark the smallest version that makes the journey work end to end. This is your first release.
- Cut that version into slices, each one adding a working piece, like sign-up, then the main screen, then payment.
- Write a done-list for each slice: three to six checks you can do yourself.
The free milestone planner helps with steps three and four. It runs in your browser and lets you move pieces around until the plan feels right.
Example plan for a booking app
Here is a sample plan with phases and weeks, no prices. Your own plan will differ, and a developer may suggest a better order.
| Topic | Weeks | What you can check at the end |
|---|---|---|
| 1. Foundation | 1 to 2 | Sign-up, login and a first empty home screen on a test link. |
| 2. Core flow | 2 to 4 | A user can search, pick a time and create a booking. |
| 3. Payment | 2 to 3 | Paying works in test mode, with confirmation emails. |
| 4. Polish and launch | 1 to 2 | Fixes, store listing or live domain, and a handover of the code. |
1. Foundation
- Weeks
- 1 to 2
- What you can check at the end
- Sign-up, login and a first empty home screen on a test link.
2. Core flow
- Weeks
- 2 to 4
- What you can check at the end
- A user can search, pick a time and create a booking.
3. Payment
- Weeks
- 2 to 3
- What you can check at the end
- Paying works in test mode, with confirmation emails.
4. Polish and launch
- Weeks
- 1 to 2
- What you can check at the end
- Fixes, store listing or live domain, and a handover of the code.
Weeks are an example. Real lengths depend on the project and the developer.
Mistakes that make milestones hurt
- Splitting by technical layer, such as database first and screens last. You see nothing for weeks. Slice by what users can do.
- A giant last milestone called Everything else. Keep every piece small, including the finish.
- Vague checks like looks good. Write checks you can test with a click.
- Changing scope inside a milestone. Put new ideas into the next one.
How approval fits in
After delivery you review the milestone. You can approve it or request changes. If you do not respond, it is approved automatically after 14 days, so check delivery notifications. Funds are released after approval and a short holding period. Unless both sides agree otherwise in writing on the platform, the rights to the result of a milestone pass to the client once that milestone is paid in full.
Not sure what goes in the first milestone? Start from a clear project brief and your plan will follow faster.
Writing a done-list that works
A good done-list uses plain checks. Instead of the search works, write: I type a city, press search and see at least one result with a name and a photo. Checks like this leave little room for different readings, so approval becomes quick and calm.
Share the done-list before the milestone is funded. If the developer sees a check that is unclear or too big, you can fix it while changing the plan is still cheap.
Frequently asked questions
How many milestones should a project have?
Enough that each one is small and testable. Many first versions fit in three to six. If one milestone feels too big to review, split it.
Link to this answerWhat if my plan needs a bigger milestone?
Break it into two. Milestones are from 50 to 2,000 each in your project currency. Smaller steps also give you more chances to steer.
Link to this answerCan the plan change during the project?
Yes. Talk with the developer, adjust the next milestone and keep each one clear before it starts. Because each milestone is funded before work starts, both sides know what is agreed.
Link to this answerWho writes the done-list?
You and the developer together. You know what matters, the developer knows what is practical. Agree on it before the milestone is funded.
Link to this answerRelated pages
- Free milestone planner for your projectTurn your project into an editable plan of milestones with lengths that fit the rules. Runs in your browser, stores nothing and estimates no prices.
- How to Write a Project Brief for a DeveloperA good project brief fits on one page: goal, users, must-have features, examples and limits. Here is what to include and a free tool to draft it.
- How it worksFrom idea to finished project, step by step.
- Fixed Price vs Hourly for Software ProjectsFixed price suits clear scopes, hourly suits open ones. See how each model handles risk, change and control, and when milestones give you the best of both.
- Build a web app with an independent developerHow to plan a browser-based web app: common technologies, an example milestone plan, what to write in the brief and how to judge a developer.