Release
Also Known As
- Blue-Green Deployment (in DevOps)
- Canary Releases (in DevOps)
- Continuous Delivery Pipeline (in Scaled Agile Framework (SAFe))
- Deliver Fast (in Lean Software Development)
- Deployment
- Deployment (in Waterfall Development)
- Launch
- Publication
- Release on Demand (in Scaled Agile Framework (SAFe))
- Software Release Management
Related
Addresses / Mitigates
- Feature Fit Risk: Putting new features in the hands of users can make your product fit their needs better.
- Market Risk: Delivering features means you get market feedback.
- Funding Risk: Delivering features might mean you get paid for the software you write.
Attendant Risks
- Schedule Risk: Delays in the release process can impact overall project time-lines.
- Operational Risk: Releasing software means that the software has to be supported in production.
- Process Risk: Complex release procedures are a source of process risk.
- Reliability Risk: Releases can introduce discontinuities in software service if not managed well.
- Reputational Risk: Poor release management can destroy reputation and good-will.
- Legal Risk: Publishing or releasing code may involve licensing, Intellectual Property, Liability or other legal compliance."
Used By
- DevOps: Canary releases and blue-green deployments are used to test new features in a controlled manner.
- Extreme Programming: XP focuses on frequent, small releases to ensure the software is always in a shippable state.
- ITIL: Release and Deployment management focus on making new services available for use.
- Lean Software Development: Lean focuses on delivering value to the customer as quickly as possible.
- Scaled Agile Framework (SAFe): SAFe promotes continuous delivery through the Release on Demand capability.
- Scrum: Scrum focuses on frequent releases, with potentially shippable increments delivered at the end of each sprint.
- Waterfall Development: The deployment phase in Waterfall involves releasing the completed software product to the production environment for end-users.
Description
"Release management is the process of managing, planning, scheduling, and controlling a software build through different stages and environments; it includes testing and deploying software releases." - Release management, Wikipedia
Release / Delivery involves the structured and controlled process of moving software from development to production environments. It ensures that all aspects of the software are ready for deployment, including code stability, functionality, and performance. Effective release management is crucial for maintaining the quality and reliability of software, minimizing disruptions, and ensuring that new features and fixes reach users in a timely manner.
Variations
| Release Type | Description | Reference |
|---|---|---|
| Blue-Green Deployment | Running two identical production environments, switching traffic between them for zero-downtime releases. | Blue-Green Deployment, Wikipedia |
| Canary Release | Gradually rolling out changes to a small subset of users before full deployment. | Canary Release, Wikipedia |
| Rolling Deployment | Incrementally updating instances one at a time to avoid complete service interruption. | Rolling Update, Kubernetes |
| Feature Toggle | Deploying code with features disabled, enabling them selectively without redeployment. | Feature Toggle, Wikipedia |
See also: Development Process, Consider Payoff, Production (Cadence)
Used By
DevOps
A set of practices that combines software development (Dev) and IT operations (Ops) to shorten the development lifecycle and provide continuous delivery with high software quality.
Why: Canary releases and blue-green deployments are used to test new features in a controlled manner.
- Canary Releases
- Blue-Green Deployment
Extreme Programming
An Agile software development methodology that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments.
Why: XP focuses on frequent, small releases to ensure the software is always in a shippable state.
ITIL
A set of detailed practices for IT service management (ITSM).
Why: Release and Deployment management focus on making new services available for use.
Lean Software Development
An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole.
Why: Lean focuses on delivering value to the customer as quickly as possible.
- Deliver Fast
Scaled Agile Framework (SAFe)
A set of organization and workflow patterns for scaling lean and agile practices across large enterprises.
Why: SAFe promotes continuous delivery through the Release on Demand capability.
- Release on Demand
- Continuous Delivery Pipeline
Scrum
An Agile framework for managing and completing complex projects.
Why: Scrum focuses on frequent releases, with potentially shippable increments delivered at the end of each sprint.
Waterfall Development
A traditional linear and sequential development methodology where each phase must be completed before moving on to the next.
Why: The deployment phase in Waterfall involves releasing the completed software product to the production environment for end-users.
- Deployment