Disciplined Agile

Deploy the Solution

This Transition process goal describes our approach to releasing/shipping our solution. Many Disciplined Agilists’ first reaction to this is: “Well, why don’t we just completely automate deployment?” And they’re right, we should.

2021 Project Management Institute Deploy the Solution v5.2 Automate Deployment Continuous deployment (CD) Deployment script Deployment instructions Release Strategy Canary release/dark launch Cold switchover Continuous batches Functionality-off release Functionality-on release Hot switchover (blue/green deployment) Incremental/rolling release Micro deploys Parallel run Toggle release Release Into Production Close out existing transactions Back up existing data Restore previous data Restore previous version Migrate source data Deploy solution components Make solution available Log the deployment Enable support system Communicate deployment Validate Release Production deployment testing Active stakeholder participation Measure usage Stakeholder satisfaction survey None

Figure 1. The Deploy the Solution process goal diagram.

Click the diagram to open the interactive DA Browser, where you can learn more about the decision points and options of this goal.

Why This is Important

This process goal is important because it:

  1. Promotes full automation. This process goal provides several strategies for automating the deployment/release of your solution.
  2. Captures the full deployment process. It describes what needs to be performed to successfully release into production, and it describes options for how we can ensure our release was in fact successful.
  3. Supports appropriate governance. As you can see in Figure 2, there is an explicit Delighted Stakeholders milestone built into the DA project lifecycles to validate that what you’ve deployed is something your stakeholders value. Risk-based milestones are an important part of DA’s lean governance strategy. 
Risk Value

Figure 2. Decreasing risk and increasing value throughout a disciplined agile project (click diagram to expand)

Important Questions to Consider

  • How can we automate deployment?
  • What is our release strategy?
  • What do we need to do to deploy the solution?
  • How will we determine that the deployment was successful? 

Key Points

  • Your end goal should be to automate the entire deployment process, decreasing both the cost and risk of releasing into production.
  • Smart teams validate that they’ve successfully released into production, and better yet strive to determine whether they’ve delighted their customers.