design business

Done Condition

A done condition is the exact artifact that marks the end of a design project. It names precisely what gets delivered before anyone can declare victory. Think a deployed URL with 11 defined pages built from version 3 of a component library that hits Core Web Vitals scores of 95 plus. Think a shared drive folder containing 14 specific files, every logo variation, token set in three formats, and a two page usage guide that a new designer can follow without questions. The done condition lives in the brief from minute one right after the single decider name. It makes the project closeable. The team knows the target. The client knows what they bought. The decider knows exactly what yes looks like. This forces every decision toward a photographable finish line instead of open ended drift. The brief that actually ships treats the done condition as non negotiable because every project without one becomes theater that dies slowly in inbox threads.

This term comes from the six questions every design brief must answer. The done condition directly addresses the second question and it shapes every answer that follows. It prevents the classic failure mode where work continues because nobody can define finished. Strong briefs pair it with a single decider who can accept the artifact without committee approval, a tight out of scope list that blocks creep, and kill criteria written on day one. When all six questions have concrete answers the project stops being a vibe and starts being a contract. Skip the done condition and the other five questions lose their power. The one page constraints sheet exists to hold these answers in one place where everyone can see them at kickoff and again at every milestone.

A done condition is not a feeling that the work looks good. It is not client approval after seven feedback rounds or a polished PDF deck or a Figma file with 47 artboards. Vague language like modern trustworthy interface or brand that resonates belongs in wish lists not briefs. The done condition rejects we will know it when we see it because that sentence has extended more timelines and burned more budgets than any bad idea in the industry. It is not the same as code complete or design signed off by committee. A single decider must accept the exact artifact listed or the project stays open. It is not an open ended exploration that continues until inspiration runs dry. That approach produces beautiful work that never ships and invoices that never get paid in full.

Projects without a done condition follow a predictable path. A mid sized SaaS company hired an agency in 2021 to redesign their checkout flow. The brief said improve conversion but never defined the artifact. The agency produced 23 button variations nine loading animations and four different illustration styles. The project stretched from six weeks to five months. The budget kill number was crossed twice with no pause. The final output was a 68 page presentation the client never implemented. The one metric that mattered stayed unmeasured because nobody agreed on the surface. That project became expensive theater. A done condition written on day one would have specified a deployed checkout flow with A B test results showing at least 12 percent conversion lift measured through PostHog plus the new loading state patterns from the loading state is the product paper. The team would have stopped at the kill date with something real instead of another deck.

Concrete examples show what works. Linear shipped their 2024 marketing site refresh against a done condition that listed a live URL at linear.app with exactly 11 pages built from version 3 of their component library. Core Web Vitals had to hit 95 on mobile and desktop. All icons came from a locked set of eight with no custom illustration allowed per the out of scope list. The acceptance artifact was the deployed site plus a signed checklist confirming the new loading states matched the documented patterns and every page passed content audit. The single decider was the head of product. The project closed on the kill date with zero extra rounds because the target was never fuzzy.

Stripe used the same discipline on their 2023 payments documentation overhaul. The done condition required a complete docs section at a pinned stripe.com URL containing 28 interactive examples across JavaScript Python and Go. Every example loaded in under 300 milliseconds and used exact brand tokens. The deliverable included a redirect map from every old URL and an integration test suite proving each sample worked. The one metric that mattered was a 40 percent drop in support queries tracked in Zendesk. When the live URL went public and the numbers verified the single decider closed the project. The team rolled into the next six week cycle with no loose ends or surprise requests.

Vercel defined their 2025 design system update with equal precision. The done condition demanded a public Figma community file with 124 components built on the new token system. It included light and dark variants a four page readme with strict usage rules and three live example implementations deployed to a Vercel preview URL. The condition explicitly listed any new illustration direction as out of scope to keep the project from expanding. The VP of design was the single decider and signed off the final assets in one review. The work wrapped in five weeks matching their product cycles and the one page constraints sheet never left the project channel.

A fitness app redesign for a startup in 2022 followed the pattern. The done condition specified an App Store ready build with six core screens five micro interactions and a locked set of animated loading states tied to the brand refresh. The artifact bundle contained the TestFlight link a Zeplin handoff a performance report showing load times under 1.2 seconds and analytics events wired to track the one metric. That metric was day seven retention with a required 18 percent lift from baseline. The CEO as single decider had to approve both the visual assets and the measurement setup before the project could close. It shipped on time because the target stayed specific from kickoff.

Write a done condition for every paid client project and every internal initiative that carries a budget or timeline. Drop it into the one page constraints sheet right after the decider section. Read it aloud at kickoff. Review it at every milestone sync. It becomes your shield when the client asks for one more round or the stakeholder slips in an out of scope request. Point at the sheet. The language is already signed. Pair the done condition with kill criteria so missing the target by the kill date triggers an automatic pause and written renegotiation instead of silent extension. This practice separates teams that ship work that matters from teams that stay busy producing decks.

Skip the done condition during pure discovery phases where the goal is to generate directions without committing to any single artifact. Do not force one on personal experiments or weekend passion projects where ambiguity is the entire point. Those efforts die when squeezed into a contract structure. Never accept a done condition built from adjectives on real client work. If you cannot screenshot it link to it or hand it to a stranger then the brief is still being negotiated and the project will drift. Most failed projects trace their pain back to a missing or vague done condition that let scope grow unchecked while the budget and timeline quietly died.

A done condition turns every design project into a finite contract instead of an endless exploration.

Related terms

Keep exploring