Buying, Building, and Reviewing Tech Work — Lesson 2
Milestones, Deliverables, and Acceptance Criteria
Learning Objectives
- 1Structure project milestones that create natural checkpoints.
- 2Write acceptance criteria that define "done" for each deliverable.
- 3Use milestone-based payment to align incentives.
Milestones as decision points
Milestones break a project into checkpoints where you evaluate progress, provide feedback, and decide whether to continue, adjust, or stop. Without milestones, you have no visibility into progress until the final delivery — by which time problems are expensive to fix.
Effective milestones correspond to deliverables you can actually review: design mockups approved, development of core pages complete, integrations tested, content loaded, launch readiness review. Each milestone should produce something tangible you can see, test, or evaluate.
Milestones tied to payments create natural accountability. Paying 100% upfront gives you no leverage if work quality is poor. A structure like 25% at signing, 25% at design approval, 25% at development complete, and 25% at launch aligns payment with demonstrated progress.
Defining acceptance criteria
Acceptance criteria define what "done" means for each deliverable. Without them, "design complete" might mean the designer considers it finished while you think it needs more work. Acceptance criteria eliminate ambiguity about when a milestone is met and payment is earned.
Good criteria are specific and testable: "Contact form submits successfully and creates a record in the CRM" is testable. "Form works well" is not. "Site loads in under 3 seconds on mobile" is testable. "Site is fast" is not.
Define acceptance criteria before work begins, not after delivery. Criteria set during the proposal phase create shared expectations. Criteria invented during review create disputes. If a deliverable does not have acceptance criteria, you do not have a clear agreement about what you are paying for.
The review and approval process
Define how reviews work: How many revision rounds are included? What is the turnaround time for your feedback and for vendor revisions? What happens if feedback requires work outside the original scope? Who on your side has authority to approve deliverables?
Consolidate feedback. Multiple stakeholders sending contradictory feedback creates confusion and delays. Designate one person who collects and reconciles internal feedback before sending it to the vendor. One consolidated feedback document is always more effective than five separate emails.
Review in the right environment. Check the website on mobile, not just your laptop. Test forms with real data, not placeholder text. Click every link. Check every page. A thorough review at each milestone prevents problems from compounding.
Case Study
The milestone that prevented a disaster
Situation
A company had a milestone review after the design phase of a web application. During review, they discovered that the designer interpretation of the admin panel was completely different from what the team expected. The wireframes showed a basic data table while the team expected a full dashboard with charts and filters.
Analysis
Because the review happened at the design milestone — before any development — the misunderstanding was caught early. Adjusting wireframes took two days. Rebuilding a completed admin panel would have taken two weeks and significantly increased cost.
Takeaway
Milestone reviews exist to catch misunderstandings early when they are cheap to fix. Every milestone missed or rubber-stamped is a missed opportunity to prevent expensive rework.
Reflection Questions
- 1. For your last project, were milestones defined? Did you conduct thorough reviews at each one?
- 2. How does your organization collect and consolidate stakeholder feedback for vendor projects?
Key Takeaways
- ✓Milestones create checkpoints for evaluation and course correction.
- ✓Acceptance criteria define "done" with specific, testable statements.
- ✓Milestone-based payments align vendor incentives with delivery quality.
- ✓Catch misunderstandings at design milestones, not after development is complete.