Kanban for GitHub: A Practical B2B Workflow Guide

Your team probably already has a kanban board. The problem is that it lives somewhere other than the code.

Product asks sit in Jira. Bugs land in Slack. Engineers work in GitHub. Client-facing updates end up in a spreadsheet or a project channel. Then someone spends part of every day translating reality from one tool into another.

That translation layer is where B2B teams lose speed. Tickets go stale. Pull requests move faster than project boards. Managers think something is blocked when it was shipped yesterday. Developers stop trusting the board because keeping it current feels like admin work instead of delivery work.

Kanban for GitHub works best when you stop treating it like a visual checklist and start treating it like the operating layer for work that already lives in repositories, issues, and pull requests.

Escaping the Chaos of Disconnected Tools

A common pattern shows up in growth-stage SaaS teams.

Sales flags a customer issue. A PM turns it into a task in one tool. An engineer opens a branch in GitHub. A reviewer comments in a pull request. Nobody updates the original card until the standup. By then, the board is already behind.

This is not just messy. It changes behavior. When people know the board is unreliable, they stop using it to make decisions. They fall back to status meetings, DMs, and “quick checks” across multiple tools.

Where the friction originates

The pain is rarely the board itself. The pain is the gap between project tracking and execution.

Teams usually feel it in a few places:

  • Stale status: Work is active in GitHub, but the card still says “To Do.”
  • Double entry: Someone has to update a task manually after opening a pull request or merging code.
  • Split visibility: Product managers look at one system. Engineers look at another.
  • Context switching: Every status check requires bouncing between tools.

For B2B and agency teams, this gets worse when client delivery, bug fixes, and internal improvements all compete on the same week. Tool sprawl makes prioritization harder because no one sees the same queue in the same place.

A lot of teams reach this point and start comparing project tools again. That can help, but often the bigger win is reducing the number of handoffs in the first place. If you are evaluating where your process is breaking down, this workflow management comparison is a useful frame for spotting overlap and redundant admin: https://makeautomation.co/workflow-management-software-comparison/

Why GitHub Projects changes the equation

GitHub’s own documentation confirms that Projects can be customized across kanban boards, tables, and roadmaps, and those views stay synchronized with GitHub’s native data. It also supports automated workflows where column fields are tied to status values, so drag-and-drop updates item metadata inside the same system where the work is happening: https://docs.github.com/en/issues/planning-and-tracking-with-projects

That matters more than many teams expect.

When issues, pull requests, and board state all live together, the board stops being a reporting artifact. It becomes the working system. That creates a single source of truth for engineering and operations, and it cuts a large amount of avoidable context switching.

If your team has to “remember to update the board,” the system is already asking for too much manual discipline.

Laying the Foundation with Your First Project

The first setup decision matters because it shapes whether your board becomes lightweight and useful or bloated and ignored.

For most software teams, the best starting point is Automated Kanban rather than a blank project. You want a board that assumes movement will come from repository activity, not from somebody dragging cards around all day.

A person pointing at a Kanban board on a computer screen displaying various project management tasks.

Start with a board that matches delivery work

GitHub Projects allows teams to create automated workflows by setting column fields to custom status values, which means dragging a card can update its metadata automatically. GitHub also notes that teams using these boards report better visibility, stronger collaboration, and improved workload management: https://docs.github.com/en/issues/planning-and-tracking-with-projects

That sounds simple, but the implication is bigger than it looks. You are not creating a visual layer on top of work. You are defining the status model that the work itself will use.

If your team is new to the discipline behind flow-based planning, this overview of Kanban methodology gives helpful context on why limiting and visualizing work improves execution.

A practical first setup

Use this sequence for your first project:

  1. Create a new GitHub Project
    Pick the kanban-style template with automation built in rather than starting from scratch.

  2. Connect the project to the repository that contains the work
    This keeps issues, pull requests, and board activity tied together from day one.

  3. Add a small set of active issues
    Do not bulk import your entire backlog on day one. Start with current work so the team can build trust in the board.

  4. Use the default board briefly
    Let the team move a few items through the basic flow before customizing everything.

  5. Confirm the drag-and-drop behavior
    Make sure status changes reflect the workflow you intend before adding more fields and views.

