shownotes
× × × ×
speaking.jbaru.ch Slides Video All the links!
Slide 4
A decade of DORA x Deployment frequency x Change lead time x Change fail rate x MTTR
Slide 5
Slide 6
Puppet dora report 2015
Slide 7
Accelerate Dora report 2018
Slide 8
Google cloud DORA report 20
24
Slide 9
Cluster changes over time
Slide 10
We figured the “devops” shit out. Done.
Slide 11
Low performers over time
Slide 12
Medium Performers over time
Slide 13
High Performers over time
Slide 14
elite Performers over time
Slide 15
Why does lead time decline?!
Slide 16
Dev
Ops DevOps
QA
Slide 17
Process
People DevOps
Tools
Slide 18
Productive Empowered Process Teams
Productive ?!?! People DevOps
Productive Kubernetes Tools
Slide 19
Production system of your production systems
Slide 20
The pain is real
Slide 21
Slide 22
Developer Productivity Engineering DevOps
Kubernetes
Empowered Teams
Slide 23
Developer productivity Enginee
ring!
Slide 24
Developer Productivity Enginee Foster Faster Feedback
Collaborate through Effective Tooling
Eliminate Toil for Developers
Dedicated Organizational Mindset
ring Embrace Rigorous Observability for Proactive Improvement
Prioritize Automation and Eliminate Bottlenecks Outcomes Over Output
Slide 25
Talk is cheap, show me the goods! 25
Slide 26
Small DPE improvements make a × × × × ×
huge difference
Generate code faster: Better IDE Test better: Testcontainers Enforce better code: Sonar Test more reliably: Flaky test detection Foster Faster Feedback:
Slide 27
feedback efficiency × × × ×
IDE: Sub-seconds (I type, it marks it red) Build: Seconds CI: Minutes Production: Hours/Days
Slide 28
Reverse dependency on distance from developers IDE
Build
CI
Production
Feedback Time
Faster
Slower Distance from Developers Expected
Real
Slide 29
Slide 30
It is slow!
Slide 31
Slide 32
It is slow and the developers h
ave no idea why!
Slide 33
What is build? × × × × ×
Project setup Downloading the Internet Artifact generation: Compilation, packaging, etc Tests Artifact deployment
Slide 34
What can go wrong? × × × × ×
Project setup Downloading the Internet Artifact generation: Compilation, packaging, etc Tests Artifact deployment
Slide 35
When can it go wrong?
At any time.
Slide 36
The Build frustrates the developers
Slide 37
Let’s ask Chatgpt
Slide 38
What the actual f*ck?!
× Skipping tests defeats the purpose of the build! × How about skipping compilation? × We want faster feedback, not less feedback
Two types of feedback x e.g., CI/CD x we never wait for it x results are distracting x e.g., build x we’ll wait for it in the flow x we’ll be pissed off when it’s slow
Slide 43
Reverse dependency on distance from developers Faster
IDE
Build
CI
Feedback Time
Commit time synchronous asynchronous
Slower
Distance from Developers
Production
Delightful build (pick two): ☑ provides max feedback ☑ fast
Slide 47
Skip what can be skipped (but no more!)
Slide 48
Avoidance: Incremental build
× Don’t build what didn’t changed × Don’t build what isn’t affected
Slide 49
Avoidance: Incremental build s hortcomings × Relies on produced artifacts × Relies on architectural decisions
Slide 50
Avoidance: Caching
× × × ×
Makes the build faster Makes the build faster for everybody Makes the build faster always Makes all parts of the build faster
Slide 51
Slide 52
Avoidance: Predictive test selec tion × Learns code changes effects de-facto × Skips tests with high degree of confidence
Slide 53
How test prediction works × Code changes and test results are thrown into learning model × After a while, the model predicts which changes fail which tests
Slide 54
Test prediction
What changed Where it changed
Correlate with observed test failures
Predictions which changes will fail which tests
Slide 55
Black magic in action × The more tests a project has, the less they break × Refactorings in Java break tests less than in JavaScript
Slide 56
Slide 57
Speed up what can’t be skipped
Slide 58
Test parallelization
× Use max power of local machine × (Yes, your boss should buy you the bleeding edge)
Slide 59
Slide 60
Test distribution
× × × ×
CI uses fan-out to speed-up tests Shouldn’t you enjoy it for local tests? Use the cloud to distribute test load RUN ALL THE TESTS!
Slide 61
Why not just using ci fan-out?
× Relying on shared CI infrastructure × CI infrastructure is not optimized for real-time feedback! × Are the agents as fast as they can be?
Slide 62
Don’t let it slide
Slide 63
Observe and improve
× Measure local build times across time and environments × Detect downfacing trends × Find root causes and improve
Slide 64
Slide 65
The gains are real!
Slide 66
Slide 67
Slide 68
Developer productivity is the n ext frontier × We figured out (most of) DevOps × If you want to excel in your production environment, you know how × But what about your path to production? × There is work to be done there. × DPE is the way to go!
Slide 69
Learn more and try it today!
× × × ×
Take the Gradle/Maven Speed Challenge! Be DPE Agent of Change! Read the DPE Handbook! Watch the DPE Summit keynotes!
x
speaking.jbaru.ch
Slide 70
y l r Ea e h g! t f of ricin arw 0 $50 Bird p dv5b e d o c e s U
Slide 71
THANKS! Q&A and Twitter X/Bsky/Mastodon/LinkedIn ads: x @jbaruch x #DevOpsVision x speaking.jbaru.ch