Skip to content

Sprint Management

This guide covers everything you need to know about sprints in Gira - from creating time-boxed iterations to tracking progress and managing sprint completion.

Overview

Sprints in Gira represent time-boxed development cycles where teams focus on delivering specific work items. They provide structure for agile development practices and help teams maintain steady delivery cadence. Each sprint contains assigned tickets, progress tracking, and completion metrics.

Understanding Sprints

What is a Sprint?

A sprint is a time-boxed iteration that: - Has defined start and end dates (typically 1-4 weeks) - Contains a focused set of tickets to complete - Tracks progress through different swimlanes (todo, in progress, review, done) - Provides completion metrics and team velocity insights - Supports retrospective documentation for continuous improvement

Sprint Lifecycle

Sprints typically follow this lifecycle: 1. Planning - Create sprint and define goals 2. Active - Assign tickets and track daily progress
3. Review - Assess completion and outcomes 4. Retrospective - Document lessons learned 5. Closed - Archive completed work and plan next sprint

Sprint Structure

Each sprint contains: - Metadata: Title, dates, goals, and status - Ticket Assignment: Which tickets are planned for this sprint - Progress Tracking: Current status of each ticket - Retrospective Notes: Post-sprint analysis and improvements

Creating Sprints

Basic Sprint Creation

Create a simple sprint with required dates:

gira sprint create "July Development Sprint" --start-date 2025-07-15 --end-date 2025-07-29

This creates a sprint with: - Auto-generated ID (e.g., SPRINT-2025-07-15) - Planned status ready for activation - Empty ticket list ready for assignment - Basic metadata structure

Detailed Sprint Creation

Create a sprint with comprehensive planning details:

gira sprint create "Mobile App Performance Sprint" \
  --start-date 2025-07-15 \
  --end-date 2025-07-29 \
  --goal "Improve app load times by 50% and fix critical bugs"

Sprint Creation Options

  • NAME - Sprint name (positional argument, required)
  • --start-date YYYY-MM-DD - Sprint start date (defaults to today)
  • --end-date YYYY-MM-DD - Sprint end date (overrides duration)
  • --duration - Duration in days (default: 14, ignored if end-date provided)
  • --goal - Brief sprint objective
  • --quiet - Only output sprint ID

Best Practices for Sprint Creation

  1. Realistic Duration: 1-4 weeks depending on team and project
  2. Clear Goals: Define what success looks like
  3. Aligned Timing: Consider team availability and holidays
  4. Focused Scope: Avoid overcommitting on sprint content

Viewing and Listing Sprints

List All Sprints

View all sprints in your project:

gira sprint list

This shows: - Sprint ID and title - Start and end dates - Current status (active/completed) - Completion percentage - Number of assigned tickets

Filtered Sprint Lists

View only active sprints:

gira sprint list --status active

View completed sprints:

gira sprint list --status completed

Search sprints:

# Search by name or goal
gira sprint list --search "performance"

# Date range filtering
gira sprint list --after 2025-07-01 --before 2025-08-01

Sprint List Options

  • -q, --query - Query expression (e.g., 'status:active AND name:~"sprint"')
  • --status - Filter by status: planned, active, completed
  • --after - Show sprints starting after date (YYYY-MM-DD)
  • --before - Show sprints ending before date (YYYY-MM-DD)
  • --between - Show sprints within date range (YYYY-MM-DD,YYYY-MM-DD)
  • --format - Output format: table, json, yaml, csv, tsv, text, ids
  • --search - Search text in sprint fields

Viewing Sprint Details

Show Sprint Information

View complete sprint details:

gira sprint show SPRINT-2025-07-15

This displays: - Sprint metadata (title, dates, goal, status) - Progress summary (completion percentage, ticket counts) - Ticket list organized by swimlane (todo, in progress, review, done) - Timeline information (days remaining, elapsed time)

