deployment-plan · git:20260708.a309efd · 2026-07-08 · sha256 afeed26b4d35be15
deployment-plan git:20260708.a309efdA
Immutable. This exact content never changes and is served at /api/v1/blob/afeed26b4d35be15.
--- name: deployment-plan argument-hint: "[service or release name]" description: Write a production deployment plan covering environment specs, deployment strategy (Blue-Green, Canary, Rolling, or Direct), step-by-step execution runsheet, go/no-go criteria, monitoring plan, and rollback procedure. Use before any non-trivial production release. intent: >- Produce a deployment plan that transforms a code release from a high-anxiety event into a controlled, repeatable, and reversible procedure. Every production deployment must have a defined strategy, a clear go/no-go decision gate, a monitoring plan, and a specific rollback procedure written in advance - not improvised during an incident. This document is read by the engineer performing the deployment, the on-call responder, and post-incident reviewers. DORA research shows that organizations with documented deployment plans deploy more frequently and recover more quickly from failures. type: workflow theme: engineering-docs best_for: - "Planning a new service deployment to production" - "Documenting the deployment procedure for a major feature release" - "Establishing a standard deployment runsheet for a service" - "Planning a high-risk migration or infrastructure change" scenarios: - "Write a deployment plan for releasing the new webhook delivery system to production" - "Plan a blue-green deployment for upgrading our PHP runtime from 8.1 to 8.3" - "Create a deployment runsheet for our database migration adding 3 new tables" estimated_time: "1-2 hours" --- ## Purpose Produce a deployment plan that specifies exactly how, when, and by whom a release is deployed, what criteria determine success or failure, and what steps to take if something goes wrong. **A deployment without a rollback plan is a deployment without a safety net.** This skill ensures every production change is made with eyes open and a clear path back. ## Input **Works best with:** The name of the service being deployed and a description of what is changing. **Also valuable:** Current production environment specs, existing deployment pipeline, known risks or dependencies, SLA requirements. **Example invocation:** `Write a deployment plan for releasing OwnPay v2.4.0 to production. This release includes 3 database migrations (additive only), a new webhook delivery queue worker, and updates to the checkout templates. We use a single production server with PHP-FPM and MySQL. Zero downtime is required.` ## Key Concepts ### Deployment Strategies - **Direct Deploy:** Replace running code in-place. Simple, but brief downtime risk. - **Rolling Deploy:** Update instances one at a time. No downtime. If failure occurs, some instances run old code while others run new. - **Blue-Green:** Maintain two identical environments (Blue = current, Green = new). Switch traffic at load balancer after validation. Zero downtime. Full instant rollback by switching back. - **Canary:** Deploy to small percentage of traffic first (e.g., 5%). Monitor. Gradually increase if metrics hold. - **Feature Flag:** Deploy code to all servers but enable via config. Decouple deployment from release. ### Go/No-Go Gate Before deploying to production, verify a defined set of criteria. If any criterion fails, the deployment does not proceed. This is not optional. ### DORA Metrics (What Good Looks Like) - **Deployment Frequency:** Elite teams deploy multiple times per day. - **Lead Time for Change:** Elite teams go from commit to production in less than 1 hour. - **Change Failure Rate:** Elite teams have < 5% deployments causing failures. - **MTTR:** Elite teams recover from failures in less than 1 hour. ## Application 1. Choose the deployment strategy based on the risk profile and infrastructure. 2. Document the exact execution runsheet - every command, every verification step. 3. Define explicit go/no-go criteria with measurable thresholds. 4. Define the rollback procedure before you start. 5. Identify the on-call owner who will monitor the deployment.