+ All Categories
Home > Engineering > Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Date post: 13-Apr-2017
Category:
Upload: joy-scharmen
View: 415 times
Download: 2 times
Share this document with a friend
56
The Virtuous Cycle Getting Good Things Out of Bad Failures Joy Scharmen
Transcript
Page 1: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

The Virtuous CycleGetting Good Things Out of Bad Failures

Joy Scharmen

Page 2: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

I’m here to talk about failure.

Page 3: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Why talk about failure?

Failure is amazing.

Failure is our best teacher.

Page 4: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

How do we learn from failure?

Page 5: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Have you ever run out of integers

in an auto-incrementing

primary key column in a database?

Page 6: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures
Page 7: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Looking at you, ActiveRecord.

Frameworks that default to INT

Page 8: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Assumptions about the size of your database.(before it hits production)

Page 9: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Just not thinking about itI’m just happy that it works at all.

Page 10: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Oops, I did it again.

We had this happen to us twice.

...then it happened a third time.

Page 11: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

And we’re an operations company.

┬─┬ ノ ( ゜ -゜ノ )

Page 12: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

First, consider it more deeply.Σ(-᷅_-᷄๑)

Page 13: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

We fixed one occurrence. It was simple.

Page 14: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

It happened again. Same fix.

Page 15: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Then it happened again.Obviously what we are doing here isn’t working.

Page 16: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Who here is familiar with retrospectives?

ret·ro·spec·tiveˌretrəˈspektiv/adjective

1. looking back on or dealing with past events or situations.

Page 17: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Who has been to a boring retrospective?

I have. I’ve run them. Sorry.

Page 18: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

A retrospective is the pivot point between failure and

learning.If it’s boring, no one is learning.

Page 19: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

How do we have non-boring retrospectives?

Page 20: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Create engagement. Prepare!

Don’t force people to watch the sausage being made.

Page 21: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Before the retrospective:

Choose a facilitatorThey should know who was involved and why.

Page 22: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Before the retrospective:

Build a timelineGather your facts.

Page 23: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Use your tools wisely“We become what we behold. We shape our tools, and thereafter our tools shape

us.” ― Marshall McLuhan

Page 24: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Retrospective PrepIncident ManagementChatOps

Bot Tools

SitReps

Time

Outreach

Organization

My Tools For

Page 25: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal incident management tool belt:ChatOps

Page 26: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal incident management tool belt:Bot Tools

Page 27: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal incident management tool belt:SitReps

Page 28: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal retrospective toolbelt:TimeBlock out time.

Page 29: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal retrospective toolbelt:OutreachHave roles defined.

Page 30: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

My personal retrospective toolbelt:OrganizationSend out the agenda, including the timeline, the day before the retrospective.

Page 31: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

People should show up to a retrospective with context to begin a discussion.

Page 32: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Everyone is in the retrospective. The timeline is done. How do we start?

Page 33: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Have the most involved engineer give a brief summary of what happened.

Page 34: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Make sure everyone is engaged.

Read the room.

Page 35: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Be compassionate for your customers.

Talk about customer impact.

Page 36: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Take note.

Page 37: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Pick the point you want to start from and dive in.

Page 38: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

If you ever get to “human error”, keep digging.

Page 39: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

No, really.

If you ever get to “human error”, keep digging.

Page 40: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Most Important:Always Assume Good Intent

Page 41: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Defensiveness kills retrospection.

Page 42: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

One way you can tell a retrospective is good:

you have a ridiculous list of remediation items.

Page 43: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

“re-architect the whole platform”

Remediations can be anything from:

“fix typo on line 5”.

“make the speed of light go faster”.

to

to

Page 44: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Don’t do every remediation.

Don’t discount big projects!

and

Page 45: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

What do you do with all of these remediations?Bring them to product as well as

engineering!

Page 46: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Product can be your best friend.

Do you have a need? Your customers do too.

Product is great at getting needs in front of customers.

Page 47: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Heroku PipelinesPipelines is a product that came out of an engineering need.

Page 48: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Is your fix a small thing you can add to existing

customer tools?Engineering should be able to do this

with minimal product sign off.

Page 49: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

You can improve your customers’ experience.

Your customers, your fellow engineers, and your community can benefit from

your own needs and hard won experience.

Page 50: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Back to the story.

Page 51: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Done: Tooling

Page 52: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Done: Process

Page 53: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Next: Automation

Page 54: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Next: Fix inputs

* https://github.com/rails/rails/pull/24962

Page 55: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Every failure is a chance to learn.Make those chances count.

Thank you.

Page 56: Joy Scharmen - The Virtuous Cycle: Getting Good Things Out of Bad Failures

Joy Scharmen / @peculiaire / [email protected]

Retrospective Resource Wiki:http://retrospectivewiki.org

https://www.oreilly.com/ideas/the-infinite-howsInfinite Hows:

https://devcenter.heroku.comHeroku Dev Center:

https://github.com/peculiaire/incident-lifecycle/blob/master/retrotemplate.md

Retrospective Template:


Recommended