Skip to main content

Release

Deploying the software to production.

Also Known As

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 TypeDescriptionReference
Blue-Green DeploymentRunning two identical production environments, switching traffic between them for zero-downtime releases.Blue-Green Deployment, Wikipedia
Canary ReleaseGradually rolling out changes to a small subset of users before full deployment.Canary Release, Wikipedia
Rolling DeploymentIncrementally updating instances one at a time to avoid complete service interruption.Rolling Update, Kubernetes
Feature ToggleDeploying code with features disabled, enabling them selectively without redeployment.Feature Toggle, Wikipedia

See also: Development Process, Consider Payoff, Production (Cadence)

Used By

DevOps

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.

Uses:
  • Canary Releases
  • Blue-Green Deployment
Extreme Programming

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

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

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.

Uses:
  • Deliver Fast
Scaled Agile Framework (SAFe)

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.

Uses:
  • Release on Demand
  • Continuous Delivery Pipeline
Scrum

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

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.

Uses:
  • Deployment