Try free
8 min read Guide 875 of 877

GitHub Sprint Planning Workflow

GitHub is where code lives, but sprint planning needs more structure than GitHub Projects provides. Connecting a dedicated sprint planning tool to GitHub gives teams the best of both worlds—agile planning with automatic development tracking when code is pushed.

GitHub + Sprint Planning Overview

GitHub ProvidesSprint Tool ProvidesIntegration Benefit
Code repositorySprint planningUnified workflow
PRs and reviewsVelocity trackingProgress visibility
IssuesStory pointsEstimation
Actions/CIBurndown chartsSprint health
BranchesCapacity planningResource management

Why GitHub Alone Isn't Enough

GITHUB PROJECTS LIMITATIONS
═══════════════════════════

WHAT GITHUB PROJECTS HAS:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ✅ Kanban boards                                           │
│  ✅ Issue tracking                                          │
│  ✅ Basic automation                                        │
│  ✅ Tight code integration                                  │
│  ✅ Free for public repos                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

WHAT GITHUB PROJECTS LACKS:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ❌ Sprint velocity tracking                                │
│  ❌ Burndown/burnup charts                                  │
│  ❌ Story point estimation (native)                         │
│  ❌ Sprint boundaries and goals                             │
│  ❌ Capacity planning                                       │
│  ❌ Cross-repo visibility                                   │
│  ❌ Time tracking                                           │
│  ❌ Client-facing dashboards                                │
│  ❌ Advanced reporting                                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

THE HYBRID APPROACH:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  GitScrum (Sprint Planning)    GitHub (Development)         │
│  ─────────────────────────     ────────────────────         │
│  • Backlog grooming            • Code repository            │
│  • Sprint planning             • Pull requests              │
│  • Velocity tracking           • Code reviews               │
│  • Story points                • CI/CD pipelines            │
│  • Burndown charts             • Branch management          │
│  • Time tracking               • Issue discussions          │
│                                                             │
│           │                           │                     │
│           └───────────┬───────────────┘                     │
│                       │                                     │
│                       ▼                                     │
│              AUTOMATIC LINKING                              │
│              ─────────────────                              │
│              Commits → Tasks                                │
│              PRs → Tasks                                    │
│              Status updates                                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Setting Up GitHub Integration

GITSCRUM + GITHUB SETUP
═══════════════════════

STEP 1: CONNECT GITHUB
─────────────────────────────────────
Project Settings → Integrations → GitHub

┌─────────────────────────────────────────────────────────────┐
│ GitHub Integration                                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ Status: ✅ Connected                                        │
│ Account: your-organization                                  │
│                                                             │
│ Repositories:                                               │
│ ☑ frontend-app                                             │
│ ☑ backend-api                                              │
│ ☑ mobile-app                                               │
│ ☐ infrastructure (not linked)                              │
│                                                             │
│ [Add Repository] [Refresh]                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

STEP 2: CONFIGURE COMMIT PARSING
─────────────────────────────────────
Settings → Git Integration → Commit Parsing

