Slide 1

Slide 1 text

HOW NEW RELIC BUILDS SOFTWARE: A BIOLOGICAL APPROACH TO ARCHITECTURE Brent Miller
 Principal Software Engineer & Architect

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

@foliosus bit.ly/nr-architecture-biology ABOUT ME

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

@foliosus bit.ly/nr-architecture-biology ABOUT YOU

Slide 7

Slide 7 text

@foliosus bit.ly/nr-architecture-biology THE PLAN Armchairs & Engineers Architecture & Evolution Managing & People Learning & Lessons

Slide 8

Slide 8 text

ARMCHAIRS flic.kr/p/qYT5bk & ENGINEERS

Slide 9

Slide 9 text

CONSULT THE
 WISE MAN! flic.kr/p/oRJxRm

Slide 10

Slide 10 text

@foliosus bit.ly/nr-architecture-biology “A single conversation with a wise man is better than 10 years of study.” 與君一席談,勝讀十年書

Slide 11

Slide 11 text

@foliosus bit.ly/nr-architecture-biology –Armchair architects everywhere “Write these 17 lines of code.”

Slide 12

Slide 12 text

https://en.wikipedia.org/wiki/Software-defined_networking

Slide 13

Slide 13 text

@foliosus bit.ly/nr-architecture-biology WHAT’S WRONG WITH THAT?

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

@foliosus bit.ly/nr-architecture-biology WE KNOW. WE TRIED. #FAIL

Slide 16

Slide 16 text

flic.kr/p/iK3sNq AUTONOMY DEBT

Slide 17

Slide 17 text

flic.kr/p/cmLNAA

Slide 18

Slide 18 text

flic.kr/p/y1mx3Z

Slide 19

Slide 19 text

@foliosus bit.ly/nr-architecture-biology Engineers Debt Flexibility Architecture

Slide 20

Slide 20 text

ARCHITECTURE & EVOLUTION

Slide 21

Slide 21 text

@foliosus bit.ly/nr-architecture-biology Ancestral species Child species Child species Child species Time Mutation Mutation Mutation Mutation

Slide 22

Slide 22 text

@foliosus bit.ly/nr-architecture-biology KEY CONCEPTS Mutations accumulate They change the populations The environment is always changing

Slide 23

Slide 23 text

@foliosus bit.ly/nr-architecture-biology Our system now Possibility 1 Possibility 2 Possibility 3 Time Mutation Mutation Mutation Mutation

Slide 24

Slide 24 text

@foliosus bit.ly/nr-architecture-biology Our system now Our system in the future Time

Slide 25

Slide 25 text

HERE THERE flic.kr/p/6HT3cx

Slide 26

Slide 26 text

@foliosus bit.ly/nr-architecture-biology PROCESS

Slide 27

Slide 27 text

@foliosus bit.ly/nr-architecture-biology GOALS FOR OUR PROCESS Engineers Debt Flexibility

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

@foliosus bit.ly/nr-architecture-biology TEAM ORGANIZATION 1. Assigned architects for each team 2. An anchor engineer on each team 3. Quarterly state-of-the-world meeting

Slide 30

Slide 30 text

@foliosus bit.ly/nr-architecture-biology PROJECT ORGANIZATION 4. Architects are technical product managers 5. Continuous engagement with projects

Slide 31

Slide 31 text

@foliosus bit.ly/nr-architecture-biology PUBLIC & TRANSPARENT 6. Public record of decisions 7. Public decision-making 8. Daily office hours

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

@foliosus bit.ly/nr-architecture-biology PUBLIC & TRANSPARENT 6. Public record of decisions 7. Public decision-making 8. Regular office hours

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

@foliosus bit.ly/nr-architecture-biology Ralph Bodenner
 Director at New Relic bit.ly/pull-request-your-culture

Slide 36

Slide 36 text

@foliosus bit.ly/nr-architecture-biology PUBLIC & TRANSPARENT 6. Public record of decisions 7. Public decision-making 8. Daily office hours

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

@foliosus bit.ly/nr-architecture-biology ENCOURAGE MUTATION 9. Process for experiments

Slide 39

Slide 39 text

@foliosus bit.ly/nr-architecture-biology Experiments Product managers Notes (requirements) System changes

Slide 40

Slide 40 text

@foliosus bit.ly/nr-architecture-biology PROCESS 1. Assigned architects for each team 2. Anchor engineer on each team 3. Quarterly state-of-the-world meeting with each team 4. Architects are technical product managers 5. All projects need architect sign-off 6. Public record of decisions 7. Public, consultative decision making 8. Daily office hours 9. Experiments

Slide 41

Slide 41 text

@foliosus bit.ly/nr-architecture-biology PROCESS 1. Assigned architects for each team 2. Anchor engineer on each team 3. Quarterly state-of-the-world meeting with each team 4. Architects are technical product managers 5. All projects need architect sign-off 6. Public record of decisions 7. Public, consultative decision making 8. Daily office hours 9. Experiments

Slide 42

Slide 42 text

@foliosus bit.ly/nr-architecture-biology ENGAGEMENT IS #1!

Slide 43

Slide 43 text

PEOPLE & SURPRISES flic.kr/p/oiTbFU

Slide 44

Slide 44 text

@foliosus bit.ly/nr-architecture-biology WHERE DOES MY TIME GO? ■ Boxes & arrows ■ Brokering agreement across
 teams ■ Bringing tech context to teams ■ Bringing biz context to teams ■ Crystal ball prognostication ■ Technical product manager ■ Unblocking teams with tech trouble ■ Mentoring engineers

Slide 45

Slide 45 text

@foliosus bit.ly/nr-architecture-biology WHERE DOES MY TIME GO? ■ Boxes & arrows ■ Brokering agreement across
 teams ■ Bringing tech context to teams ■ Bringing biz context to teams ■ Crystal ball prognostication ■ Technical product manager ■ Unblocking teams with tech trouble ■ Mentoring engineers

Slide 46

Slide 46 text

@foliosus bit.ly/nr-architecture-biology I mentor people and build
 teams that build software

Slide 47

Slide 47 text

@foliosus bit.ly/nr-architecture-biology I’m a manager!

Slide 48

Slide 48 text

@foliosus bit.ly/nr-architecture-biology I SUSPECT YOU ARE SECRETLY A MANAGER TOO

Slide 49

Slide 49 text

@foliosus bit.ly/nr-architecture-biology Software architecture isn’t just a technical job, it’s a human job.

Slide 50

Slide 50 text

LESSONS & LEARNING flic.kr/p/votVC2

Slide 51

Slide 51 text

@foliosus bit.ly/nr-architecture-biology TAKE-HOME FOR BETTER ARCHITECTURE Empower engineers Engage with them Be public Be flexible Be willing to talk a lot Focus on the humans

Slide 52

Slide 52 text

@foliosus bit.ly/nr-architecture-biology OUR PROCESSES
 EVOLVE AS WELL! bit.ly/pull-request-your-culture

Slide 53

Slide 53 text

@foliosus bit.ly/nr-architecture-biology THANK YOU! Questions, comments: find me later, or tweet to @foliosus