Creating Secure and Practical Milestones

Pinterest LinkedIn Tumblr

Ralph Waldo Emerson once said, “Life is a journey, not a destination.”

This is one of those quotes that can be applied to all achievements in life. Everyone knows that the best goals are ones that can take a while to reach. With any great achievement, it’s best to lay out checkpoints along the way. In the business world, it allows you to protect your investment while your eye remains on a target that is still way off into the distance.

At Guru, we call these checkpoints “milestones”. Milestones are a great tool to help you break up a long-reaching job into smaller pieces that a freelancer can accomplish one at a time. An entire iOS app cannot be built in a week, or even a month and, in this specific case, milestones should be deployed to keep everyone on track and to pay a freelancer securely so they aren’t waiting until the very end of a long project for payment.

When not waiting to pay a freelancer until after a job is complete (this is ALWAYS the safest way), it’s best to think strategically about the kinds of milestones you specify. A secure milestone is one that you can always walk away from and still have a substantial amount of work from a freelancer. Not only that, but you want to ensure that that work is accessible enough to have someone else pick up that work and continue.

An Example of Great Milestones

Job Title: iOS Recipe Finder Application
Milestone 1: Wire frame of application’s functionality
Milestone 2: Interface Design
Milestone 3: Coding and development of application
Milestone 4: UAT
Milestone 5: Round of revisions and bug fixes (2-months)

This is purely a theoretical scenario. However, what I see in those milestones are tangible points in the production process that can be halted at any time and will then act as jumping-off points for any other freelancer that may need to be introduced. As an employer, I would feel reasonably safe to pay a freelancer at any of those milestones as long as I have access to the deliverables created from those milestones first.

As a freelancer, clear and concise milestones are extremely important so you can avoid disagreements about progress and disagreements about the expectations of the job.

An Example of Bad Milestones

Job Title: iOS Recipe Finder Application
Milestone 1: First draft of application
Milestone 2: 50% of coding
Milestone 3: Last 50% of coding

The example above is actually something I see a lot of. At first glance (especially if you didn’t read the examples before this) the milestones seem reasonable enough. At this point, it’s easy for an employer to click “Accept” and get their job started before ironing out the details and therefore setting up a solid payment schedule. Milestone 1 is difficult to describe—what is a first draft? How substantial should it be? Milestone 2 is equally as vague. Who decides when half of the coding is done? Milestone 3 is vague for the same exact reason. If these are the questions you’re asking when reviewing an agreement then it’s safe to say that you need to reevaluate your use of milestones. The most common problem I see when milestones are itemized this way is a disagreement about how much of the work is done. In the event that there are problems, not only does the employer not have a good way of breaking off from the job and finding a new freelancer but it’s likely that neither party will agree on the amount of work finished and the cancellation of the job will be messy.

Always remember to take a breath and slow down your hiring process. No one is in too much of a hurry to start their job off on the right foot—starting it off incorrectly will waste exponentially more time than any kind of advanced preparation will. Milestones, like any part of the beginning stages of a job are important for success, longevity and for the relationship you cultivate with each other as employer and freelancer.


  1. Yuri Candeed Reply

    Hi Jake,

    Thanks for sharing this interesting article.

    I have a question here: If deliverables sent after each milestone, what if the employer decides to not continue the project? Let’s say, in your first example, after the project reaches 2nd milestone (UI Design) employer decides to leave and hire other freelancer to do the next tasks (the development tasks).


    • Hi Yuri–that’s a great question. If a milestone is completed it is then safe for the freelancer to relinquish the deliverable for that milestone. In the most common scenario the employer will then release those funds to you. If the employer refuses or disagrees then it’s best to try and reach a resolution by speaking honestly with each other. If no amicable conclusion can be reached then we have dispute resolution services available that cover BOTH users. A freelancer can ask us to initiate a dispute for unreleased SafePay funds and an employer can request a refund at any time.

      If an employer requests a refund of the funds that you expected to be paid then you can dispute that refund and, if needed, use our arbitration services. In all scenarios that money WILL go to whomever has the best evidence to support their side of a dispute. The best way to avoid a dispute in the first place? Concise, detailed milestones and plenty of communication.

      • Thanks for replying Jake, but actually my question is:
        How could the 2nd milestone guarantee the continuity of the whole projects after it?

        Sorry for being unclear.
        Please see this illustration to understand more about my question:

        Job Title: iOS Recipe Finder Application
        Milestone 1: Wire frame of application’s functionality [DONE]

        Milestone 2: Interface Design [DONE]
        Milestone 2 released to freelancer, and employer receives the design files. But instead of continue to the development phase with the freelancer A, employer decides to stop working with the freelancer A. Employer then brings the design to OTHER freelancer to code / develop the interface design.

        Milestone 3: Coding and development of application [X]

        Milestone 4: UAT [X]

        Milestone 5: Round of revisions and bug fixes (2-months) [X]


    • Jed, you can create milestones for “batches” of data you enter. For example:
      Milestone 1 – First 1000 entries
      Milestone 2 – Second 1000 entries
      Milestone 3 – Third 1000 entries

      • Thank you so much! I really had no idea what they wanted for data entry milestones.

    • Anna Bassham Reply

      Hi Carol,

      You might be able to break down transcriptions into chunks of time, for example Minutes 1-5, Minutes 6-10, etc.

Write A Comment