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 @austindevops jfrog.com/shownotes

Baruch, Thought Leader Away! @jbaruch @austindevops jfrog.com/shownotes

Everybody’s software must be releasable at absolutely any time @jbaruch @austindevops jfrog.com/shownotes

Everyone must have 100% test automation @jbaruch @austindevops jfrog.com/shownotes

We do Continuous Security well. @jbaruch @austindevops jfrog.com/shownotes

Your greatest threat is an outage. Not an employee. @jbaruch @austindevops jfrog.com/shownotes

VMs are the enemy of DevOps. This is where you must focus your innovation. @jbaruch @austindevops jfrog.com/shownotes

You are a beautiful unique snowflake, as are your problems. No vendor could possibly understand them. @jbaruch @austindevops jfrog.com/shownotes

Our company is based in SF because that’s where the best engineers are. @jbaruch @austindevops jfrog.com/shownotes

THANK YOU! @jbaruch @austindevops jfrog.com/shownotes

Shownotes! ● ● ● ● ● ● jfrog.com/shownotes Slides Video (by tomorrow) All the links! Comments, Ratings Raffle! @jbaruch @austindevops jfrog.com/shownotes

How did we get here? @jbaruch @austindevops 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 @austindevops jfrog.com/shownotes

The Four Questions @jbaruch @austindevops 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 @austindevops jfrog.com/shownotes

• “A maturity model is a tool that 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. Introducing maturity models • 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 @austindevops jfrog.com/shownotes

• “A maturity model is a tool that 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. Introducing maturity models • 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 @austindevops jfrog.com/shownotes

Introducing maturity models Nicole Forsgren, Jezz Hamble, Gene Kim @jbaruch @austindevops jfrog.com/shownotes

Introducing maturity models Nicole Forsgren, Jezz Hamble, Gene Kim @jbaruch @austindevops jfrog.com/shownotes

Bad Maturity Models are Bad. Maturity is a process, not a goal One size does not fit all organizations (or teams in organization) Focus on outcomes, not existence of a process or a tool Always evolve the model as the industry and the organization evolves

Maturity model components Evaluation factors Scoring methodology Self assessment vs 3rd party assessment capability Progress tracking Visualization @jbaruch @austindevops jfrog.com/shownotes

Maturity Model Examples @jbaruch @austindevops jfrog.com/shownotes

Simple model @jbaruch @austindevops jfrog.com/shownotes

Progress planning Target Today @jbaruch @austindevops In 2Q jfrog.com/shownotes

Leader board Team B Team A Team C Team D Team E @jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

A different approach @jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

Account for different teams’ priorities @jbaruch @austindevops 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 @austindevops 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 @austindevops jfrog.com/shownotes

Our message is: https://martinfowler.com/bliki/MaturityModel.html @jbaruch @austindevops jfrog.com/shownotes

@jbaruch Is it even a good tech? @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops jfrog.com/shownotes

@jbaruch @austindevops 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?

Thank you very much! ● ● ● Shownotes! @jbaruch @austindevops @jbaruch @austindevops jfrog.com/shownotes

Things that are not questions ● ● ● Your résumé Calling bullshit on the entire premise of the talk A long rambling story with no point @jbaruch @austindevops jfrog.com/shownotes