What to avoid in week one

Most failed migrations share the same mistakes.

Decision What works What fails
Starting scope Active work only Importing every old request
Status model Simple and observable Ten columns nobody can define
Ownership One ops or PM lead sets standards Everyone customizes independently
Board purpose Operational source of truth Secondary board for reporting

A lot of teams overcomplicate the first board because they are trying to preserve every quirk from the previous tool. Resist that. Build the smallest useful system first.

If your team is coming from Jira and still thinking in Jira terms, this migration-oriented primer helps translate habits without dragging old complexity into GitHub: https://makeautomation.co/jira-training-for-beginners/

The best first GitHub board is not the most detailed one. It is the one your team can trust by the end of the week.

Mapping Your True Workflow with Columns and Fields

The default “To Do, In Progress, Done” layout is enough to prove GitHub Projects works. It is not enough to run a serious B2B software workflow.

A useful board mirrors how work moves from request to release. If your board hides review, QA, or staging behind one generic status, it stops telling the truth. Then people compensate with comments, side messages, and meetings.

A computer monitor displaying a project management kanban board with tasks arranged in vertical workflow columns.

Build columns around handoffs

For most SaaS teams, a stronger starting flow looks like this:

  • Backlog for captured work that is not ready yet
  • Ready for Dev for refined issues with enough context to start
  • In Progress for active implementation
  • In Review for pull request and reviewer activity
  • QA or Staging for validation before release
  • Done for completed and verified work

That layout does two useful things.

First, it exposes where work is waiting. Second, it separates “someone started this” from “the business can rely on this.” Those are not the same status.

A support-heavy agency might swap in columns like “Client Approval” or “Needs Clarification.” A platform team might need “Blocked” as a filtered view rather than a main column. The principle stays the same. Columns should represent meaningful transitions in value delivery, not every tiny internal action.

Use fields to make the board operational

Columns show movement. Fields make the board usable.

The fields that usually matter most are:

  • Priority
    Use a short scale such as P0, P1, P2. Keep it simple enough that people can apply it consistently.

  • Effort
    Story points, T-shirt size, or another lightweight estimate. This is less about precision and more about spotting oversized work.

  • Work type
    Bug, feature, enhancement, documentation, tech debt. This helps separate reactive work from planned delivery.

  • Assignee
    Useful for personal views, but not enough by itself to manage flow.

  • Epic or initiative
    Connects day-to-day issues to larger roadmap work.

  • Customer impact or account
    Especially useful for B2B teams handling enterprise requests or client-specific commitments.

GitHub’s broader kanban best practices emphasize consistent labeling, work-in-progress limits, and built-in analytics for productivity and workflow efficiency: https://github.com/kanboard/kanboard

That is why labels and custom fields should work together. Labels are flexible. Fields are structured. Use labels for categorization and fields for sorting, filtering, and reporting.

A field design that usually works

Here is a practical setup for fast-moving teams:

Field Recommended use Why it matters
Status Board columns Drives visible flow
Priority P0 to P2 Forces trade-offs
Type Bug, Feature, Docs, Debt Helps capacity planning
Effort Small, Medium, Large Flags work that should be split
Initiative Product area or epic Preserves roadmap context

If the team has to click into every card to understand urgency, ownership, and business relevance, the board is under-designed.

Map the process before you customize the board

The cleanest boards come from teams that map the workflow before they touch fields and statuses.

This process-mapping guide is a useful reference if your current delivery path exists mostly in people’s heads rather than in a documented operating flow: https://makeautomation.co/business-process-mapping-techniques/

One warning from practice. Teams often create too many fields because GitHub lets them. That leads to incomplete cards and weak reporting.

Keep only the fields that support one of these decisions:

  • Should we start this now?
  • Who owns this next?
  • Why is this blocked?
  • How does this relate to a bigger outcome?

