Kanban for agencies: a board your team and clients will use

How to set up a kanban board for agency work: columns for stages, statuses for states, job types, priorities and due dates that everyone can read.

Gareth Thurlow 9 min read

The Northwind Rebrand board with Brief, In progress and Client review columns. Priya drags “Logo lockups, final round” from In progress to Client review and its status turns to In review, then the same jobs switch to the table view.

Most agency boards start tidy and end up as a wall of cards nobody trusts. A column appears for "Waiting on client", another for "Amends", and within a month the board describes every exception instead of the work.

A kanban board for an agency has a harder job than most. It has to show designers, writers and developers what to pick up next. It has to tell a studio lead what is late. And it has to make sense to a client who opens it once a week. This article sets out a structure that does all three, and shows it on an example project.

Why agency boards drift

Client work has more states than stages. A job can be waiting on feedback, blocked on assets, back for a second round or paused while the client decides. Each one feels important enough to deserve a column, so teams add them.

The trouble is that a column is a place, and a job can only be in one place. Once "Waiting on client" is a column, you lose the fact that the job is in design. Once "Amends" is a column, you can't tell a first-round amend from a fifth. The board gets wider, and harder to read.

Three other things make it worse:

  • Several kinds of work share one board. A design job and a copy job need different information to start.
  • Everything is urgent. Without an agreed scale, "urgent" means whoever asked last.
  • Dates live somewhere else. A board that shows stages but not deadlines hides clashes until the week they land.

Columns are stages, statuses are states

The fix is to split two ideas that most boards mix together.

Columns are stages. They are the few steps every job passes through, in order. I'd aim for four or five: something like Brief, In progress, Client review and Done.

Statuses are states. They describe what is happening to a job right now, whichever column it is in. Not started, In progress, In review, Stuck and Completed cover most of what an agency needs.

A simple test helps. If it is a step in the order work flows, it is a column. If it can happen at any step, it is a status. "Stuck" can happen in the brief or in client review, so it is a status. "Client review" always comes after the work and before done, so it is a column, even when a job goes round it twice.

The Northwind Rebrand board with Brief, In progress and Client review columns. Priya drags “Logo lockups, final round” from In progress to Client review and its status turns to In review, then the same jobs switch to the table view.

In Skybase, a new project starts with four columns: Backlog, Active, QA and Completed. Use a column's menu to Rename it, choose Add column at the end of the board to add another, and drag a column by its header to reorder it. Each project also comes with its own statuses, which you can rename, recolour or add to under Statuses in the project settings. A status can be set to Triggers job completion, so choosing it marks the job as done.

Give each kind of work a job type

A design job needs a format and a reference. A copy job needs a word count and a tone. A development job needs a link to the repository. If the brief for each lives in someone's head, the first hour of every job is spent asking for it.

Job types solve this. Set them up per project under Job Types, for example Design, Copy, Strategy and Dev. Each type can carry custom fields: text, a longer text area, a URL or a file upload. Mark a field as a Required field and the job form won't move on until someone fills it in.

The type is chosen when the job is created, so the right questions are asked at the right moment: before the work starts, not halfway through it. The answers then sit on the job's details for everyone who picks it up.

Job types pay off later, too. Reports can filter by job type and break work down by it, so you can compare how much design and copy you finish, and how long each takes.

Use priority for order and due dates for time

Priority and due dates answer different questions. Priority says what to do first. The due date says when it has to be done. Mixing them up is how a low-stakes job with a deadline tomorrow jumps ahead of the job that keeps the client.

Every job in Skybase has one of four priorities: Critical, Important, Normal or Low. A job nobody has set counts as Normal. I'd agree as a team what each one means, and write it down. My suggestion:

  • Critical: it will cost you the client, or the launch, if it slips. Rare.
  • Important: it is on the critical path for a deadline.
  • Normal: the default for most work.
  • Low: worth doing when there is a gap.