Patterns recognized:
├── [TASK-123] or [#123] in commit message
├── Closes #123 or Fixes #123
├── Branch name: feature/TASK-123-description
└── PR title: [TASK-123] Feature description

STEP 3: SET UP AUTOMATIONS
─────────────────────────────────────
Settings → Automations

Rules:
├── PR opened → Move task to "In Review"
├── PR merged → Move task to "Done"
├── CI failed → Add "needs-fix" label
└── Branch created → Move task to "In Progress"

Sprint Planning Workflow

GITHUB-INTEGRATED SPRINT PLANNING
═════════════════════════════════

BEFORE SPRINT:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  BACKLOG GROOMING (in GitScrum)                             │
│  ─────────────────────────────                             │
│  1. Review backlog items                                    │
│  2. Estimate with story points                              │
│  3. Add acceptance criteria                                 │
│  4. Prioritize by value                                     │
│                                                             │
│  SPRINT PLANNING (in GitScrum)                              │
│  ─────────────────────────────                             │
│  1. Check team capacity (40 pts available)                  │
│  2. Pull items into sprint                                  │
│  3. Set sprint goal                                         │
│  4. Assign initial owners                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

DURING SPRINT:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  Developer Workflow:                                        │
│  ─────────────────────                                     │
│                                                             │
│  1. Pick task from GitScrum board                          │
│     └── Task: [TASK-456] Add user authentication           │
│                                                             │
│  2. Create branch in GitHub                                 │
│     └── git checkout -b feature/TASK-456-auth              │
│                                                             │
│  3. Commit with task reference                              │
│     └── git commit -m "[TASK-456] Add login endpoint"      │
│                                                             │
│  4. Push and create PR                                      │
│     └── PR title: [TASK-456] User authentication           │
│                                                             │
│  5. GitScrum automatically:                                 │
│     ├── Links commits to task                              │
│     ├── Shows PR status on task                            │
│     ├── Moves task to "In Review"                          │
│     └── Updates burndown chart                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

TASK VIEW WITH GIT INFO:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│ [TASK-456] Add user authentication                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ Status: In Review                                           │
│ Assignee: Alice                                             │
│ Points: 5                                                   │
│                                                             │
│ GIT ACTIVITY:                                               │
│ ─────────────                                              │
│ Branch: feature/TASK-456-auth                               │
│                                                             │
│ Commits:                                                    │
│ ├── a1b2c3d [TASK-456] Add login endpoint                  │
│ ├── e4f5g6h [TASK-456] Add JWT token generation            │
│ └── i7j8k9l [TASK-456] Add password hashing                │
│                                                             │
│ Pull Request:                                               │
│ └── #234 User authentication ──── ⏳ Review pending        │
│     └── 2 approvals needed, 1 received                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Commit Message Best Practices

COMMIT MESSAGE FORMAT
═════════════════════

STANDARD FORMAT:
─────────────────────────────────────
[TASK-ID] Short description (50 chars max)

Longer explanation if needed. Wrap at 72 characters.
Explain what and why, not how.

- Bullet points are okay
- Keep it concise

EXAMPLES:
─────────────────────────────────────
Good:
├── [TASK-456] Add JWT authentication to API endpoints
├── [TASK-789] Fix null pointer in user service
├── [TASK-123] Refactor payment module for testability
└── Closes #234: Update dependencies for security patch

Bad:
├── Fixed stuff
├── WIP
├── Updates
└── asdfasdf

BRANCH NAMING:
─────────────────────────────────────
Pattern: type/TASK-ID-short-description

Examples:
├── feature/TASK-456-user-auth
├── bugfix/TASK-789-null-pointer
├── hotfix/TASK-999-security-patch
└── refactor/TASK-123-payment-module

Sprint Board with Git Status

INTEGRATED SPRINT BOARD
═══════════════════════

Sprint 14 Board View:
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  TO DO          IN PROGRESS      IN REVIEW       DONE       │
│  ──────         ───────────      ─────────       ────       │
│                                                             │
│  ┌─────────┐   ┌─────────┐     ┌─────────┐    ┌─────────┐  │
│  │TASK-458 │   │TASK-456 │     │TASK-455 │    │TASK-451 │  │
│  │Search   │   │Auth     │     │Profile  │    │Login UI │  │
│  │feature  │   │         │     │page     │    │         │  │
│  │         │   │🔀 3 commits│   │         │    │✅ Merged│  │
│  │3 pts    │   │⏳ PR open │   │🔀 PR #234│    │5 pts    │  │
│  └─────────┘   │5 pts    │     │✅ 2/2 rev│    └─────────┘  │
│                └─────────┘     │5 pts    │                  │
│  ┌─────────┐                   └─────────┘    ┌─────────┐  │
│  │TASK-460 │   ┌─────────┐                    │TASK-452 │  │
│  │Payment  │   │TASK-457 │                    │API docs │  │
│  │gateway  │   │Database │                    │         │  │
│  │         │   │migration│                    │✅ Merged│  │
│  │8 pts    │   │         │                    │2 pts    │  │
│  └─────────┘   │🔀 1 commit│                   └─────────┘  │
│                │⚠️ CI fail │                                │
│                │3 pts    │                                  │
│                └─────────┘                                  │
│                                                             │
│  Legend: 🔀 Git activity  ⏳ PR pending  ✅ Merged  ⚠️ Issue │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Velocity with GitHub Data

ENHANCED VELOCITY TRACKING
══════════════════════════

SPRINT METRICS (with GitHub data):
─────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│ Sprint 14 - Day 7 of 10                                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ DELIVERY METRICS                                            │
│ ────────────────                                           │
│ Points Committed:    42                                     │
│ Points Completed:    28                                     │
│ Points In Progress:  10                                     │
│ Burndown Status:     On Track ✅                           │
│                                                             │
│ DEVELOPMENT METRICS (from GitHub)                           │
│ ─────────────────────────────────                          │
│ Commits This Sprint: 89                                     │
│ PRs Merged:          12                                     │
│ PRs Open:            3                                      │
│ Avg PR Review Time:  4.2 hours                             │
│ CI Success Rate:     94%                                    │
│                                                             │
│ CORRELATION                                                 │
│ ───────────                                                │
│ Commits per Point:   3.2 (team average: 2.8)               │
│ → Slightly more commits than usual                         │
│ → May indicate complex tasks or refactoring                │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Best practices

  1. Always reference tasks - Include task ID in commits and PRs
  2. Use consistent naming - Branch and commit patterns
  3. Automate status updates - PR events move tasks automatically
  4. Review Git data in retros - Commits per point, PR review time
  5. Keep tasks atomic - One feature = one task = one PR
  6. Link PRs to tasks - Even for work not in commits
  7. Use sprint boundaries - Don't merge to main mid-sprint randomly
  8. Track CI status - Failed builds should alert task owners