If a field does not improve one of those decisions, remove it.

Putting Your Board on Autopilot with Automation

A GitHub board becomes valuable when it updates itself from the same events your developers already trigger.

Manual drag-and-drop has its place. It is useful for triage, planning, and exceptions. It should not be the primary engine of status movement. If it is, your board will drift behind reality.

Infographic

Use native automation first

GitHub’s Automated Kanban with Review template uses native rules to move cards based on repository events, and teams using it with full pull-request integration typically reduce project status update time by 40-60% compared to manual board management: https://www.youtube.com/watch?v=rwwqEIVyEU4

That is the practical reason to begin with native automation. It removes a category of repetitive admin that nobody wants to own.

A simple set of rules usually gets you most of the value:

  • New issue added
    Send it to Backlog or Ready for Dev.

  • Branch or active development begins
    Move the item into In Progress.

  • Pull request opens
    Move the item into In Review.

  • Pull request merges
    Move the item into Done, or into QA if your release path requires validation first.

These automations matter because they are tied to repository behavior. The board updates when the work changes state, not when someone remembers to clean up the board.

Where GitHub Actions helps

Native project workflows handle the obvious transitions. GitHub Actions helps when your process has extra rules.

Useful examples include:

  • Reviewer assignment by file path
    Frontend changes route to the frontend reviewer set. Infrastructure changes route elsewhere.

  • Label enforcement
    Pull requests without a linked issue or a required label can be flagged for cleanup.

  • Notifications
    Post a Slack update when a high-priority issue enters review or when a release-critical fix lands in Done.

  • Governance checks
    Require the issue link, template completion, or specific approvals before status changes are considered complete.

Here, the board starts acting less like a project tracker and more like a workflow system.

For teams thinking beyond task movement and into broader workflow automation, the key mindset is the same. Let systems react to events so people can focus on exceptions and decisions.

A quick visual walkthrough can help your team understand how this looks in practice:

Native rules versus custom workflows

Not every team needs the same level of automation.

Need Best fit Why
Basic issue movement Native GitHub Project workflows Fastest to configure
PR-driven status changes Native automation Closest to delivery events
Conditional reviewer or label logic GitHub Actions More control
Cross-tool syncing Usually external automation or API work GitHub guidance is limited here

That last row matters. Native GitHub automation is strong inside GitHub. It is less clearly documented once you need to sync board activity with CRMs, client systems, or outbound operations platforms.

What works and what usually breaks

The strongest automation patterns share a few characteristics:

  • They are event-driven
    A real action happened in the repo, so the board reflects it.

  • They are easy to audit
    Anyone can see why an item moved.

  • They preserve human judgment
    Automation handles status movement. People still decide priority, scope, and release timing.

The weak patterns usually look different:

  • Statuses move because of arbitrary timers.
  • Cards jump columns without a linked issue or pull request.
  • Multiple automations overlap and create confusing board behavior.
  • The board becomes so clever that nobody understands it.

Good automation removes manual updates. Bad automation hides the process.

The right goal is not to automate everything. It is to automate the transitions that are already deterministic.

Tracking Performance with WIP Limits and Metrics

Once the board reflects reality, it can start improving reality.

Many teams use kanban boards for visibility first. Mature teams use them to spot where work slows down, where review queues pile up, and where context switching is hurting throughput.

A computer monitor displaying a Velocity dashboard with project metrics, WIP limits, and bottleneck analysis for teams.

WIP limits are where discipline starts

Work in Progress limits force the team to finish before starting more.

That sounds restrictive until you see the alternative. Guidance on GitHub-based kanban practice notes that teams without WIP limits often experience “Kanban drift,” where boards accumulate 40-70% stale cards, while teams reaching 3-5 day average cycle times typically operate at a 70-80% card completion rate per sprint: https://cursa.app/en/page/project-management-with-kanban-on-github

