H. Idris / Game UI/UX Designer

Running milestones: definitions of done, sign-off and slippage

A milestone that says "UI pass" is not a milestone, it is a hope with a date attached. I have delivered against both kinds, and the difference in how the month goes is not small.

Written by Hadjoudj Idris, Game UI/UX Designer. Six years of menus, HUDs and full interface systems, including a title shipped on Steam.

Hire me

This is written from the supplier's side of the table. I have received a lot of milestone definitions, some excellent and most vague, and the vague ones cost both parties in exactly the same predictable ways. What follows is what the good ones do.

What a milestone is for

  • A checkpoint on reality. Not a deadline for its own sake, but a point where the actual state of the project becomes visible to everyone.
  • A decision point. Milestones are where scope gets cut, priorities change and problems surface while they are still cheap.
  • A payment trigger, when money is involved, which is what makes the definition matter legally as well as practically.
  • A shared definition of progress, so that "nearly done" means the same thing to the person building it and the person paying for it.

What the document contains

One page per milestone. If it takes more than a page, the milestone is too big.

FieldWhat goes in it
DateOne date, and what happens on it: a build, a file drop, a review call
DeliverablesA numbered list of things, each of which is either present or absent
Definition of doneOne line per deliverable, written so two people cannot disagree
Out of scopeWhat is explicitly not in this milestone, which prevents the quiet expansion
DependenciesWhat the deliverer needs, from whom, and by when
ReviewerOne name, with a response window
PaymentThe amount and the trigger, if applicable
AcceptanceWhat happens if it is rejected, and how many correction rounds are included

Writing a definition of done

This is the field that does the work, and it is the one most often left as a title. The test is simple: could two reasonable people look at the delivery and disagree about whether it is complete?

VagueDone properly
UI pass on the inventoryInventory screen delivered at final quality with empty, full, filtered and error states, annotated for anchors and controller navigation
Combat feels goodThree enemy types with telegraphs, hit reactions and damage feedback, playable in the test level at target frame rate
Audio implementedAll 42 listed SFX hooked up and audible in game, mixed to the reference level, with the music transition on level load
Bug fixingAll bugs at severity A and B closed; C bugs triaged and listed with an owner
Localisation readyAll strings externalised, no concatenated sentences, layout verified against the German string set

Notice what the right column shares: countable things, named states, and a condition that can be checked in a build rather than argued about in a call.

Sign-off: one name and a window

More milestones are damaged by review than by delivery. The two fixes cost nothing and are refused surprisingly often.

  1. One decision maker, by name. Others comment; one person decides. Four opinions arriving separately over a week is not feedback, it is a queue.
  2. A response window, agreed in advance. Two working days is normal. Longer is fine if it is stated, because the schedule can absorb a known delay and cannot absorb an unknown one.
  3. Consolidated feedback, in one document or thread, ordered by importance.
  4. Feedback on the deliverable, not on things outside the agreed scope. New ideas are welcome and belong in the next milestone.
  5. Silence is not acceptance, and it should not be treated as rejection either. Write down what happens if the window passes with no response, because it will.
  6. How to give the feedback itself matters as much as when: the problem, not the pixel.

Payment tied to milestones

  • A deposit up front, commonly 25 to 50 percent for contractors, which protects the supplier from the project vanishing.
  • Payments against acceptance, not against the calendar, so both sides care about the definition.
  • Do not tie a single payment to a milestone that depends on somebody else's work. If the build is late, the supplier cannot deliver and should not be penalised for it.
  • Include a correction round in the milestone, and say what a second one costs. Unlimited revisions is not generosity, it is an undefined scope.
  • Name a kill fee. If a project is cancelled mid-milestone, what is owed? Deciding this at signature costs one sentence and saves a dispute.
  • Beware perverse incentives. Payment on "bugs closed" rewards closing bugs, not fixing them. Tie money to outcomes you actually want.

When it slips

It will. The question is only which of three levers you pull, and pretending there is a fourth is how projects die slowly.

