Try free
12 min read Guide 118 of 877

Preparing Teams for Release Cycles

Release cycles require careful coordination between development, QA, and operations teams to ensure features ship reliably without disrupting ongoing sprint work. GitScrum's milestone tracking, sprint planning, and cross-team visibility features help teams prepare for releases methodically, tracking what's included, what's tested, and what's ready for deployment.

Release Planning Structure

Organizing Releases

RELEASE ORGANIZATION IN GITSCRUM:
┌─────────────────────────────────────────────────────────────┐
│ STRUCTURING RELEASE WORK                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ MILESTONE APPROACH:                                         │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Create milestone for each release:                      ││
│ │                                                         ││
│ │ Milestone: v2.5.0                                       ││
│ │ Target date: January 15                                 ││
│ │ Description: Q1 feature release                         ││
│ │                                                         ││
│ │ Attach tasks to milestone:                              ││
│ │ • All feature tasks for this release                    ││
│ │ • Bug fixes committed to this version                   ││
│ │ • Documentation updates                                 ││
│ │ • Release preparation tasks                             ││
│ │                                                         ││
│ │ View progress:                                          ││
│ │ Milestone shows: 34/48 tasks complete (71%)             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ RELEASE BOARD:                                              │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Create separate board for release view:                 ││
│ │                                                         ││
│ │ ┌──────────┬──────────┬──────────┬──────────┬─────────┐││
│ │ │In Dev    │In Review │In QA     │Staged    │Released │││
│ │ ├──────────┼──────────┼──────────┼──────────┼─────────┤││
│ │ │ ┌─────┐  │ ┌─────┐  │ ┌─────┐  │ ┌─────┐  │ ┌─────┐ │││
│ │ │ │Auth │  │ │Cart │  │ │Pay  │  │ │Search│  │ │Dash │ │││
│ │ │ │v2.5 │  │ │v2.5 │  │ │v2.5 │  │ │v2.5  │  │ │v2.4 │ │││
│ │ │ └─────┘  │ └─────┘  │ └─────┘  │ └─────┘  │ └─────┘ │││
│ │ └──────────┴──────────┴──────────┴──────────┴─────────┘││
│ │                                                         ││
│ │ Filter by milestone to see only release items           ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ LABELS FOR RELEASE TRACKING:                                │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ release/v2.5.0      (blue) - tagged for this release    ││
│ │ release/blocked     (red) - blocking release            ││
│ │ release/nice-to-have (gray) - can slip if needed        ││
│ │ release/must-have   (orange) - required for release     ││
│ │ release/docs-needed (yellow) - needs documentation      ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Release Checklist

Pre-Release Tasks

RELEASE PREPARATION CHECKLIST:
┌─────────────────────────────────────────────────────────────┐
│ TASKS BEFORE DEPLOYMENT                                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ CREATE RELEASE CHECKLIST TASK:                              │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Task: Release v2.5.0 Preparation                        ││
│ │ Assignee: Release Manager                               ││
│ │ Due: Jan 14 (day before release)                        ││
│ │                                                         ││
│ │ Subtasks:                                               ││
│ │ □ Code freeze announced                                 ││
│ │ □ All PRs merged to release branch                      ││
│ │ □ QA sign-off received                                  ││
│ │ □ Staging deployment tested                             ││
│ │ □ Release notes drafted                                 ││
│ │ □ Rollback plan documented                              ││
│ │ □ Monitoring alerts configured                          ││
│ │ □ Stakeholders notified of release window               ││
│ │ □ Support team briefed on new features                  ││
│ │ □ Database migrations reviewed                          ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ TIMING:                                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ T-7 days: Feature freeze                                ││
│ │ • No new features added                                 ││
│ │ • Only bug fixes and polish                             ││
│ │                                                         ││
│ │ T-5 days: Code freeze                                   ││
│ │ • Only critical bug fixes                               ││
│ │ • Create release branch                                 ││
│ │                                                         ││
│ │ T-3 days: Staging deployment                            ││
│ │ • Full QA pass on staging                               ││
│ │ • Performance testing                                   ││
│ │                                                         ││
│ │ T-1 day: Final checks                                   ││
│ │ • Smoke tests pass                                      ││
│ │ • All blockers resolved                                 ││
│ │ • Go/no-go decision                                     ││
│ │                                                         ││
│ │ T-0: Release                                            ││
│ │ • Deploy to production                                  ││
│ │ • Monitor for issues                                    ││
│ │ • Announce completion                                   ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Feature Tracking

What's In This Release

