Skip to content
Tools concepts

Kanban board

A visual workspace divided into columns where each column represents a stage of work, and tasks are represented as cards that move through the columns from left to right as they progress.

A kanban board is the most common interface for managing tasks in software teams. It's a two-dimensional view: columns are stages (e.g., Todo, In Progress, Review, Done) and rows are individual tasks, represented as cards. Cards move horizontally across columns as work progresses, giving anyone glancing at the board an instant read on what's happening.

Anatomy of a kanban board

A typical kanban board has:

  • Columns representing workflow stages. Most teams use 3–5 columns. Adding more usually adds noise.
  • Cards representing individual tasks. Each card shows a title, optionally an assignee, priority, due date, and labels.
  • Swimlanes (optional horizontal rows that group cards — e.g., one swimlane per project, one per assignee).
  • WIP limits (optional caps on how many cards can sit in a column at once).

When a kanban board works well

Kanban boards work best when:

  • Most tasks span multiple days (a kanban view shows the state of in-flight work, which is wasted on tasks that finish in an hour).
  • The team needs a shared, at-a-glance view of who's doing what.
  • Work flows continuously — there's no fixed sprint or release cadence.

For small teams that ship continuously, the kanban board has been the dominant pattern for fifteen years and shows no signs of being displaced.

When a board is the wrong fit

If your team executes lots of small tasks within a single day, a kanban board adds ceremony without value. A simple list (todo list, daily plan) is faster. If your work is document-heavy, a docs tool with task-tracking sidebars (like Notion) fits better. If you genuinely have task dependencies that block other tasks, a Gantt view tells you something a kanban board can't.

How GritShip handles this

GritShip's default view is a kanban board, with drag-and-drop powered by @atlaskit/pragmatic-drag-and-drop and ordering done via fractional indexing so concurrent drags from multiple teammates don't conflict. Drag interactions feel sub-50ms because the store updates optimistically and syncs to the database in the background.

Looking for a tool that respects these concepts?

GritShip is project management for developers who'd rather ship than configure.

Try GritShip free →