Those numbers align with what ops leaders see in the field. Too much parallel work creates hidden queues, slower reviews, and half-finished tasks everywhere.

A practical approach is to apply WIP limits to the columns where delay hurts most:

  • In Progress
    Prevents engineers from splitting attention across too many active tasks.

  • In Review
    Exposes review bottlenecks quickly.

  • QA or Staging
    Shows when validation is becoming the release constraint.

Read the board like a diagnostic tool

The board tells you more than whether work is moving.

Look for patterns such as:

Signal What it usually means
In Review keeps growing Review capacity is too thin or PRs are too large
Ready for Dev stays empty Planning and refinement are too weak
Too many aging items in progress Work is oversized or priorities keep shifting
Done spikes at the end of a sprint The team is batching completion instead of maintaining flow

GitHub’s analytics and insights features can support this kind of reading when your fields and statuses are consistent. If the underlying data is messy, the charts will be messy too.

Metrics worth discussing with the team

You do not need a huge dashboard. You need a few measures people can act on.

Focus on:

  • Cycle time
    How long work takes from start to finish.

  • Throughput
    How many items the team completes in a period.

  • Blocked duration
    How long issues sit without progress.

  • Review queue health
    Whether pull-request review is becoming the choke point.

If a metric cannot trigger a decision, it is probably vanity reporting.

The board should help the team ask better questions. Why is review backing up? Why are bugs skipping refinement? Why are high-priority tasks entering the system without enough detail?

Those questions improve delivery far more than adding another dashboard widget.

Integrating Kanban into Your Team Culture

A board does not fix behavior on its own. Teams do.

The shift that makes kanban for GitHub stick is cultural. The team has to treat the board as the shared operational view of work, not as a side artifact maintained for management. Once that happens, meetings get shorter and status conversations get sharper.

Run rituals from the board, not around it

Daily standups work better when the team reviews the board from right to left.

Start with Done or QA, then In Review, then In Progress. That keeps attention on finishing work and unblocking delivery instead of celebrating new starts. It also surfaces bottlenecks fast. If review is full, starting another task is usually the wrong answer.

Custom views also matter. Developers need a “My open work” view. PMs need a high-priority and blocked-items view. Support or client delivery leads may need a bugs-by-account or release-risk view. Same project, different slices.

Use retrospectives to improve flow, not just discuss feelings

The board should feed your retrospective with observable patterns.

Discuss questions like:

  • Which column became the bottleneck most often?
  • What kind of work bypassed normal flow?
  • Which labels or fields were ignored?
  • Where did handoffs create confusion?

Those conversations are better than generic retros because they are tied to visible system behavior.

The board should answer “what happened” so the meeting can focus on “what should change.”

Be realistic about external integrations

There is still a limitation for B2B operations teams. Guidance on connecting GitHub Kanban with third-party tools such as Zapier or Make is minimal, and that creates friction for teams that need project data to flow into CRMs or client management systems: https://edrawmind.wondershare.com/task-management/github-kanban.html

That gap matters if your delivery workflow intersects with sales, onboarding, account management, or support.

In practice, teams usually handle it one of three ways:

  • Keep GitHub as the engineering source of truth
    Then sync only milestone updates outward.

  • Use lightweight manual checkpoints
    This works when client updates need review anyway.

  • Build custom or semi-custom integrations
    Useful when account-specific development work must trigger actions in external systems.

The mistake is trying to fully mirror every state change across every tool. That usually creates more noise than value. Sync the events that matter to another team. Leave engineering-native detail in GitHub.

Kanban works when it becomes part of how the team thinks about flow, ownership, and completion. Once that happens, the board is no longer just a board. It is the operating picture everyone uses to decide what happens next.


If your team wants to turn GitHub Projects into a real operating system instead of another half-maintained board, MakeAutomation can help design the workflow, document the rules, and connect the process to the rest of your B2B operations. That includes project management systems, CRM handoffs, AI-supported workflows, and custom automation that reduces manual work without adding more tool sprawl.

author avatar
Quentin Daems

Similar Posts