Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)
-
Upload
kinshuk-mishra -
Category
Technology
-
view
25 -
download
1
Transcript of Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)
![Page 1: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/1.jpg)
Scaling Continuous Delivery to minimize risks
![Page 2: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/2.jpg)
Why Continuous Delivery?
![Page 3: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/3.jpg)
For Speed
![Page 4: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/4.jpg)
Speed is a lever to mitigate risk
![Page 5: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/5.jpg)
Typical cycle of software delivery
HypothesisGeneration Development Experimentation
Validation
![Page 6: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/6.jpg)
How do you scale it?
![Page 7: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/7.jpg)
Foundational elements to scale it
ORGANIZATION
TOOLS
PROCESS
CULTURE
CONTINUOUS DELIVERY
![Page 8: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/8.jpg)
Organization
![Page 9: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/9.jpg)
Spotify Org Model
![Page 10: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/10.jpg)
Takeaways
● Tribes : Optimize team composition for autonomy
● Alliances : Organize team groupings for alignment
● Guilds : Foster channels for knowledge sharing to break silos
● Tribes mapped to metrics : Have explicit accountability by
assigning team metrics
![Page 11: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/11.jpg)
Story of our Aha! moment
![Page 12: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/12.jpg)
Real story anyone?
![Page 13: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/13.jpg)
Series of aha!, aha!, aha!, aha! ...
![Page 14: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/14.jpg)
There were 4 phases
![Page 15: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/15.jpg)
The startup phase
● 1 location
● 50+ engineers
● Teams mapped to features
![Page 16: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/16.jpg)
Teams = Features
![Page 17: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/17.jpg)
The expansion phase
● 1 engineering hub in Stockholm
● 2 small engineering offices in NYC and Gothenburg
● 100+ engineers
● Teams still mapped to features but shared ownership across
geographies
![Page 18: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/18.jpg)
The autonomy phase
● Global company with 2 engineering hubs in NYC and Stockholm
● Multiple smaller engineering offices
● 250+ engineers
● Geo local missions and full local autonomy
![Page 19: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/19.jpg)
Teams Tribes = Missions
![Page 20: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/20.jpg)
The alignment phase
● Global company with multiple engineering offices
● 500+ engineers
● 10+ autonomous missions
● Many missions working towards same or similar metric
![Page 21: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/21.jpg)
Teams Tribes Alliances = Related Missions
![Page 22: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/22.jpg)
One more thing ...
Spotify Org model Universal Org Model
![Page 23: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/23.jpg)
Tools
![Page 24: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/24.jpg)
Make pipelines fast and low-touch
![Page 25: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/25.jpg)
Enable ease of deployment
● Think Containers to enable easy deployments
● Standardize production and test setup to enable easy build
progression
![Page 26: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/26.jpg)
Make tests visible
GitPR
Pre-mergeTests Pass Post-merge
Tests Log to TRS
View TestResults
![Page 27: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/27.jpg)
![Page 28: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/28.jpg)
Optimize build times
● Minimize recompiles of the whole dependency tree
● Pre-compile common dependencies and store as binaries
● Think hermetic builds
![Page 29: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/29.jpg)
Maximize Automation, Monitoring and Alerting
![Page 30: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/30.jpg)
Make experimentation part of the delivery flow
![Page 31: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/31.jpg)
Feature Flags rollouts AB Tests
![Page 32: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/32.jpg)
Process
![Page 33: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/33.jpg)
Standardize Release Management
![Page 34: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/34.jpg)
Feature Complete
Beta Testers & Apple / Incremental Rollout to
Android
Master Branch
Release Branch
Release Blocking Bug Fix(es)
2 week client release cycle
![Page 35: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/35.jpg)
Enable Speedy Reviews
![Page 36: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/36.jpg)
Review flow
Software DesignReview
SoftwareDevelopment
CodeReview
Pre-releaseReview
SoftwareDesign
SoftwareRelease
![Page 37: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/37.jpg)
Speedy Reviews at Spotify
● Code merges require +1 during code review but aren’t blocked● Changes are tracked for auditing purposes● Software review is front-loaded to avoid delivery blockers.
Encourages thinking through completely about architectural setup, complexity and dependencies
![Page 38: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/38.jpg)
Have a company operating rhythm
![Page 39: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/39.jpg)
![Page 40: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/40.jpg)
![Page 41: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/41.jpg)
![Page 42: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/42.jpg)
Culture
![Page 43: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/43.jpg)
Quality is owned by everyone but managed by QA
![Page 44: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/44.jpg)
Agile is not a process but a mindset
![Page 45: Scaling Continuous Delivery to minimize risks (Delivery of Things 2016)](https://reader034.fdocuments.us/reader034/viewer/2022042907/587d45c81a28ab7c638b5d7f/html5/thumbnails/45.jpg)
Be explicit about beliefs and expectations