TRACKING RELEASE CONTENTS:
┌─────────────────────────────────────────────────────────────┐
│ RELEASE SCOPE MANAGEMENT                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ RELEASE NOTES DRAFT (NoteVault):                            │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ # Release v2.5.0 - January 15, 2025                     ││
│ │                                                         ││
│ │ ## New Features                                         ││
│ │ - **User Authentication Revamp** (GS-234)               ││
│ │   OAuth2 support for Google and GitHub login            ││
│ │ - **Enhanced Search** (GS-245)                          ││
│ │   Fuzzy search with typo tolerance                      ││
│ │ - **Export to PDF** (GS-251)                            ││
│ │   Download reports as PDF files                         ││
│ │                                                         ││
│ │ ## Improvements                                         ││
│ │ - Dashboard load time reduced by 40% (GS-267)           ││
│ │ - Mobile navigation redesigned (GS-289)                 ││
│ │                                                         ││
│ │ ## Bug Fixes                                            ││
│ │ - Fixed: Payment form validation on Safari (GS-301)     ││
│ │ - Fixed: Timezone display in notifications (GS-298)     ││
│ │                                                         ││
│ │ ## Breaking Changes                                     ││
│ │ - API v1 deprecated, use v2 endpoints                   ││
│ │                                                         ││
│ │ ## Known Issues                                         ││
│ │ - Export may timeout for reports > 10,000 rows          ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ SCOPE CHANGES TRACKING:                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Original scope: 52 tasks                                ││
│ │                                                         ││
│ │ Removed from release:                                   ││
│ │ • GS-278: Dark mode (moved to v2.6)                     ││
│ │ • GS-290: Bulk actions (incomplete, v2.6)               ││
│ │                                                         ││
│ │ Added to release:                                       ││
│ │ • GS-312: Critical security patch (must-have)           ││
│ │                                                         ││
│ │ Final scope: 51 tasks                                   ││
│ │                                                         ││
│ │ Track changes in task comments or Discussions           ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

QA Coordination

Testing for Release

QA RELEASE TESTING:
┌─────────────────────────────────────────────────────────────┐
│ COORDINATING QA SIGN-OFF                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ TEST PLAN TASK:                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Task: v2.5.0 QA Test Plan                               ││
│ │                                                         ││
│ │ Test areas (subtasks):                                  ││
│ │ □ Authentication flows (new OAuth)                      ││
│ │ □ Search functionality (new fuzzy search)               ││
│ │ □ Export features (new PDF export)                      ││
│ │ □ Regression: Payment flows                             ││
│ │ □ Regression: User management                           ││
│ │ □ Performance: Dashboard load times                     ││
│ │ □ Cross-browser: Chrome, Firefox, Safari, Edge          ││
│ │ □ Mobile: iOS Safari, Android Chrome                    ││
│ │                                                         ││
│ │ Each subtask assigned to QA team member                 ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ BUG TRIAGE FOR RELEASE:                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Bugs found during release testing:                      ││
│ │                                                         ││
│ │ Classification:                                         ││
│ │ • BLOCKER: Cannot release until fixed                   ││
│ │   → Fix immediately, re-test, update release branch     ││
│ │                                                         ││
│ │ • CRITICAL: Significant issue, evaluate fix risk        ││
│ │   → If fix is safe: include in release                  ││
│ │   → If fix is risky: document, release anyway           ││
│ │                                                         ││
│ │ • MAJOR: Important but not blocking                     ││
│ │   → Add to next release backlog                         ││
│ │   → Document in known issues                            ││
│ │                                                         ││
│ │ • MINOR: Low impact                                     ││
│ │   → Add to backlog, address later                       ││
│ │                                                         ││
│ │ Label bugs with: release/v2.5.0-bug                     ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ SIGN-OFF PROCESS:                                           │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ QA Lead posts in Discussions:                           ││
│ │                                                         ││
│ │ "## QA Sign-Off: v2.5.0                                 ││
│ │                                                         ││
│ │ Testing complete: 2025-01-13                            ││
│ │                                                         ││
│ │ **Status: APPROVED FOR RELEASE**                        ││
│ │                                                         ││
│ │ Test Results:                                           ││
│ │ - 156 test cases executed                               ││
│ │ - 151 passed, 5 failed                                  ││
│ │ - 3 blockers found and fixed                            ││
│ │ - 2 known issues documented                             ││
│ │                                                         ││
│ │ Verified by: @qa-lead, @senior-qa"                      ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Communication Plan

Stakeholder Updates

