Software Engineering at Google Chapter #24 - Continuous Delivery (1 of 3)

  • Software must go to market quickly so as to determine if it's useful to the user or not. This creates faster feedback loops.
  • Work that stays in progress for long periods of time creates risk because the software may or may not be useful when it's finally released
  • "Launch and iterate"
  • Some of the ideas behind continuous delivery are...
    • Release frequently and in small batches
    • Use automation to reduce the repetition of frequent releases
    • Use a modular architecture to make troubleshooting easier by isolating changing
  • Create and measure health indicators such as crash frequency and latency metrics so they can be improved over time
  • Use A/B testing to ensure quality via data-driven decision making
  • Use techniques like canary releases to phase rollouts
  • Instead of slowing down releases to prevent production bugs instead invest in more testing and increased discipline around the release process
  • < BACK NEXT >



    Thank you for your time and attention.
    Apply what you've learned here.
    Enjoy it all.