Due dates are calendar days, and they read the way you would say them: Today, Tomorrow, in 3d, then the date. Overdue jobs say how late they are, such as 2d overdue. Set the due date to the day the client needs the work, not the day you hope to finish it, so the board tells the truth about deadlines.

Keep the board honest with a weekly tidy

A board only earns trust if it reflects reality. Fifteen minutes a week keeps it that way.

  1. Look for idle work. With Comfortable cards, any open job with no activity for 14 days is flagged. Hover over a card's last-updated time to see how long it has been in its column.
  2. Clear the final column. In Job Rules, an administrator can set Auto-Archive Jobs to archive jobs once they have been in the final column for a set number of days.
  3. Fix things in bulk. Tick a card's checkbox, or choose Select all from a column's menu, then use Move to, Assign to, Set status, Set priority or Archive in the bar that appears.
  4. Check every job has one owner. Collaborators follow a job, but the assignee owns it.

See the same jobs as a table

The board is good for flow. It is less good for questions like "what is critical across the whole project?" For that, switch to Table at the top of the project. The table lists every job, and you can group the rows by Column, Status, Assignee or Priority, sort by any heading, and use Export CSV to download exactly what is on screen.

The Northwind Rebrand jobs as a table grouped by priority: Critical, Important, Normal and Low groups with their counts, columns for title, status, priority, assignee, due date and tasks, and an Export CSV button. The saved view “My critical jobs” is on screen. “Brand guidelines v3”, three days overdue, is raised from Important to Critical and moves into the Critical group.

Grouping by priority on a Monday morning is a quick way to agree the week. Your filters come with you between the board, the table and the calendar, so a view of one person's work stays that way as you switch. The board, table and calendar guide covers every option.

Where the client fits on the board

A board the client can see removes a lot of "any update?" emails. It only works if what they see is clear, which is one more reason to keep columns as stages: "Client review" is a column a client understands.

In Skybase, a client joins as a guest. A single-project guest is free. Guests can add jobs, comment, upload files and approve them, but they can only change jobs they raised, are assigned to or were added to, and they can't see project settings. Sharing work with clients goes into what to show them, and Client approvals without the email chain covers sign-off.

A worked example: Harbour Studio's Northwind board

Take a small agency, say Harbour Studio, rebranding its client Northwind. Maya Chen, the studio lead, sets up one project for the rebrand.

The columns are Brief, In progress, Client review and Done: four stages, in the order the work moves.

The statuses are Not started, In progress, In review, Stuck and Completed, with Completed set to trigger completion.

The job types are Design, Copy, Strategy and Dev. The Design type has a Format field and a Reference link, so when Priya Shah creates "Social launch kit", both are filled in before anyone starts.

On Monday, Maya opens the table grouped by priority. "Brand guidelines v3" is in Client review, has gone overdue while Tom Becker at Northwind reviews it, and is marked Important. It is holding up the launch, so Maya raises it to Critical and it moves into the Critical group for everyone. Tom, a single-project guest, sees the same job in Client review with its status In review, and knows the next move is his.

Nothing on this board needed a "Waiting on client" column. The column says where the job is. The status says what is happening. The priority says how much it matters.

A checklist for your agency board

  • Four or five columns, each a step in the order work flows.
  • Statuses for states, with one status set to trigger completion.
  • A job type for each kind of work, with required fields for what the work needs to start.
  • An agreed meaning for Critical, Important, Normal and Low.
  • Due dates set to the day the client needs the work.
  • A weekly tidy: idle jobs, the final column and one owner per job.
  • The table grouped by priority when you plan the week.

If you are starting from scratch, the getting started guide walks through your first project and job. If your work is on a Trello board today, moving your agency off Trello shows how to bring it across. You can see the rest of what a project can do on the features page.

The structure matters more than the tool. Stages in columns, states in statuses and an agreed scale for priority will make any board easier to read. Skybase is built around that split, so it is the default rather than a rule your team has to remember.

Written by

Gareth Thurlow

Founder, Skybase

Gareth founded Skybase to give agencies and client teams one place for client work, from the brief to the sign-off.