Class 33 of 50 • GitHub Platform

GitHub Issues & Projects: Bug Tracking, Kanban Boards & Agile Milestones

Writing software requires disciplined task management. Great software engineering teams don't scatter bug reports across emails and chat messages; they track bugs, user stories, and release sprints directly inside GitHub Issues and GitHub Projects.

1. Tracking Work with GitHub Issues

Every repository comes with a built-in issue tracker. Issues act as collaborative discussion threads for:

  • Bug Reports: Describing reproducible software defects.
  • Feature Requests: Proposing architectural enhancements and new capabilities.
  • Task Checklists: Breaking down large development goals into bite-sized actionable items.

Organizing with Labels and Assignees

GitHub provides color-coded labels to classify issues at a glance:

  • bug: Something isn't working properly.
  • enhancement: New feature or optimization request.
  • documentation: Improvements or additions to documentation.
  • good first issue: Beginner-friendly tasks ideal for new contributors.
  • help wanted: Tasks where the core maintainers need community assistance.

2. Managing Sprints with Milestones

Milestones group related issues and pull requests toward an explicit target date or release version (e.g. "Sprint 14" or "v2.0 Beta Release"). Milestones display a dynamic progress bar showing the percentage of closed vs open tasks.

3. Modern Agile Workflows with GitHub Projects

GitHub Projects provides flexible, interactive Kanban boards and spreadsheet tables powered by GitHub's GraphQL database:

  • Board View (Kanban): Traditional cards arranged across columns: To Do → In Progress → In Review → Done.
  • Automated Workflows: Automatically move cards to "In Review" when a PR opens, and to "Done" when the PR merges into main!
  • Custom Fields: Add custom metadata fields like Priority (Urgent/Medium/Low), Story Points, and Target Sprint.

Standardizing Issues with Issue Forms

To prevent lazy bug reports lacking reproduction steps, create issue templates in YAML inside .github/ISSUE_TEMPLATE/bug_report.yml. GitHub will render an interactive web form with required input fields for browser version, steps to reproduce, and console logs!

Explore Related Git & GitHub Tutorials & Next Steps

Strengthen your version control mastery by studying these connected classes:

Pull Requests & Issue Linking

Automatically close issues when PRs merge using keywords like 'Fixes #42'.

GitHub Platform Features

Organize tasks with milestones, labels, assignments, and Kanban project boards.

Markdown for Issue Templates

Design issue and PR templates using GitHub Flavored Markdown and YAML.

Agile Workflow & Trunk Development

Map GitHub Project boards to Agile sprints, epics, and continuous releases.

Frequently Asked Questions (FAQ) - Student & Interview Review

Yes! Simply include `#` followed by the issue number, e.g.: `git commit -m 'fix(login): resolve session timeout bug (#84)'`. GitHub will automatically link the commit to issue #84.
Issues are actionable, trackable tasks that must be resolved and closed (e.g. bugs and feature implementations). Discussions are open-ended forums for Q&A, community brainstorming, and architectural polls that don't represent a specific task.
Project boards can have independent visibility settings when configured under a GitHub Organization.

Next Step in Your Git & GitHub Learning Path:

Advance your software engineering skills with the next topic in our synchronized curriculum.

Continue to Markdown & README → Previous: ← Fork & Sync Workflow | Full Syllabus

Share Share on Facebook Share on Twitter Share on LinkedIn Pin on Pinterest Share on Reddit

You may also like this!