Our continuous delivery journey

91
OUR CONTINUOUS DELIVERY JOURNEY Suzie Prince ThoughtWorks

Transcript of Our continuous delivery journey

Page 1: Our continuous delivery journey

OUR CONTINUOUS DELIVERY JOURNEY

Suzie Prince ThoughtWorks

Page 2: Our continuous delivery journey

Define Continuous Delivery (CD)

Tell some stories about our journey to CD

Review learnings and share tips

WHAT I WILL COVER

Page 3: Our continuous delivery journey

Suzie Prince

Head of Product for ThoughtWorks products group

Product Manager for Snap CI

10 + years experience in software development including agile and CD practices

Tweeting @pm_suzie

Page 4: Our continuous delivery journey
Page 5: Our continuous delivery journey
Page 6: Our continuous delivery journey
Page 7: Our continuous delivery journey
Page 8: Our continuous delivery journey

WHAT IS CD?

Page 9: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 10: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 11: Our continuous delivery journey

CONTINUOUS DELIVERY

Page 12: Our continuous delivery journey
Page 13: Our continuous delivery journey
Page 14: Our continuous delivery journey
Page 15: Our continuous delivery journey
Page 16: Our continuous delivery journey

RELEASE

RELEASE

RELEASE

RELEASE

YEAR

Page 17: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 18: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 19: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 20: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 21: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 22: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 23: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 24: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 25: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 26: Our continuous delivery journey

💁🍩

Page 27: Our continuous delivery journey

💁🍩

Page 28: Our continuous delivery journey

💁🍩

Page 29: Our continuous delivery journey

💁🍩

Page 30: Our continuous delivery journey

RELEASE

YEAR

RELEASE

RELEASE

RELEASE

Page 31: Our continuous delivery journey

RELEASE

RELEASE

RELEASE

RELEASE25% RELEASE TIME WAS

INSTALLER TESTING

YEAR

Page 32: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 33: Our continuous delivery journey

Commit Build and Test Automated Tests Installer TestsStaging DeliverUser

Acceptance

Page 34: Our continuous delivery journey

Commit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 35: Our continuous delivery journey

Commit Build and Test Automated Tests Staging DeliverUser

AcceptanceCommit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 36: Our continuous delivery journey

Commit Build and Test Automated Tests Staging DeliverUser

AcceptanceCommit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 37: Our continuous delivery journey

Commit Build and Test Automated Tests Staging DeliverUser

AcceptanceCommit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 38: Our continuous delivery journey

Commit Build and Test Automated Tests Staging DeliverUser

AcceptanceCommit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 39: Our continuous delivery journey

Commit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 40: Our continuous delivery journey

RELEASE

RELEASE

RELEASE

RELEASE

YEAR

Page 41: Our continuous delivery journey

RELEASE

RELEASE

RELEASE

RELEASE<5% RELEASE TIME WAS

INSTALLER TESTING

YEAR

Page 42: Our continuous delivery journey

HIDDEN SILOS

Page 43: Our continuous delivery journey

Commit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 44: Our continuous delivery journey

Commit Build and Test Automated Tests Installer Tests Staging DeliverUser

Acceptance

Page 45: Our continuous delivery journey

OUR LEARNINGSAutomate, automate, automate

Look for hidden silos

Page 46: Our continuous delivery journey
Page 47: Our continuous delivery journey
Page 48: Our continuous delivery journey
Page 49: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelinesContainers!

Page 50: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

Containers!

Page 51: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

✔✔

Containers!

Page 52: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

✔✔

Containers!

Page 53: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

✔✔

Containers!

Page 54: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

✔✔

✔✔

Containers!

Page 55: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

✔✔

✔✔

Containers!✔

Page 56: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

GOOD JOB!

✔✔

✔✔

Containers!✔

Page 57: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 58: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 59: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 60: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 61: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 62: Our continuous delivery journey

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug

fixes and experiments—into production, or into the hands of users, safely and

quickly in a sustainable way.”

- Jez Humble, continuousdelivery.com

Page 63: Our continuous delivery journey

Microservices

RabbitMQ

NagiosAutomated infrastructureDeployment pipelines

GOOD JOB!

✔✔

✔✔

Containers!✔

Page 64: Our continuous delivery journey

Microservices

Page 65: Our continuous delivery journey
Page 66: Our continuous delivery journey
Page 67: Our continuous delivery journey
Page 68: Our continuous delivery journey
Page 69: Our continuous delivery journey
Page 70: Our continuous delivery journey
Page 71: Our continuous delivery journey

OUR LEARNINGSDelivering value, not doing CD is your job

CD is a journey

Page 72: Our continuous delivery journey

TAKE AWAYS

Page 73: Our continuous delivery journey
Page 74: Our continuous delivery journey

🍩 🍩🍩🍩 🍩

🍩

🍩🍩🍩

Page 75: Our continuous delivery journey
Page 76: Our continuous delivery journey

🍩

Page 77: Our continuous delivery journey

PRACTICE CONTINUOUS INTEGRATION

Page 78: Our continuous delivery journey
Page 79: Our continuous delivery journey

🍩

Page 80: Our continuous delivery journey

FREQUENCY REDUCES DIFFICULTY

Page 81: Our continuous delivery journey
Page 82: Our continuous delivery journey

🍩

Page 83: Our continuous delivery journey

DOING CONTINUOUS DELIVERY IS NOT YOUR JOB

GOOD JOB!

Page 84: Our continuous delivery journey
Page 85: Our continuous delivery journey

🍩

Page 86: Our continuous delivery journey

INVOLVE THE WHOLE TEAM

Page 87: Our continuous delivery journey
Page 88: Our continuous delivery journey

🍓

Page 89: Our continuous delivery journey

AUTOMATE EVERYTHING

Page 90: Our continuous delivery journey

CONTINUOUS DELIVERY IS A JOURNEY…

Keep your goals in mind

Look back and retrospect

Focus on what is not good now and improve that

Don’t be too critical

Don’t fear redesign, don’t fear rework

🍩 🍓

Page 91: Our continuous delivery journey

CONTINUOUS DELIVERY IS A JOURNEY…

Keep your goals in mind

Look back and retrospect

Focus on what is not good now and improve that

Don’t be too critical

Don’t fear redesign, don’t fear rework