A presentation at DevOpsDays Salt Lake City in in Salt Lake City, UT, USA by Baruch Sadogursky
Software Engineering Theory vs. Practice: A Song of Ice and Tire Fire
Senior SRE Leader at Google Thought Leader, Disruptive Innovator Senior Software Engineer at Netflix SVP of Thoughts at Facebook Obviously better than you Disclaimer: absolutely
Official Hiptech Translator Native proficiency in Russian, Hebrew, English, Java, Go Curses in 18 more languages Fluent in Thought Leader gibberish Disclaimer: some of the above may or may not be true. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Baruch, Thought Leader Away! @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Everybody’s software must be releasable at absolutely any time @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Everyone must have 100% test automation @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
We do Continuous Security well. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Your greatest threat is an outage. Not an employee. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
VMs are the enemy of DevOps. This is where you must focus your innovation. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
You are a beautiful unique snowflake, as are your problems. No vendor could possibly understand them. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Our company is based in SF because that’s where the best engineers are. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
THANK YOU! @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
How did we get here? @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
TIMEThereFOR BULLET POINTS could be text here too • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets
TIMEThereFOR BULLET POINTS could be text here too • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets • Gotta love bullets
Cargo Cult @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
The Four Questions @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
The Four Questions 1. Is my organization/team ready to adopt a new tech? 2. Is it even a good tech? 3. What do I gain from adopting this tech? 4. Is this tech a good solution to my problem?
The Four Questions 1. Is my organization/team ready to adopt a new tech? 2. Is it even a good tech? 3. What do I gain from adopting this tech? 4. Is this tech a good solution to my problem?
Is my organization /team ready to adopt a new tech? 1. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
• “A maturity model is a tool that Introducing maturity models helps people assess the current effectiveness of a person or group and supports figuring out what capabilities they need to acquire next in order to improve their performance. • In many circles maturity models have gained a bad reputation, but although they can easily be misused, in proper hands they can be helpful.” - • Martin Fowler @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
• “A maturity model is a tool that Introducing maturity models helps people assess the current effectiveness of a person or group and supports figuring out what capabilities they need to acquire next in order to improve their performance. • In many circles maturity models have gained a bad reputation, but although they can easily be misused, in proper hands they can be helpful.” - • Martin Fowler @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Introducing maturity models Nicole Forsgren, Jezz Hamble, Gene Kim @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Bad Maturity Models are Bad. Bad Maturity Models Good Maturity Models Goal Process Prescribed by the book One size doesn’t fit all Checkboxes for tools Focus on outcomes Write and forget Constantly evolve
Maturity model components Evaluation factors Scoring methodology Self assessment vs 3rd party assessment capability Progress tracking Visualization @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Maturity Model Examples @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Simple model @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Progress planning Target Today @jbaruch @nashvilledevops In 2Q #DevOpsDays jfrog.com/shownotes
Leader board Team B Team A Team C Team D Team E @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Account for different teams’ priorities @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Model definition example System config as Code The infrastructure configuration is managed as code - e.g. no manual processes for configuring/setting up/ infrastructure. Differentiating: Infrastructure operates without any manual processes. All changes to the infrastructure or infrastructure capabilities are done through automation and policy only. Complete: Infrastructure operates without any manual processes. Some infrequent administrative activities may be initiated manually (although the activities themselves must be automated). Partial (Most): Infrastructure operates without any manual processes. Some infrequent administrative activities may be manual, pending automation. Partial (Much): Infrastructure operates with significant automation. Some processes still manual; pending automation. Partial (Some): Infrastructure requires significant care and feeding. Many processes still manual; pending automation. No Support: While some functions may be automated, they are generally kicked-off manually; and many functions are still fully manual. Large backlog of automation items. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Applying maturity models: DOs and DONT’s Only use primary colors Involve your teams in the model definition Let team self assess first and then assess together Partner with forward looking teams first Remember being at 100% is not a goal the model has to have a stretch goal Evolve the model from time to time And …. @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Our message is: https://martinfowler.com/bliki/MaturityModel.html @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch Is it even a good tech? @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
@jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
Can I have my own? @jbaruch @nashvilledevops #DevOpsDays jfrog.com/shownotes
The Recap: The Four Questions 1. Is my organization/team ready to adopt a new tech? 2. Is it even a good tech? 3. What do I gain from adopting this tech? 4. Is this tech a good solution to my problem?
In many DevOps talks, you see a speaker from a renowned tech company stand up and describe a perfect utopia of an environment. You look at the perfect environment and dedicated hordes of senior engineers they describe, and you despair of ever getting to that point. Your environment looks nothing like that.
Surprise– their environment doesn’t really look like that either! In this talk, a speaker from an unnamed tech unicorn describes their amazing environment– and then what they just said gets translated from “thought leader” into plain English for you by an official translator. Stop feeling sad– everything is secretly terrible!