Sprint Show Options

  • --format - Output format: table, json, yaml, csv, tsv, text, ids
  • --json - Output as JSON (shorthand for --format json)
  • --tickets / --no-tickets - Show/hide tickets belonging to this sprint

Managing Sprint Content

Assigning Tickets to Sprints

Using Ticket Update Command

Assign existing tickets to a sprint:

gira ticket update PROJ-123 --sprint SPRINT-2025-07-15

Using Sprint Assign Command

Add multiple tickets to a sprint:

gira sprint assign SPRINT-2025-07-15 PROJ-123 PROJ-124 PROJ-125

Batch Assignment with Patterns

Use patterns for efficient assignment:

# Assign tickets matching a pattern
gira sprint assign SPRINT-2025-07-15 PROJ-1*

# Assign tickets in a range
gira sprint assign SPRINT-2025-07-15 PROJ-1..10

Sprint Progress Management

Moving Tickets Through Workflow

Move sprint tickets through their workflow using the standard ticket commands:

# Move ticket from todo to in progress
gira ticket move PROJ-123 in_progress

# Move ticket to review
gira ticket move PROJ-123 review

# Complete ticket
gira ticket move PROJ-123 done

Viewing Sprint Progress

Track progress of all tickets in a sprint:

# View sprint details with ticket status
gira sprint show SPRINT-2025-07-15

# View sprint tickets on the board
gira board --in-sprint SPRINT-2025-07-15

# List all tickets in a sprint
gira ticket list --in-sprint SPRINT-2025-07-15

Removing Tickets from Sprints

Remove tickets that are no longer needed:

gira sprint unassign SPRINT-2025-07-15 PROJ-123

Or use ticket update to clear the sprint assignment:

gira ticket update PROJ-123 --sprint none

Sprint Progress Tracking

Understanding Progress Metrics

Sprint progress is calculated using: - Completion Percentage: (Done tickets / Total tickets) × 100 - Velocity: Story points completed per sprint - Burndown: Remaining work over time - Swimlane Distribution: Tickets in each stage

Viewing Progress

Check current sprint progress using sprint show:

gira sprint show SPRINT-2025-07-15

View ticket status distribution:

gira ticket list --in-sprint SPRINT-2025-07-15 --counts

Progress Tracking Best Practices

  1. Daily Updates: Move tickets between swimlanes as work progresses
  2. Realistic Estimates: Avoid overcommitting to sprint content
  3. Regular Reviews: Check progress multiple times per sprint
  4. Adjust Scope: Remove tickets if sprint becomes overloaded

Sprint Workflows

Sprint Planning Workflow

  1. Create Sprint: Define dates and goals

    gira sprint create "Q3 Performance Sprint" --start-date 2025-07-15 --end-date 2025-07-29 --goal "50% performance improvement"
    

  2. Assign Tickets: Add planned work to sprint

    gira sprint assign SPRINT-2025-07-15 PERF-001 PERF-002
    

  3. Activate Sprint: Start the sprint

    gira sprint start SPRINT-2025-07-15
    

Daily Sprint Management

# View current sprint status
gira sprint show SPRINT-2025-07-15

# Move tickets as work progresses
gira ticket move PERF-001 in_progress

# Check tickets on sprint board
gira board --in-sprint SPRINT-2025-07-15

Sprint Completion Workflow

  1. Review Completion: Check final progress

    gira sprint show SPRINT-2025-07-15
    

  2. Handle Unfinished Work: Unassign incomplete tickets

    gira sprint unassign SPRINT-2025-07-15 UNFINISHED-001
    

  3. Close Sprint: Mark as completed

    gira sprint close SPRINT-2025-07-15
    

Sprint Closure and Retrospectives

Closing Sprints

Complete a sprint when the time period ends:

gira sprint close SPRINT-2025-07-15

Sprint Closure Options

  • --retrospective / --no-retrospective - Include/exclude retrospective (default: include)
  • --git / --no-git - Stage the sprint move using 'git mv'

