Automatic Agile: the Value of Continuous Deployment

Continuous deployment is a big shift in the way developers deliver software. It's also a major ingredient for truly Agile teams. However the discussion often centres around the technical tools instead of the benefits for teams and their stakeholders. Moreover, teams trying to use it often meet heavy resistance from traditional corporate and IT organizations.

In this talk, I'll present some background on Continuous Deployment, and I'll discuss its central role in how Agile teams function. I'll share some common arguments against it and discuss practical ways to get value from it in hostile environments.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Process and Timetable

The Problem - Talking About Software is Hard.

(5 minute introductory presentation)

  • Cross-functional teams have multiple spheres of knowledge, including
    • Business objectives
    • Technical considerations
    • Branding concerns
    • Legal/Regulatory concerns
  • These spheres are disjoint: few people know more than one or two.
  • Communication about the state of the project becomes hard.

The only way to have a meaningful conversation is around working software.

This is a central tenet of Lean and Agile: "working software over comprehensive documentation".

The Reality - Working Software is often Nowhere to be Found

(5 minute presentation)

  • Traditional industry runs 'release trains'
    • Sometimes as infrequently as 6 months apart
    • Demos happen on developers' systems
  • No way to understand the current state of the team.
  • When is a feature 'done'?
  • We lose control of work in progress
  • Is a feature actually valuable?
    • Stakeholders can't see it until the next release train
    • At this point it's much too late

Interactive discussion:

When have you thought your project was making progress only to find that it wasn't working at all? (10 minutes)

Ambiguity and lack of feedback: we've just made talking about software even harder!

(5 minute recap presentation)

The Dream - A Source of Truth

(5 minute presentation)

Our daily conversations are consistently backed by a 'source of truth' deployment

  • Running in an 'official place'
  • Always working
  • Always up-to-date with the codebase.
  • Demos happen from this system (never from developer machines)
  • The system can be accessed by stakeholders at any time
  • Automates the definition of done.

Getting There

(10 minute presentation)

To get a basic continuous deployment you need four things.

  • A central code repository
  • An automation tool
  • Somewhere to host the app
  • A strategy for Quality Assurance

Case Study: How we do it Internally at Rangle

(15 minute presentation)

  • Our tools
    • Cloud-based, elastic automation for IT resources
  • Our approach to quality and production hygiene
    • Trunk-based development
    • Vertical features
      • Integration, QA, security as part of definition of done
      • Reduce cross-cutting work downstream
    • Automating all the way to production: when and how.

Common Objections, Enterprise Caveats and How to Handle Them

(5 minute presentation)

  • External or Unavailable IT staffing
  • Legacy IT practices and tools
  • Lack of DevOps skills on the team
  • Waterfall approach to Quality Assurance
  • Security Considerations

Interactive discussion:

What concerns do you have? What resistance have you faced? (10 minutes)

Playbook: Continuous Deployment in the Old-School Enterprise

(15 minute presentation)

  • Even partial automation can improve the conversation
  • Getting 80% Agile value with a 20% toolchain.

External or Unavailable IT staffing, legacy IT practices and tools

  • Approach: partial automation for scrum team value

Lack of DevOps skills on the team

  • Prioritize parts of the process for team value
  • Cloud-based tools and training can help get you started

Waterfall approach to Quality Assurance

  • Using automation to reduce the end-of-project QA effort

Q&A, Wrap-Up

(5 minutes)

Learning Outcome

At the end of the session, attendees will have learnt:

  • What Continuous Delivery is.
  • What value it brings to Agile teams.
  • Common arguments against it and how to counter them.
  • Pragmatic approaches for enterprise environments.

Target Audience

Scrum masters, non-technical stakeholders, and developers who want to understand the value of continuous deployment in Agile teams.

schedule Submitted 10 months ago

Comments Subscribe to Comments

comment Comment on this Proposal