- Introduced RELEASE_VISUAL_GUIDE.md for a visual overview of the release pipeline, including development, staging, and production phases. - Created RELEASE_WORKFLOW.md detailing step-by-step release procedures for single and multi-product releases, including hotfix processes. - Added VERSION_FILES_REFERENCE.md to outline all necessary version file updates for each product during releases, ensuring consistency and completeness.
14 KiB
Release Strategy - Complete Package Summary
Created: 2026-03-05
Status: Ready for Implementation
Document Set: Complete & Integrated
📚 What Was Created
A complete, production-ready release and tagging strategy for the KROW Workforce monorepo with 5 independent products.
Documents Included
1. RELEASE_STRATEGY.md 📖
Purpose: The canonical strategy document
Contents:
- Semantic versioning approach (SemVer)
- Git tag naming convention
- Release cadence (dev/staging/prod)
- Deployment dependency order
- Release checklist
- Protected tag rules
- Version file locations
- Rollback procedures
Audience: Technical leads, team members planning releases
Length: ~300 lines
Use When: Making strategic decisions about releases
2. RELEASE_WORKFLOW.md 🔧
Purpose: Step-by-step execution guide
Contents:
- Quick start release (single product)
- Multi-product coordinated release
- Hotfix procedure
- Useful git commands
- Automation scripts to create
- Release checklist template
Audience: Developers and release engineers executing releases
Length: ~400 lines
Use When: Actually performing a release
3. RELEASE_IMPLEMENTATION.md 🚀
Purpose: Setup and first-release guide
Contents:
- Phase 1: Initial setup (create baseline tags)
- Phase 2: GitHub configuration (branch protection)
- Phase 3: CI/CD integration
- Phase 4: Release documentation
- Phase 5: Team training
- Phase 6: First real release walkthrough
- Communication plan
- Troubleshooting
Audience: DevOps/Release engineering team
Length: ~500 lines
Use When: Setting up the release process for the first time
4. RELEASE_VISUAL_GUIDE.md 📊
Purpose: ASCII diagrams and visual references
Contents:
- Release pipeline overview (flowchart)
- Product dependency diagram
- Git tag timeline example
- Release branch structure diagram
- Multi-product release coordination
- Hotfix flow diagram
- Version matrix dashboard template
- Release timeline template
- Status page template
Audience: Everyone (visual learners, quick reference)
Length: ~400 lines
Use When: Understanding the flow, presentations, team communication
5. RELEASE_QUICK_REFERENCE.md 🎯
Purpose: One-page quick reference (print-friendly)
Contents:
- Quick commands
- Tag naming format
- Pre-tag checklist
- Quick release steps
- Version file locations
- Release timeline table
- Common tasks with code examples
- Deployment order
- Red flags to avoid
- Troubleshooting
Audience: All team members
Length: ~200 lines
Use When: Quick lookup while working
💡 Tip: Print this and pin to your desk!
6. VERSION_FILES_REFERENCE.md 📝
Purpose: Exact file locations and update instructions
Contents:
- Staff Mobile pubspec.yaml location
- Client Mobile pubspec.yaml location
- Web Dashboard package.json location
- Command API package.json location
- Core API package.json location
- DataConnect schema version (if applicable)
- CHANGELOG.md (all products)
- Release checklist per product
- Version update template script
- Common mistakes
- Pro tips
Audience: Developers doing version bumps
Length: ~350 lines
Use When: Updating version numbers for a release
🎯 How to Use This Package
For Your First Release
- Read RELEASE_STRATEGY.md (strategic overview)
- Follow RELEASE_IMPLEMENTATION.md (Phase 1-6 setup)
- Reference VERSION_FILES_REFERENCE.md (exact files to update)
- Execute RELEASE_WORKFLOW.md (step-by-step)
- Check RELEASE_VISUAL_GUIDE.md (understand the flow)
- Keep RELEASE_QUICK_REFERENCE.md handy
For Ongoing Releases
Quick path:
- RELEASE_QUICK_REFERENCE.md - Commands & checklist
- VERSION_FILES_REFERENCE.md - Which files to update
- RELEASE_WORKFLOW.md - Copy the relevant section
- RELEASE_VISUAL_GUIDE.md - Verify deployment order
For Team Training
- Share RELEASE_STRATEGY.md with team
- Show RELEASE_VISUAL_GUIDE.md diagrams
- Walk through RELEASE_WORKFLOW.md quick start
- Provide RELEASE_QUICK_REFERENCE.md as handout
- Reference VERSION_FILES_REFERENCE.md when needed
For CI/CD Setup
- Review automation sections in RELEASE_WORKFLOW.md
- Set up GitHub branch protection per RELEASE_IMPLEMENTATION.md
- Configure CodeMagic per RELEASE_STRATEGY.md
🏷️ Quick Reference: Tag Naming
Format: <product>/<environment>-v<version>
Staff Mobile Example: staff-mobile/prod-v1.0.0
Client Mobile Example: client-mobile/prod-v1.0.0
Web Dashboard Example: web-dashboard/staging-v0.1.0
Command API Example: command-api/dev-v0.2.0
Core API Example: core-api/prod-v0.1.0
Environments:
dev → Development releases (daily/weekly)
staging → Pre-production releases (bi-weekly)
prod → Production releases (monthly)
📊 Current Baseline Versions
Based on your repository state (2026-03-05):
| Product | Current Version | Status |
|---|---|---|
| Staff Mobile | 0.1.0 | Development |
| Client Mobile | 0.1.0 | Development |
| Web Dashboard | 0.0.0 | Pre-release |
| Command API | 0.1.0 | Development |
| Core API | 0.1.0 | Development |
Next Releases:
- Q1 2026: v0.2.0 (staging)
- Q2 2026: v1.0.0 (production)
🚀 Immediate Next Steps
This Week (2026-03-05)
- Read RELEASE_STRATEGY.md
- Review with team
- Get approval to proceed
Next Week (2026-03-08)
- Follow RELEASE_IMPLEMENTATION.md Phase 1-2
- Create initial dev tags (baseline v0.1.0)
- Configure GitHub branch protection for prod tags
- Train team on new process
Week of Release (2026-03-15)
- Plan first staging release (Staff Mobile v0.2.0)
- Update version all files per VERSION_FILES_REFERENCE.md
- Execute release using RELEASE_WORKFLOW.md
- Deploy to staging and test
Within 30 Days
- First production release (any product)
- Establish release cadence
- Document any customizations
- Refine process based on learnings
✅ Feature Checklist
This release strategy includes:
- ✅ Semantic Versioning (SemVer) - Industry standard
- ✅ Product-specific Tags - Independent version tracking
- ✅ Environment Separation - dev/staging/prod releases
- ✅ Dependency Management - Clear deployment order
- ✅ Rollback Procedures - Handling production issues
- ✅ Hotfix Process - Emergency fixes
- ✅ Branch Protection - GitHub security rules
- ✅ Documentation - Comprehensive guides
- ✅ Templates - Checklists and scripts
- ✅ Visual Diagrams - Process flows
- ✅ Quick Reference - Print-friendly guide
- ✅ Version File Map - Exact file locations
- ✅ Communication Plan - Stakeholder updates
- ✅ Team Training - Learning materials
- ✅ Automation Scripts - CI/CD integration
📋 File Structure
Repository Root
├── RELEASE_STRATEGY.md ← Strategic overview
├── RELEASE_WORKFLOW.md ← Step-by-step execution
├── RELEASE_IMPLEMENTATION.md ← Setup guide
├── RELEASE_VISUAL_GUIDE.md ← Diagrams & flows
├── RELEASE_QUICK_REFERENCE.md ← One-page reference
├── VERSION_FILES_REFERENCE.md ← File locations
│
├── CHANGELOG.md ← Version history (existing)
├── codemagic.yaml ← CI/CD config (existing)
│
└── apps/
├── mobile/
│ ├── apps/
│ │ ├── staff_app/pubspec.yaml ← Staff Mobile version
│ │ └── client_app/pubspec.yaml ← Client Mobile version
│ └── ...
│
└── web/
└── package.json ← Web Dashboard version
backend/
├── command-api/package.json ← Command API version
└── core-api/package.json ← Core API version
🔐 Security & Best Practices
Branch Protection
- Production tags (
prod-v*) require pull request review - Require status checks to pass
- Require branches up-to-date
- Prevent force pushes
Rollback Safety
- Always keep previous version available
- Test rollback procedure regularly
- Document rollback steps
- Communicate with users
Change Tracking
- CHANGELOG.md for all product updates
- Git history for code changes
- Tags for release checkpoints
- GitHub Releases for user communication
💡 Tips for Success
1. Start Small
Begin with a single product release (e.g., Staff Mobile v0.2.0) to practice the process.
2. Establish Rhythm
Consistent release cadence makes it easier for everyone:
- Dev: Weekly
- Staging: Bi-weekly
- Prod: Monthly
3. Automate Wisely
Start manual to understand the process, then automate repetitive tasks.
4. Communicate Early
Announce release plans before deployment, not after.
5. Monitor Actively
24-hour post-release monitoring catches issues early.
6. Document Learnings
Update these guides based on real experience with your releases.
🐛 Troubleshooting
I'm confused about which file to edit
→ See VERSION_FILES_REFERENCE.md
I need step-by-step release instructions
→ See RELEASE_WORKFLOW.md
I need git commands
→ See RELEASE_QUICK_REFERENCE.md
I need to understand the overall strategy
→ See RELEASE_STRATEGY.md
I need to set up the process for the first time
→ See RELEASE_IMPLEMENTATION.md
I need visual diagrams
→ See RELEASE_VISUAL_GUIDE.md
📞 Additional Resources
Related Documentation
- CHANGELOG.md - Current version history
- codemagic.yaml - CI/CD configuration
- docs/ARCHITECTURE/system-bible.md - System design
- README.md - Project overview
External References
👥 Team Roles
Release Manager
- Plans release schedule
- Creates tags
- Coordinates deployment
- Monitors post-release
Developers
- Ensure code is release-ready
- Update version files per checklist
- Update CHANGELOG
- Test releases
DevOps/Infrastructure
- Configure branch protection
- Set up CI/CD automations
- Deploy to environments
- Monitor infrastructure
Product Owner
- Approves staging releases
- Signs off before production
- Communicates with users
- Handles rollback decisions
QA Team
- Tests staged releases
- Verifies production deployments
- Reports issues
- Validates rollbacks
📊 Success Metrics
Track these metrics for each release:
- Lead Time: Time from commit to production
- Deployment Frequency: How often you release
- Change Failure Rate: % of releases needing rollback
- Mean Time to Recovery: Time to fix issues
- Automation Coverage: % of tasks automated
- User Adoption: % of users on latest version
- Issue Detection: Time from deployment to issue detection
🎓 Knowledge Sharing
For New Team Members
- Have them read RELEASE_STRATEGY.md
- Run through RELEASE_WORKFLOW.md together
- Have them perform a dev release under supervision
- Give them RELEASE_QUICK_REFERENCE.md as reference
For Leadership
Share RELEASE_VISUAL_GUIDE.md status page template to track releases across products.
For Stakeholders
Use templates provided to communicate:
- Release announcements
- Feature summaries
- Deployment windows
- Known issues
📅 Release Calendar Template
March 2026
┌─────────────────────────────────────┐
│ 01 (Sun) Code Freeze │
│ 05 (Thu) Staging Release (0.2.0) │
│ 08 (Sun) QA Complete │
│ 15 (Sun) Production Release │
│ 22 (Sun) Monitoring & Stability │
│ 29 (Sun) Next Cycle Begins │
└─────────────────────────────────────┘
Every Monday: Release Sync Meeting
Every Friday: Status Update
Rolling: Release documentation updates
✨ Next Phase
Once this strategy is implemented and proven with 2-3 releases:
- Automation: GitHub Actions to auto-tag on version change
- Metrics: Dashboard tracking deployment metrics
- Communication: Slack/email bot announcing releases
- Deployment: Fully automated deployments per product
- Analytics: Track adoption and issue post-release
📝 Document Maintenance
When to update these guides:
- After every major release (capture learnings)
- When process changes
- When team feedback warrants updates
- When new tools are integrated
- When scaling to new products
Who maintains:
- DevOps/Release engineering team
- Approved by: Technical leads, Product management
Review Cycle:
- Quarterly review of all documents
- Monthly: CHANGELOG.md updates
- As-needed: Bug fixes, clarifications
🎉 You're Ready!
This complete release strategy is ready to implement. Start with RELEASE_IMPLEMENTATION.md and follow the phases.
Questions?
- Review the relevant guide above
- Consult RELEASE_QUICK_REFERENCE.md
- Ask your DevOps team
Let's ship v1.0.0! 🚀
Package Version: 1.0
Created: 2026-03-05
Last Updated: 2026-03-05
Status: Ready for Production
Maintainer: DevOps/Release Engineering Team