LeverWhen it worksWhat it costs
Cut scopeAlmost always the right answerSomething you wanted, chosen deliberately
Move the dateWhen the date is genuinely internalRunway, and every downstream date
Add peopleRarely, and only long before the deadlineOnboarding time, usually making it later
Reduce qualityNever as a decision, always as a consequenceThe thing players will actually notice
  • Declare slippage early. A milestone flagged as at risk two weeks out is a planning problem; the same milestone missed on the day is a trust problem.
  • Re-plan the whole chain, not just the slipped item. A milestone that moves pushes everything behind it unless something is cut.
  • Do not silently descope. Delivering less without saying so is the single fastest way to end a working relationship.
  • Record what caused it. Three milestones in, the pattern is usually one specific dependency or one optimistic estimator, and both are fixable.
The purpose of a milestone is not to prove the team is working. It is to make the truth visible early enough to do something about it.

Milestone anti-patterns

  1. The mega-milestone. Three months of work with one checkpoint at the end, so problems surface a quarter late.
  2. The moving definition. Deliverables added during the milestone, so acceptance becomes impossible.
  3. Review by committee, with no named decision maker.
  4. Acceptance by silence, where nobody signs off and nobody pays, and the next milestone starts anyway.
  5. The heroic final milestone, where everything unfinished is stacked into the last month before launch.
  6. No definition of done for QA, which is how "bug fixing" becomes an infinite phase.

A milestone template

  • Milestone: M4, Inventory and shop screens.
  • Date: 14 November, build delivered by 18:00.
  • Deliverables: inventory screen, item detail, shop screen, purchase confirmation, four shared components.
  • Definition of done: each screen at final visual quality, with empty, loading, error and filtered states; annotated for anchors, nine-slice and controller navigation; assets exported and named per the agreed scheme.
  • Out of scope: crafting screen, animation polish, localisation of new strings.
  • Dependencies: stable build by 1 November; final item list by 25 October.
  • Reviewer: one name, responding within two working days.
  • Payment: 25 percent on acceptance. One correction round included; further rounds billed at the day rate.

That is one page, it takes twenty minutes to write, and it removes almost every argument a milestone can generate.

How long should a milestone be?

Two to six weeks. Shorter and the overhead of definition and review outweighs the value; longer and problems stay invisible too long. If a milestone needs more than a page to define, it is too big and should be split.

What is a definition of done?

A single line per deliverable stating what must be true for it to be accepted, written so two reasonable people could not disagree. "UI pass on the inventory" is a title; "inventory screen at final quality with empty, full, filtered and error states, annotated for anchors and controller navigation" is a definition.

Should payment be tied to milestones?

Yes, with a deposit up front and payments on acceptance rather than on the calendar. Tie money to outcomes you actually want, never to proxies like bug counts, and avoid tying a payment to a milestone that depends on somebody else delivering a build first.

What happens when a milestone slips?

You cut scope, move the date, or add people, and the third almost never works close to a deadline. Cutting scope is usually correct. What matters more than the choice is declaring it early: a milestone flagged at risk two weeks out is a planning problem, the same one missed on the day is a trust problem.

How many revision rounds should a milestone include?

One is standard for a well-defined deliverable, with further rounds billed. Unlimited revisions sounds generous and is actually an undefined scope, which harms both sides: the supplier cannot price it and the client cannot predict the schedule.

Who should sign off a milestone?

One named person, with an agreed response window, consolidating everyone else's comments. Review by committee is the most common cause of milestone delay, and it is entirely preventable by naming a decision maker before the work starts.

Hadjoudj Idris

Game UI/UX Designer, Remote, worldwide

Need this done properly on your game?

Menus, HUDs, a full UI system, or one screen that isn't working. Tell me what you're building and I'll tell you honestly whether I'm the right fit, and what it would cost.

UpworkTop Rated100% Job Success

Contact

Have a game that needs an interface?

Menus, HUDs, full UI systems or a single screen that isn't working. Tell me what you're building and I'll tell you honestly whether I'm the right fit.

Email
Discord
Résumé Download PDF
Based Remote, worldwide