More Related Content Similar to Smoothing the Continuous Delivery Path - A Tale of Two Teams (20) More from Equal Experts (20) Smoothing the Continuous Delivery Path - A Tale of Two Teams1. simple software solutions to big business problems.
Making Software. Better.@EqualExperts
@lyndsp
Smoothing the Continuous Delivery path
A tale of two teams
2. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Continuous Delivery in donuts
2
Fast Feedback
Risk Reduction
3. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
There is no (CD) silver bullet
3
● 50 deploys / day
● 1.5 billion page views / month
● 1 (php) monolith
http://goo.gl/NZfr8a
● >100 deploys / day
● ~2 billion requests per day
● >600 java microservices
https://goo.gl/qZXKWK
4. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
There is no (CD) silver bullet
4
● Weekly deployments
● ~100M visits / day
● 2 monoliths (C#, C++)
● Multiple deploys / day
● ~11.5M page views / peak day
● >300 microservices (Scala)
C++ C#
Private Sector Org. Public Sector Org.
5. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practices for Smoothing the Continuous Delivery path
5
Practices for
Microservices
Practices
For Monoliths
Universal
Practices
*M
6. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp 6
Practice #0 - Start with the best people you can hire
*
7. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
● What’s the smallest thing we
can release to Production?
● How do we evolve Production
behaviour
● Is this code change safe to go to
Production today?
7
Practice #1 - Think about Production, all the time
*
8. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp 8
▪ Work board right to left
▪ What was deployed yesterday?
▪ What will be deployed today?
Practice #1 - Think about Production, all the time
- Example: Production focused Standups
*
9. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
▪ Think slices instead of MVP
▪ Consider architectural slices
9
Practice #1 - Think about Production, all the time
- Example: Evolving Production behaviour
*
10. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
▪ Think slices instead of MVP
▪ Consider architectural slices
▪ Consider story / journey slices
10
Practice #1 - Think about Production, all the time
- Example: Evolving Production behaviour
*
MVP
Journey
First slice
Journey
11. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #2 - Make testing an activity, not a phase
11
Product
Owner
Define
Dev
Build
QA
Test
Web Ops
Deploy
*
12. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #2 - Make testing an activity, not a phase
12
Product
Owner
Define
Dev
Build
QA
Explore
Web Ops
Deploy
Test
*
13. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp 13
Practice #3 - Learn from Production incidents
M
http://www.airliners.net/photo/uk-air-force/british-aerospace-hawk-t1-astra/949077
14. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #3 - Learn from Production incidents - 5 why’s
14
● Create a timeline.
● Gather those involved.
● Walk through the timeline.
● Choose an entry point event:
○ Event
○ Why?
○ Process improvement
● Repeat x5 (ish)
M
15. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #3 - Learn from Production incidents - 5 why’s
- Run Blameless Post Mortems
15
M
“Adaptability and learning.
- We learn through honest,
blameless reflection on lessons
and surprises.
- We believe that traditional root
cause analysis makes learning
from mistakes difficult.
http://sec.edgar-online.com/etsy-inc/s-1a-securities-registration-statement/2015/04/14/section20.aspx
16. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #3 - Learn from Production incidents
- Run Blameless Post Mortems
16
M
https://extfiles.etsy.com/DebriefingFacilitationGuide.pdf Structure and Preparation
● Familiarize Yourself With the Timeline
in Advance
● Unearth More Objective and Subjective
Data
● Talking to the People Who Would
Usually Be Blamed Is Really Important
● Come up With Some Initial Questions
17. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #4 - Automate release notes
17
M
https://commons.wikimedia.org/wiki/File:Spot_the_difference.png
18. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #4 - Automate release notes
18
M
19. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #4 - Automate release notes
19
Source control
system
Login Reporting
Payments
API’s
Agile Project
Management Tool
Features
Stories
Tasks
Defects
Story 123
State, areas, authors
...
Defect 789
State, areas, authors
...
Untracked work
Areas, authors
...
Release note
generator
Production
Version
Candidate
Version
M
20. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #5 - Teams own their own microservices
20
● >20 Product Teams
● 7 “platform” teams
● >300 microservices
● Just 2 Dev Ops teams!
21. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #5 - Teams own their own microservices
21
“You build it, you run it” -
Werner Vogels
Amazon CTO
https://goo.gl/DyfeOf
https://www.flickr.com/photos/jobook/4751509167/
22. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #6 - Keep API’s backwardly compatible
22
http://www.asterix-obelix.nl/images/albums/characters/c-fighting.gi
f
23. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practice #6 - Keep API’s backwardly compatible
23
Production
Staging
QA
Dev
Sharing
through
caring
24. © Equal Experts UK Ltd 2017
@EqualExperts @lyndsp
Practices for Smoothing the Continuous Delivery path
24
0. Start with the best people
you can hire
1. Think about Production,
all the time
2. Make testing an activity,
not a phase
3. Learn from Production
incidents
4. Automate release notes
5. Teams own their own
microservices
6. Keep API’s backwardly
compatible
*
M
25. simple software solutions to big business problems.
Making Software. Better.@EqualExperts
@lyndsp
Smoothing the Continuous Delivery path
A tale of two teams