Sprint Retrospectives

Add retrospective notes after closure by viewing and editing the sprint:

# Close sprint with retrospective enabled (default)
gira sprint close SPRINT-2025-07-15

# The retrospective can be added through comments or updates
# Check the completed sprint for retrospective options
gira sprint show SPRINT-2025-07-15

Retrospective Best Practices

  1. Document Lessons: Capture what worked and what didn't
  2. Actionable Items: Create specific improvement tasks
  3. Team Input: Include perspectives from all team members
  4. Continuous Improvement: Apply learnings to future sprints

Integration with Board and Tickets

Sprint-Filtered Board View

View kanban board filtered by sprint:

gira board --in-sprint SPRINT-2025-07-15

Sprint-Based Reporting

List all tickets in a sprint:

gira ticket list --in-sprint SPRINT-2025-07-15

Filter epics by searching for sprint references:

gira epic list --search "SPRINT-2025-07-15"

Best Practices

Sprint Planning

  1. Capacity Planning: Consider team availability and commitments
  2. Story Sizing: Use consistent estimation methods
  3. Goal Alignment: Ensure sprint goals support larger objectives
  4. Buffer Time: Leave room for unexpected work and bugs

Sprint Execution

  1. Daily Standups: Regular progress check-ins and blockers
  2. Continuous Updates: Keep ticket statuses current
  3. Scope Management: Avoid adding work mid-sprint
  4. Quality Focus: Don't sacrifice quality for velocity

Sprint Metrics

  1. Velocity Tracking: Monitor story points completed per sprint
  2. Completion Trends: Track percentage of committed work completed
  3. Cycle Time: Measure how long tickets take to complete
  4. Retrospective Actions: Follow up on improvement commitments

Common Workflows

Agile Team Sprint Cycle

# Sprint planning meeting
gira sprint create "Sprint 24" --start-date 2025-07-15 --end-date 2025-07-29
gira sprint assign SPRINT-24 FEAT-001 FEAT-002

# Daily standup check
gira sprint show SPRINT-24
gira ticket move FEAT-001 in_progress

# Sprint review and retrospective
gira sprint show SPRINT-24
gira sprint close SPRINT-24

Solo Developer Workflow

# Personal sprint for focused work
gira sprint create "Focus Week" --start-date 2025-07-15 --end-date 2025-07-22
gira sprint assign FOCUS-WEEK TASK-001 TASK-002

# Track personal progress
gira sprint show FOCUS-WEEK
gira board --in-sprint FOCUS-WEEK

Project Milestone Tracking

# Create milestone-focused sprint
gira sprint create "Version 1.0 Release" --start-date 2025-07-15 --end-date 2025-08-15 --goal "Production-ready v1.0"
gira sprint assign V1-RELEASE RELEASE-001 RELEASE-002

# Monitor release progress
gira sprint show V1-RELEASE
gira epic list --search "V1-RELEASE"

Troubleshooting

Common Issues

Sprint shows incorrect progress - Verify ticket statuses are up to date - Check that tickets are properly assigned to sprint - Ensure swimlane movements are being tracked

Cannot assign ticket to sprint - Verify sprint ID exists: gira sprint show SPRINT-ID - Check ticket ID is valid: gira ticket show TICKET-ID - Use either gira sprint assign or gira ticket update --sprint

Sprint closure fails - Check for active tickets that need resolution - Unassign incomplete tickets from sprint first - Ensure all tickets are in appropriate status

Performance with Large Sprints

For sprints with many tickets (30+): - Consider breaking into smaller, focused sprints - Use epic organization within sprints - Regular progress reviews to maintain focus - Clear swimlane management for visibility

Sprint History and Reporting

View historical sprint data:

# All completed sprints
gira sprint list --status completed

# Sprint data in JSON format for analysis
gira sprint list --format json --status completed

See Also