A design approval with no version approves nothing

Advice on the design approval process fixes who approves and when. The failure comes later, when nobody can produce the version the yes was given against.

Three overlapping glass proof slabs recede into darkness, with the front slab glowing orange

Advice on the design approval process fixes who approves, in what order, and by when. The failure it does not prevent arrives weeks later, on the staging site, when the client remembers approving one header and the producer built another, and nobody can produce the version the yes was given against. An approval that names no version approves nothing.

The email chain holds everything except the artefact

An agency’s approvals arrive in pieces. A PDF export goes out in one email. A reply says the header needs work. A screenshot comes back from a phone with an arrow drawn on it. The change is agreed on a call. A one-line reply says approved, go ahead. Every piece is genuine, and the last one quotes none of the others, so the word approved points at whatever the person reading it later imagines it points at.

Lay the chain against the questions a producer has to answer when the dispute arrives, and the shape is plain.

What the producer has to answer laterWhere the answer lives in the chainWhat survives
Which version the client was looking atThe attachment on an email several replies upA filename, if the version was in it
Which state of the file the live link showed themThe design tool’s history, if anybody checks itWhatever the file shows today
Where the arrow on the screenshot pointedA crop taken on a phoneThe arrow, cut away from the rest of the page
Whether the change went in before the yesThe callNothing in writing
What the header meant in that replyNobody’s memory in particularA guess

The fourth row is the one a dispute turns on. A yes given on a call, after a change was agreed on the same call, is an approval of a design nobody has yet seen. The producer heard it as approval of the revised design; the client remembers approving the one on screen, with the change promised. Both are right, and there is no artefact either of them can hold up.

The fix most teams reach for is to stop sending exports and send a link to the design file instead, so that everybody looks at the same thing. That solves the wrong problem. A link to a design tool resolves to the current state of the file at the moment it is opened. An approval given against it on Tuesday attaches to whatever the file shows on Friday, after a designer has started the next round in the same file. The client approved a thing that has since been edited, and the link does not say which state they saw, because the link was the record.

An approval is a pointer, and it has to point at something that will not move. In practice that means the artefact that goes out for sign-off is frozen: an export with a version identifier in its name, or a named version inside the tool, and nothing in that version changes after it is sent. Working sessions can run on the live file all week. Sign-off happens against the frozen copy, and the frozen copy is what the build is made from.

The rule is short enough to put in a contract. Nothing is approved that can still change without acquiring a new version identifier, and the version identifier is what the written yes quotes.

Who can say yes, and who can only comment

A round of review collects comments from more people than are entitled to approve. That is normal, and it is also the source of the approval that turns out to have come from the wrong person. A marketing manager who writes looks great in the thread is offering an opinion. If the producer files it as the approval, the client’s director has grounds to reopen everything later, and will.

Role on the client sideWhat they may do in a roundWhat their reply counts as
The named approverApprove, reject, or approve with listed changesThe approval, once written against a version
A stakeholder invited to commentComment before the round closesInput the approver weighs, never the yes
A stakeholder who replies after the closeComment on the next roundA request, priced as the next round
Somebody copied in for visibilityReadNothing

The first row asks the agency to do something before any design goes out: get the client to name one person, in writing, whose yes closes a round. Where the client cannot name one, the process has no approver, and the producer should say so before the first round rather than find out at the third.

The yes belongs on the thing itself

A screenshot with an arrow on it is a comment that has lost its address. The producer cannot tell which page it came from, at which viewport, or against which version, and a client asked those questions a week later cannot answer them either. The same comment made on the page, pinned to the element it is about, carries its address with it.

That is what visual feedback tooling exists for. In Notarus, a client walking the staging build in a review session files each comment against the element they are looking at, and the note keeps that element, the page path and the viewport with it, so the arrow never has to be re-found on a cropped screenshot. The note then sits on the team’s board as a ticket, and the client portal shows the client how far each one has moved.

Pinned comments also settle the version question. Once every comment in a round is filed against a version and an element, the next version is defined by them: it is the frozen copy with those notes applied and nothing else changed, and the yes at the end of the round quotes its identifier rather than describing it.

A mockup approval expires at the build

A mockup and a built page are two different artefacts, and the client’s yes covers only the first. The build is rendered by a browser, at viewports the mockup never had, with real content in place of the content the designer chose. Type wraps differently. An image that filled a fixed frame is cropped by a responsive one. A button that was a rectangle in the file becomes whatever the front-end framework’s button is. None of that is a deviation anybody decided on, and all of it is visible to the client on launch day.

So there are two approvals, and the second cannot be delegated to the client. Design QA is the check that the build matches the frozen version the client approved, and it has to be done by somebody with both in front of them. The client sees only the build, and a client shown the build without that check will approve it, or dispute it, against their memory of the mockup. Neither outcome is the record the producer needs.

The design approval closes a round; it does not close the job, and the schedule has to hold the difference. Between that yes and the client’s first look at the staging site there is a check the agency owns, against a version the agency froze, and a launch date that leaves no room for it leaves the dispute for afterwards.

Common questions

What should a design approval process include?

A version identifier on every artefact that goes out for review, a frozen copy that does not change after it is sent, a round with a close date, and a written yes that quotes the identifier. Who may give the yes is agreed before the first round. Without the identifier the other items produce a conversation rather than a record, because nothing ties the yes to a thing.

How do you record a design approval given on a phone call?

Write it back the same day: which version was on screen, what was agreed to change, and whether the yes covers the design as shown or the design after those changes. Send that to the person who said yes and ask for a reply. Until the reply arrives, the approval exists only in the producer's notes.

Should clients approve designs through a live design-tool link?

A live link resolves to whatever the file shows at the moment it is opened, so an approval given against it attaches to a moving target. Send a frozen export or a named version for sign-off, and keep the live link for working sessions where nothing is being approved.

Does approving a design mockup also approve the built page?

Approving a mockup approves the mockup. The built page is a second artefact, rendered by a browser at viewports the mockup never had and with real content, and it needs its own check against the approved version before the client sees it. Treating the first yes as covering both is where the later dispute starts.

How many approval rounds should a design go through?

As many as the contract priced, and no more without a change to the price. What matters more than the count is that each round closes on a date, so a comment arriving after the close opens the next round instead of reopening the last one. An open-ended round is where approvals get lost.

The Notarus team

The people who build Notarus. We write up the decisions behind the product when the reasoning is worth more than the changelog line.

Keep reading

Reports with the evidence attached.

Start free, one script tag.

<script src="…/widget.js" data-key="pb_pub_…">