Release Management Process » History » Version 1
Redmine Admin, 12/24/2025 05:38 PM
| 1 | 1 | Redmine Admin | h1. Release Management Process (Mandatory) |
|---|---|---|---|
| 2 | |||
| 3 | *Applies to all Tinggit products managed in Redmine* |
||
| 4 | *Defines how customer-facing value is planned, delivered, tracked, and audited* |
||
| 5 | |||
| 6 | {{toc}} |
||
| 7 | |||
| 8 | --- |
||
| 9 | |||
| 10 | h2. 1. Purpose |
||
| 11 | |||
| 12 | The Release Management Process defines how Tinggit: |
||
| 13 | |||
| 14 | * Packages completed work into customer-visible releases |
||
| 15 | * Preserves a clean, auditable release history |
||
| 16 | * Separates business value from deployment mechanics |
||
| 17 | * Handles partial releases, hotfixes, and rollbacks safely |
||
| 18 | * Produces accurate and trustworthy release notes |
||
| 19 | |||
| 20 | This process ensures that **every release can be explained, audited, and traced** long after deployment. |
||
| 21 | |||
| 22 | --- |
||
| 23 | |||
| 24 | h2. 2. Scope |
||
| 25 | |||
| 26 | This process applies to: |
||
| 27 | |||
| 28 | * All Tinggit products and websites |
||
| 29 | * All customer-facing releases |
||
| 30 | * All issues assigned to a Release Version |
||
| 31 | * All teams contributing to a release (Product, Engineering, QA, DevOps) |
||
| 32 | |||
| 33 | --- |
||
| 34 | |||
| 35 | h2. 3. Ownership & Roles |
||
| 36 | |||
| 37 | |*. Role |*. Responsibility | |
||
| 38 | | Product Owner | Defines release scope, approves readiness, owns release notes | |
||
| 39 | | Engineering | Ensures implementation is complete | |
||
| 40 | | QA | Validates quality and acceptance | |
||
| 41 | | DevOps | Deploys and provides deployment traceability | |
||
| 42 | | Scrum Master | Ensures process compliance (where applicable) | |
||
| 43 | |||
| 44 | --- |
||
| 45 | |||
| 46 | h2. 4. What a Release Is (and Is Not) |
||
| 47 | |||
| 48 | h3. 4.1 Release Definition |
||
| 49 | |||
| 50 | A Release represents: |
||
| 51 | |||
| 52 | * Business value delivered to customers |
||
| 53 | * A contractual or communicable product increment |
||
| 54 | * A permanent historical record |
||
| 55 | |||
| 56 | h3. 4.2 What a Release Is NOT |
||
| 57 | |||
| 58 | A Release is NOT: |
||
| 59 | |||
| 60 | * A sprint |
||
| 61 | * A deployment pipeline |
||
| 62 | * A build number |
||
| 63 | * A service or UI version |
||
| 64 | * A rollback or retry of the same event |
||
| 65 | |||
| 66 | *bq.* A release answers *“What value did customers receive?”* |
||
| 67 | It does NOT answer *“How was it deployed?”* |
||
| 68 | |||
| 69 | --- |
||
| 70 | |||
| 71 | h2. 5. Release Versions in Redmine |
||
| 72 | |||
| 73 | Release management uses **Redmine Versions**. |
||
| 74 | |||
| 75 | |_. Element |_. Purpose | |
||
| 76 | | Release Version | Defines the scope of a product release | |
||
| 77 | | Release Notes | Customer-facing summary | |
||
| 78 | | Deployment Reference | Traceability to CI/CD | |
||
| 79 | |||
| 80 | Rules: |
||
| 81 | |||
| 82 | * Release Versions are permanent |
||
| 83 | * Release Versions are never reused |
||
| 84 | * Only completed and deployed work belongs to a Release Version |
||
| 85 | * Sprint Versions and Release Versions must never coexist on the same issue |
||
| 86 | |||
| 87 | --- |
||
| 88 | |||
| 89 | h2. 6. Release Naming Standards (Mandatory) |
||
| 90 | |||
| 91 | Release naming must follow: |
||
| 92 | |||
| 93 | <pre> |
||
| 94 | Release X.Y – Short Theme |
||
| 95 | Release X.Y.Z – Hotfix |
||
| 96 | </pre> |
||
| 97 | |||
| 98 | Examples: |
||
| 99 | <pre> |
||
| 100 | Release 2.5 – Career Expansion |
||
| 101 | Release 2.5.1 – Hotfix |
||
| 102 | Release 2.6 – Platform Reliability |
||
| 103 | </pre> |
||
| 104 | |||
| 105 | Forbidden: |
||
| 106 | <pre> |
||
| 107 | Release Final |
||
| 108 | Release Test |
||
| 109 | v2-final-final |
||
| 110 | </pre> |
||
| 111 | |||
| 112 | --- |
||
| 113 | |||
| 114 | h2. 7. Release Planning |
||
| 115 | |||
| 116 | h3. 7.1 Identifying Release Candidates |
||
| 117 | |||
| 118 | Release candidates come from: |
||
| 119 | |||
| 120 | * Completed sprint work |
||
| 121 | * Approved backlog items |
||
| 122 | * Compliance or contractual commitments |
||
| 123 | |||
| 124 | Only items that are: |
||
| 125 | * Fully implemented |
||
| 126 | * QA verified |
||
| 127 | * Accepted by Product Owner |
||
| 128 | may be considered for release. |
||
| 129 | |||
| 130 | --- |
||
| 131 | |||
| 132 | h3. 7.2 Assigning Release Version |
||
| 133 | |||
| 134 | For each accepted issue: |
||
| 135 | |||
| 136 | |*. Field |*. Action | |
||
| 137 | | Fixed version | Set to Release X.Y | |
||
| 138 | |||
| 139 | This assignment defines **official release scope**. |
||
| 140 | |||
| 141 | Issues without a Release Version are **not part of the release**, even if deployed. |
||
| 142 | |||
| 143 | --- |
||
| 144 | |||
| 145 | h2. 8. Release Readiness Validation |
||
| 146 | |||
| 147 | Before deployment, the following must be true: |
||
| 148 | |||
| 149 | * All issues in Release Version are Done or Closed |
||
| 150 | * No open blockers remain |
||
| 151 | * QA sign-off is confirmed |
||
| 152 | * Release notes draft is prepared |
||
| 153 | |||
| 154 | Saved query used: |
||
| 155 | *Release – NOT Ready (Blockers)* |
||
| 156 | |||
| 157 | If this query is not empty, **release must not proceed**. |
||
| 158 | |||
| 159 | --- |
||
| 160 | |||
| 161 | h2. 9. Deployment & Traceability |
||
| 162 | |||
| 163 | Deployment execution happens outside Redmine. |
||
| 164 | |||
| 165 | After deployment: |
||
| 166 | |||
| 167 | * DevOps provides: |
||
| 168 | * CI/CD pipeline link |
||
| 169 | * Deployment reference URL |
||
| 170 | * Product Owner ensures: |
||
| 171 | * Deployment reference is added to release issues |
||
| 172 | * Release Version reflects deployed scope only |
||
| 173 | |||
| 174 | *bq.* Redmine references deployment truth — it never owns it. |
||
| 175 | |||
| 176 | --- |
||
| 177 | |||
| 178 | h2. 10. Release Notes (Customer-Facing) |
||
| 179 | |||
| 180 | Release notes are derived from Redmine issues. |
||
| 181 | |||
| 182 | They must include: |
||
| 183 | |||
| 184 | * Release name and date |
||
| 185 | * Highlights (top value delivered) |
||
| 186 | * Features (Stories) |
||
| 187 | * Bug fixes |
||
| 188 | * Known limitations (if any) |
||
| 189 | |||
| 190 | They must NOT include: |
||
| 191 | |||
| 192 | * Commit hashes |
||
| 193 | * Service or UI versions |
||
| 194 | * Infrastructure details (unless user-impacting) |
||
| 195 | |||
| 196 | Release notes are owned by the Product Owner. |
||
| 197 | |||
| 198 | --- |
||
| 199 | |||
| 200 | h2. 11. Release Close Process |
||
| 201 | |||
| 202 | Once deployment and communication are complete: |
||
| 203 | |||
| 204 | * Release Version status is set to Closed |
||
| 205 | * Stakeholders are notified |
||
| 206 | * Post-release bugs are logged separately |
||
| 207 | |||
| 208 | Detailed checklist: |
||
| 209 | * [[Release Close Process]] |
||
| 210 | |||
| 211 | --- |
||
| 212 | |||
| 213 | h2. 12. Partial Releases |
||
| 214 | |||
| 215 | h3. Scenario |
||
| 216 | |||
| 217 | Some planned items are ready, others are delayed. |
||
| 218 | |||
| 219 | h3. Correct Handling |
||
| 220 | |||
| 221 | * Release Version includes only: |
||
| 222 | * Accepted |
||
| 223 | * Deployed items |
||
| 224 | * Delayed items: |
||
| 225 | * Do NOT receive the Release Version |
||
| 226 | * Remain in backlog or future sprint |
||
| 227 | |||
| 228 | This ensures: |
||
| 229 | * Honest release notes |
||
| 230 | * No ambiguity about delivered value |
||
| 231 | |||
| 232 | --- |
||
| 233 | |||
| 234 | h2. 13. Hotfix Releases |
||
| 235 | |||
| 236 | Hotfixes are handled as **separate patch releases**. |
||
| 237 | |||
| 238 | Rules: |
||
| 239 | |||
| 240 | * No Sprint Version is used |
||
| 241 | * A new Release Version is created: |
||
| 242 | <pre> |
||
| 243 | Release X.Y.Z – Hotfix |
||
| 244 | </pre> |
||
| 245 | |||
| 246 | Issues are: |
||
| 247 | * Tracked independently |
||
| 248 | * Deployed immediately |
||
| 249 | * Closed after deployment |
||
| 250 | |||
| 251 | Detailed handling: |
||
| 252 | * [[Edge Case & Exception Handling]] |
||
| 253 | |||
| 254 | --- |
||
| 255 | |||
| 256 | h2. 14. Rollback Releases |
||
| 257 | |||
| 258 | Rollbacks do not modify history. |
||
| 259 | |||
| 260 | Correct handling: |
||
| 261 | |||
| 262 | * Do NOT reopen completed issues |
||
| 263 | * Create new Bug issues |
||
| 264 | * Assign a new Release Version: |
||
| 265 | <pre> |
||
| 266 | Release X.Y.Z – Rollback Fix |
||
| 267 | </pre> |
||
| 268 | |||
| 269 | Rollback is recorded as a **new event**, not a rewrite. |
||
| 270 | |||
| 271 | --- |
||
| 272 | |||
| 273 | h2. 15. Metrics & Auditability |
||
| 274 | |||
| 275 | Release-level audit questions that must always be answerable: |
||
| 276 | |||
| 277 | * What was released? |
||
| 278 | * When was it released? |
||
| 279 | * Why was it released? |
||
| 280 | * What issues were included? |
||
| 281 | * Where is the deployment evidence? |
||
| 282 | |||
| 283 | These answers are derived from: |
||
| 284 | |||
| 285 | * Release Version |
||
| 286 | * Issue history |
||
| 287 | * Deployment reference links |
||
| 288 | * Release notes |
||
| 289 | |||
| 290 | --- |
||
| 291 | |||
| 292 | h2. 16. Common Mistakes to Avoid |
||
| 293 | |||
| 294 | * Using Sprint Versions as releases |
||
| 295 | * Reusing release versions |
||
| 296 | * Including incomplete work in a release |
||
| 297 | * Editing release scope after closure |
||
| 298 | * Treating deployment retries as releases |
||
| 299 | |||
| 300 | --- |
||
| 301 | |||
| 302 | h2. 17. Governance Rules (Non-Negotiable) |
||
| 303 | |||
| 304 | * Every release must have a Release Version |
||
| 305 | * Every release must have deployment traceability |
||
| 306 | * Every release must be closed explicitly |
||
| 307 | * No release history may be rewritten |
||
| 308 | * Exceptions must be documented |
||
| 309 | |||
| 310 | Violations must be escalated to Product Leadership. |
||
| 311 | |||
| 312 | --- |
||
| 313 | |||
| 314 | h2. 18. Final Statement |
||
| 315 | |||
| 316 | The Release Management Process ensures that Tinggit can: |
||
| 317 | |||
| 318 | * Communicate value clearly to customers |
||
| 319 | * Maintain long-term trust in metrics |
||
| 320 | * Pass internal and external audits |
||
| 321 | * Handle emergencies without chaos |
||
| 322 | * Scale product delivery responsibly |
||
| 323 | |||
| 324 | *This process is mandatory for all releases.* |