RELEASE COMMUNICATION:
┌─────────────────────────────────────────────────────────────┐
│ KEEPING EVERYONE INFORMED                                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ INTERNAL COMMUNICATION:                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Slack/Teams/Discord channels:                           ││
│ │                                                         ││
│ │ #releases:                                              ││
│ │ • T-7: "Feature freeze for v2.5.0 starts tomorrow"      ││
│ │ • T-5: "v2.5.0 code freeze in effect"                   ││
│ │ • T-3: "v2.5.0 deployed to staging for final testing"   ││
│ │ • T-1: "v2.5.0 go/no-go decision: GO ✅"                ││
│ │ • T-0: "v2.5.0 deployment starting"                     ││
│ │ • T+1h: "v2.5.0 deployed successfully ✅"               ││
│ │                                                         ││
│ │ #engineering:                                           ││
│ │ • Technical details for engineers                       ││
│ │ • Migration steps if needed                             ││
│ │ • Rollback procedure reminder                           ││
│ │                                                         ││
│ │ #support:                                               ││
│ │ • New features summary for support team                 ││
│ │ • FAQ for common customer questions                     ││
│ │ • Known issues to watch for                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ EXTERNAL COMMUNICATION:                                     │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Customer-facing:                                        ││
│ │                                                         ││
│ │ • Changelog/Release notes (public)                      ││
│ │ • Blog post for major features                          ││
│ │ • Email to affected customers (breaking changes)        ││
│ │ • In-app notification for new features                  ││
│ │ • Status page update during deployment                  ││
│ │                                                         ││
│ │ Timing:                                                 ││
│ │ • Pre-release: Email about breaking changes (T-7)       ││
│ │ • Release day: Changelog published (T-0)                ││
│ │ • Post-release: Feature announcement (T+1)              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Rollback Planning

When Things Go Wrong

ROLLBACK PREPARATION:
┌─────────────────────────────────────────────────────────────┐
│ HAVING A SAFETY NET                                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ ROLLBACK PLAN (NoteVault):                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ # v2.5.0 Rollback Plan                                  ││
│ │                                                         ││
│ │ ## When to Rollback                                     ││
│ │ - Payment processing fails                              ││
│ │ - Error rate > 5%                                       ││
│ │ - Core feature completely broken                        ││
│ │ - Data integrity issues                                 ││
│ │                                                         ││
│ │ ## Rollback Steps                                       ││
│ │ 1. Announce rollback in #releases                       ││
│ │ 2. Deploy previous version (v2.4.3)                     ││
│ │    Command: `./deploy.sh rollback v2.4.3`               ││
│ │ 3. Revert database migrations (if applicable)           ││
│ │    Script: `./scripts/rollback-migration-v2.5.sh`       ││
│ │ 4. Verify rollback successful                           ││
│ │ 5. Update status page                                   ││
│ │ 6. Notify stakeholders                                  ││
│ │                                                         ││
│ │ ## Contacts                                             ││
│ │ - On-call: @devops-oncall                               ││
│ │ - Release manager: @maria                               ││
│ │ - Engineering lead: @carlos                             ││
│ │                                                         ││
│ │ ## Post-Rollback                                        ││
│ │ - Create incident task in GitScrum                      ││
│ │ - Schedule post-mortem                                  ││
│ │ - Update release timeline                               ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ PRE-RELEASE VERIFICATION:                                   │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Before every release, verify:                           ││
│ │                                                         ││
│ │ □ Rollback script tested in staging                     ││
│ │ □ Previous version artifacts available                  ││
│ │ □ Database rollback tested (if migrations exist)        ││
│ │ □ On-call team briefed on rollback procedure            ││
│ │ □ Monitoring configured for key metrics                 ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Post-Release

After Deployment

POST-RELEASE TASKS:
┌─────────────────────────────────────────────────────────────┐
│ WHAT HAPPENS AFTER RELEASE                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ IMMEDIATE (T+0 to T+24h):                                   │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ □ Monitor error rates and performance                   ││
│ │ □ Watch support channels for new issues                 ││
│ │ □ Respond to immediate customer feedback                ││
│ │ □ Close release milestone in GitScrum                   ││
│ │ □ Mark release tasks as complete                        ││
│ │ □ Archive release preparation tasks                     ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ SHORT-TERM (T+1 to T+7 days):                               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ □ Collect user feedback                                 ││
│ │ □ Address hotfix bugs (patch release if critical)       ││
│ │ □ Release retrospective meeting                         ││
│ │ □ Document lessons learned                              ││
│ │ □ Update process for next release                       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ RETROSPECTIVE QUESTIONS:                                    │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ What went well?                                         ││
│ │ • Deployment was smooth                                 ││
│ │ • QA testing caught 3 blockers early                    ││
│ │                                                         ││
│ │ What didn't go well?                                    ││
│ │ • Code freeze was extended 2 days                       ││
│ │ • Documentation wasn't ready                            ││
│ │                                                         ││
│ │ What will we do differently?                            ││
│ │ • Start docs earlier (add to sprint, not release)       ││
│ │ • Add buffer to code freeze                             ││
│ │                                                         ││
│ │ Create action items in GitScrum for improvements        ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