starting with c

26
Starting with C: A DevOps Culture from the Ground Up

Upload: jeffery-smith

Post on 14-Jan-2017

300 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Starting with c

Starting with C:A DevOps Culture from the Ground Up

Page 2: Starting with c

Bio - Jeff Smith

• Manager, Site Reliability Engineering at Grubhub

• Yes, we are also hiring.

• Yes, there is free food. Yes, it's totally awesome to work here.

Email: [email protected]: @DarkAndNerdyBlog: http://www.allthingsdork.com

Page 3: Starting with c
Page 4: Starting with c

What Does DevOps Look Like?

Page 5: Starting with c
Page 6: Starting with c

The 4 Pillars of DevOps• Culture• Automation

• Metrics

• SharingCulture isn't the first pillar just for the sake of the acronym.

Page 7: Starting with c

What is Culture?The values and behaviors that contribute to the unique social and psychological environment of an organization.

• Cultures are both micro and macro.

• Culture is contagious, both good and bad

• Expectations are set by management. Culture is set by employees, so it can be changed by employees.

Page 8: Starting with c

Culture StatementsRespect, Integrity, Communication and Excellence. We treat others as we would like to be treated ourselves....We do not tolerate abusive or disrespectful treatment. Ruthlessness, callousness and arrogance don't belong here.

-- Enron

Every time we serve a customer, we should ask ourselves, “If I were the customer in this situation, how would this experience feel for me?— Wells Fargo

Page 9: Starting with c

But How Does Culture Change?

The Change Agent

Page 10: Starting with c

What Makes a Good Change Agent?Change agents are catalysts for change, but they are not the sole source of change.

• Strong relationships in the organization

• Knowledgable and leads by example

• Patience, patience, patience

• Empathy

Page 11: Starting with c

Tips for Building Your CultureA small list of steps, actions you can take

Page 12: Starting with c

Forming the Team

Teams exist outside of formal org structures because the act of teamwork is what makes a team.

Simple actions can facilitate Team Work

Page 13: Starting with c

Pairing on Problems

Pairing on a problem maximizes information flow between Dev and Ops

• Helps each team member understand the workflow, tools, processes of the other

• Establishes a shared sense of ownership on the problem

• Subconsciously forces the pronoun of the problem to "We"

• Pairing is an opportunity to ask questions

• Pairing reveals dumb limitations

Page 14: Starting with c

Overcommunicate ChangesChange is what drives a wedge between Dev and Ops. Change doesn't happen in a vaccum.

• Systems are too complex. Assume all changes are impactful

• It takes 10 seconds to send an email. Save in-depth technical details for follow ups

• Cast a wide net and then narrow down from there

Page 15: Starting with c

Bonding RitualsGood teams share a level of camaraderie, but that camaraderie needs to be built.

• Create a bonding ritual amongst the team members. Happy hours, eating lunch together, LAN Parties or boardgame sessions

• Make sure the ritual is open and public

A by-product of bonding rituals is that the team begins to know each other, which is an important recipe for building trust.

Page 16: Starting with c

Failure Is Inevitable - Fix the SystemComplex systems will fail from time-to-time. The complexity of the system typically means there's never a single failure point.

• Never discount what portions of the system might be at fault. Treat failures as a team event.

• Rally around fixing the problem

• Accept accountability for the injection of the problem, but fix the system not the individual.

Page 17: Starting with c

I have no idea how I missed this index-dropping script as commissar.

I definitely reviewed the scripts that went into the release, because I pinged Someone about their feature toggle (script #1) and I remember convincing myself that the additional table_name (script #3) were trivial enough to not need any follow-up. I don't have any specific recollection of handling script #2.

All that to say, my bad. I really should've asked more questions about this script before the release.

Moving forward, could we talk about adjusting our process for DB scripts? I'd like to avoid the commissar-as-single-point-of-failure scenario in the future. Additionally, we talked about the need for a new baseline/horizon, and potentially a new tool to replace dbmaintain.

Again, sorry everybody.

Page 18: Starting with c

Empathy Builds ConnectionsShowing empathy for your co-workers and the different challenges that they face in their role goes a long way. Everything is easy on the outside.

• Try to avoid hindsight bias. The facts on the ground might have been different 10 years ago when a decision was made

• Be vulnerable. (Especially Tech leaders) Show and communicate your weaknesses. "I Don't Know" is a perfectly acceptable response

Page 19: Starting with c

Learn a Language Besides Bash

Page 20: Starting with c

Don't Assign Responses to PeopleIt's easy to get into a mode where you think you know how people will respond and therefore don't take action. NEVER DO THIS

• Escalate issues specifically and directly

• Detail is your friend

• If a person can't help you, ask them for a recommendation of someone that can

Page 21: Starting with c

Lunch and LearnCreate an environment of learning. Pick a topic, application, subsystem, process, anything people might not know a ton about and share your knowledge. Ask someone to either do the next one or to suggest a topic to learn more about.

Page 22: Starting with c

Incident ManagementWhen things break, it's an awesome opportunity to build (or destroy) your team building.

• Incidents are not only an OPS or DEV problem. Have representaiton from both.

• Focus on the problem. The why's are only important if they're relevant to your troubleshooting

• Regroup with the entire team after resolution. (Post-mortems) Focus on events, not people. Discuss resolution options from all facets of the problem.

Page 23: Starting with c

WHOA!This is a LOT

Page 24: Starting with c

Start Small• Organize a few "team" lunches. Your org will probably even

cater them (use grubhub.com)

• Organize a Lunch and Learn

• Pair on your next problem

You will see progress. If you don't....

Page 25: Starting with c

www.grubhub.com/careers

Page 26: Starting with c

Thank You!