GitHub Is Not Just for Code

Most people think of GitHub as a place to store repositories and review pull requests. But over the past few years, GitHub has evolved into a surprisingly capable project management platform. Issues, Projects, Milestones, and Discussions — combined — give you most of what you need to plan, track, and ship software without paying for a separate PM tool.

The advantage is obvious: your developers are already in GitHub. They create branches, write code, open pull requests, run CI, and merge — all inside GitHub. When your project management lives in the same place, there is no context switching, no sync overhead, and no "someone forgot to update the ticket" problem.

This guide walks you through how to set up a complete project management workflow using nothing but GitHub — and how to add Octoboard for the dashboard and metrics layer that GitHub itself does not provide.

GitHub Issues: Your Tickets

GitHub Issues are the foundation of your PM workflow. Each issue represents a unit of work — a feature, a bug, a task, a spike. Here is how to use them effectively:

Creating Good Issues

A well-written issue has a clear title, a description that explains the "why" and the "what," acceptance criteria, and relevant labels. Use markdown to structure your descriptions with headings, checklists, and code blocks.

Labels

Labels are your primary way to categorize issues. Create a consistent set that works for your team. Common patterns include:

Type: bug, feature, enhancement, chore, documentation
Priority: p0-critical, p1-high, p2-medium, p3-low
Status: needs-triage, in-progress, blocked, ready-for-review
Area: frontend, backend, infrastructure, api

Keep your label set manageable. Ten to fifteen labels is usually the sweet spot. More than that and people stop using them.

Assignees

Every issue should have an owner. Unassigned issues are issues nobody is working on. Make assignment part of your triage process — when an issue is prioritized, it gets an owner.

Issue Templates

Create templates for your most common issue types. A bug report template might include fields for steps to reproduce, expected behavior, and actual behavior. A feature request template might include user story format, acceptance criteria, and design considerations. Templates ensure consistency and reduce the "what should I put in here?" friction.

GitHub Milestones: Your Sprints and Releases

Milestones group related issues into time-boxed iterations or releases. Each milestone has a title, description, due date, and a list of associated issues. GitHub shows you the completion percentage based on how many issues are closed.

Use milestones for:

Sprints: Create a milestone for each sprint (e.g., "Sprint 14 — Apr 1-14"). Add the issues you plan to complete. Track completion as the sprint progresses.
Releases: Group all the issues that need to ship in a specific release. The milestone's completion percentage tells you how close you are.
Goals: For longer-term objectives, milestones give you a simple way to track progress toward a defined outcome.

GitHub Projects: Your Board Views

GitHub Projects (the newer "Projects V2") is where things get powerful. A project is a flexible, spreadsheet-like view of your issues and PRs that supports multiple layouts:

Board view: Kanban-style columns. Drag issues between Backlog, In Progress, In Review, and Done.
Table view: Spreadsheet-style rows with sortable and filterable columns.
Roadmap view: Timeline-based layout for planning longer-term work.

Custom Fields

Projects support custom fields — single select, text, number, date, and iteration. Use them for things like effort estimates, team assignments, or sprint numbers. Custom fields make your project views more useful without cluttering up the issue itself.

Automations

Set up built-in automations to reduce manual work. Common automations include: when an issue is added to the project, set its status to "Backlog." When a PR is opened, move the linked issue to "In Review." When a PR is merged, move the issue to "Done." These automations keep your board accurate without anyone needing to manually drag cards.

Org-Level Projects

Create your project at the organization level, not the repository level. This lets you pull issues from multiple repos into a single view — essential if your team works across more than one repository.

What GitHub Lacks: Dashboards, Metrics, and Risk Signals

GitHub's PM features are strong for day-to-day work management, but there are real gaps when it comes to visibility and measurement:

No delivery dashboards. You cannot see cross-repo progress at a glance. There is no single view that shows "how are we doing across all our projects?"
No DORA metrics. Deployment frequency, lead time, change failure rate, mean time to recovery — GitHub does not calculate any of these.
No cycle time tracking. How long does work take from assignment to merge? GitHub does not tell you.
No risk detection. Stale PRs, unassigned issues, at-risk milestones — there are no built-in alerts for these common problems.

This is where Octoboard comes in. Connect your GitHub org and Octoboard builds the dashboard layer on top — delivery progress, cycle time percentiles, DORA metrics, stale work detection, and AI-powered board summaries. It reads the data GitHub already has and turns it into actionable insights.

Step by Step: Set Up Your GitHub PM Workflow

1. Standardize your labels

Define a consistent label set across all your repos. Use a script or GitHub's label management to ensure every repo has the same labels with the same colors.

2. Create issue templates

Add templates for bugs, features, and tasks in each repo's .github/ISSUE_TEMPLATE directory. Include the fields your team needs and pre-apply relevant labels.

3. Set up an org-level project

Create a GitHub Project at the org level. Add board and table views. Configure columns for your workflow (Backlog, In Progress, In Review, Done). Enable automations.

4. Use milestones for sprints or releases

Create milestones with due dates. During planning, assign issues to the current milestone. Track completion through the sprint.

5. Connect Octoboard for visibility

Sign up at app.octoboard.io, connect your GitHub org, and you will have a delivery dashboard within minutes. Use it for standups, leadership updates, and spotting risks before they become problems.

Wrapping Up

GitHub has everything you need for day-to-day project management. Issues for tracking, Projects for board views, Milestones for sprints, and native code integration that no external tool can match. Add Octoboard on top for dashboards and metrics, and you have a complete PM stack that costs nothing and lives where your developers already work.

No Jira required. Here is why.

Add the dashboard layer to GitHub

Connect your GitHub org and get delivery visibility in minutes.