changing the laws of engineering with github pull requests

57
©2008-15 New Relic, Inc. All rights reserved. Presenter Name, Title and or Date @ralphbod Slides https://bit.ly/pull-request-your-culture Changing the Laws of Engineering with GitHub Pull Requests

Upload: new-relic

Post on 11-Apr-2017

334 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.  

Presenter Name, Title and or Date@ralphbod Slides https://bit.ly/pull-request-your-culture

Changing the Laws of Engineeringwith GitHub Pull Requests

Page 2: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.  

This document and the information herein (including any information that may be incorporated by reference) is provided for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission.

Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of the statement will include words such as “believes,” “anticipates,” “expects” or words of similar import.

Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is included in the filings we make with the SEC from time to time. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at ir.newrelic.com or the SEC’s website at www.sec.gov.

New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.

Page 3: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.   3

Culture Why you do things.

Metaprocess

ProcessEntropy

How you change.

What you do, today.

Holding you down.

Page 4: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 4

Page 5: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 5

Page 6: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved.

Page 7: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved.

Page 8: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 8

The results

85 309 43 Comments Commenters

(40% of Engineering)PRs

merged(+48 closed)

Engineerscommitting

(+41 others)

1,920

numbers to be

updated

Page 9: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 9

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily Bias for action Autonomy Editorial control

Page 10: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.  

The Great Title Debate

10

1 / 5

Page 11: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved.

Engineer

Page 12: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 12

Margaret Hamilton, engineer who coined

“software engineering”

Page 13: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Software EngineerSenior Software Engineer

Lead Software EngineerPrincipal Software Engineer

Distinguished Software EngineerEngineering ManagerSenior Engineering ManagerDirector of Engineering

Page 14: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Process

=What you do because it works at the time

Page 15: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 15

What we wantProcesses embody culture Processes are repeatable (efficient, fair)

Page 16: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.Confidential ©2008-15 New Relic, Inc. All rights reserved.  

16

Ye Olde Metaprocess

Page 17: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 17

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive

Page 18: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

150

Page 19: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 19

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down

Page 20: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 20

HOW ABOUT A WIKI?

Page 21: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

The append-only Wiki

2 / 5

Page 22: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 22

Copypasta feeds inertia

Page 23: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 23

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily

Page 24: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

The Vestigial Manual Tests

3 / 5

Page 25: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 25

Page 26: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 26

Culture > Process

Page 27: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 27

Culture is the reason for Process

Page 28: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.  

Entropy

28

Page 29: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 29

You need a way to close the Culture / Process gap

Page 30: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 30

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily Bias for action Autonomy

Page 31: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 31

4 / 5

This document and the information herein (including any information that may be incorporated by reference) is provided for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission.

Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of the statement will include words such as “believes,” “anticipates,” “expects” or words of similar import.

Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is included in the filings we make with the SEC from time to time. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at ir.newrelic.com or the SEC’s website at www.sec.gov.

New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.

Our business is not a democracy

Page 32: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 32

The Boss

Page 33: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 33

Open Source is not a democracy

Page 34: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 34

What we wantProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily Bias for action Autonomy Editorial control

Page 35: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.   35

a ideathe

5 / 5

Page 36: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Culture as Code

Page 37: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 37

Page 38: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

GitHub Pages Jekyll

Markdown + HTML

Page 39: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved.

Page 40: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved.

Processes embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily Bias for action Autonomy Editorial control

40

What we gotProcesses embody culture Processes are repeatable (efficient, fair) Transparent Inclusive Discoverable Single source of truth, written down Update / delete easily Bias for action Autonomy Editorial control

Page 41: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Things we learned

Page 42: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 42

Do write together

Page 43: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 43

Actively discourage email discussion

Page 44: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 44

“Lowers the contribution barrier…”

Page 45: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.©2008-15 New Relic, Inc. All rights reserved. 45

~50% of discussionafter merge

Moderate!Is it useful?

Page 46: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

git clone culture

6 / 5

Page 47: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved. 47

Page 48: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.  

Why did we think this was a good idea?

48

Page 49: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.  

Why > What

49

Page 50: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Junior Software Engineer Software Engineer

Senior Software EngineerLead Software Engineer

Principal Software EngineerDistinguished Software Engineer

Engineering ManagerSenior Engineering ManagerDirector of Engineering

Page 51: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Software EngineerSenior Software EngineerLead Software Engineer

Principal Software EngineerDistinguished Software Engineer

Engineering ManagerSenior Engineering ManagerDirector of Engineering

Page 52: Changing The Laws Of Engineering With Github Pull Requests

Confidential ©2008-15 New Relic, Inc. All rights reserved.  

Pull Request knows why

52

Page 53: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Ask why.

Page 54: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Thank you!

Thank You!Confidential ©2008-15 New Relic, Inc. All rights reserved. 15

Ralph Bodenner@ralphbod

Slides https://bit.ly/pull-request-your-culture

Thank youslide

in FS15

Page 55: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

This talk was the work of at least 18 people.

@belindarunkle@danarelic@feministy@foliosus@kfrugia@kwugirlMatt Otis@mewzherder@mflaming@nerdygirl@nicbenders@qkate@relistan@spkane@SXavier_NwRelic@WardCunningham@xensesthegreat

55

Acknowledgements

Thanks for your help in shaping this talk and in making New Relic awesome!

Page 56: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Valve Handbook for New Employees http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdfGitHub: Quick Pull Requests https://github.com/blog/1945-quick-pull-requests

56

References

Page 57: Changing The Laws Of Engineering With Github Pull Requests

©2008-15 New Relic, Inc. All rights reserved.

Valve Working without a Boss http://www.blogcdn.com/www.joystiq.com/media/2012/04/screen-shot-2012-04-23-at-11.24.33-am.jpg

Valve cover http://i.kinja-img.com/gawker-media/image/upload/s--ANyPdiwb--/17k9nffv4tn36jpg.jpg

Constitutional Convention http://en.wikipedia.org/wiki/Convention_to_propose_amendments_to_the_United_States_Constitution

Margaret Hamilton with her code http://upload.wikimedia.org/wikipedia/commons/2/2e/Margaret_Hamilton.gif Ward Cunningham http://upload.wikimedia.org/wikipedia/commons/3/30/Ward_Cunningham_1.jpg Scumbag appendix http://imgur.com/gallery/254ANHP

Pair keypunching http://en.wikipedia.org/wiki/File:Keypunching_at_Texas_A%26M2.jpg

57

Image References