the influential architect - carnegie mellon university...envato ‣ 4 groups with 3-8 software...

222
SATURN 2017 Title of the Presentation Goes Here © 2017 [Copyright Owner[s]] The Influential Architect © 2017 Sebastian von Conrad 1 The Influential Architect Succeeding At Scale Among Fully Autonomous Teams Sebastian von Conrad

Upload: others

Post on 20-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 1

The Influential ArchitectSucceeding At Scale Among Fully Autonomous Teams

Sebastian von Conrad

Page 2: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 2

👋

Page 3: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 3

Page 4: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 4

We’re a marketplacefor digital creatives.

Page 5: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato

Page 6: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato‣ Founded in 2006.

Page 7: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato‣ Founded in 2006.

‣ Paid > $500m USD to our content authors.

Page 8: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato‣ Founded in 2006.

‣ Paid > $500m USD to our content authors.

‣ > 300 staff worldwide.

Page 9: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato‣ Founded in 2006.

‣ Paid > $500m USD to our content authors.

‣ > 300 staff worldwide.

‣ > 100 people in the Technology team, reporting to CTO.

Page 10: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 5

Envato‣ Founded in 2006.

‣ Paid > $500m USD to our content authors.

‣ > 300 staff worldwide.

‣ > 100 people in the Technology team, reporting to CTO.

‣ 1 Software Architect. (Me!)

Page 11: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 6

Envato Org ChartCTO

Senior Eng. Mgr.

Senior Eng. Mgr.

Senior Eng. Mgr.

Senior Eng. Mgr.

SoftwareArchitect

Page 12: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato

Page 13: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

Page 14: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

Page 15: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

Page 16: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

‣ Every team has 4-8 Engineers.

Page 17: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

‣ Every team has 4-8 Engineers.

‣ Every team has a Engineering Team Lead.

Page 18: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

‣ Every team has 4-8 Engineers.

‣ Every team has a Engineering Team Lead.

‣ Every team has a Technical Lead (usually Team Lead or Senior Engineer.)

Page 19: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

‣ Every team has 4-8 Engineers.

‣ Every team has a Engineering Team Lead.

‣ Every team has a Technical Lead (usually Team Lead or Senior Engineer.)

‣ One job: answering “why did you do it that way?”

Page 20: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 7

Envato‣ 4 Groups with 3-8 Software Engineering teams each.

‣ 23 Software Engineering teams in total:

‣ Every team is cross-functional (PO, UX, Frontend, Backend, DevOps.)

‣ Every team has 4-8 Engineers.

‣ Every team has a Engineering Team Lead.

‣ Every team has a Technical Lead (usually Team Lead or Senior Engineer.)

‣ One job: answering “why did you do it that way?”

‣ 1 Software Architect. (Me!)

Page 21: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato

Page 22: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

Page 23: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

Page 24: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

‣ Including technologies (languages, databases, etc).

Page 25: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

‣ Including technologies (languages, databases, etc).

‣ Each team is accountable for their own decisions.

Page 26: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

‣ Including technologies (languages, databases, etc).

‣ Each team is accountable for their own decisions.

‣ Each team owns systems.

Page 27: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

‣ Including technologies (languages, databases, etc).

‣ Each team is accountable for their own decisions.

‣ Each team owns systems.

‣ Includes operational responsibility, budgets, etc.

Page 28: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 8

Envato‣ No central control and command over technology decisions.

‣ Each team is autonomous and make their own decisions.

‣ Including technologies (languages, databases, etc).

‣ Each team is accountable for their own decisions.

‣ Each team owns systems.

‣ Includes operational responsibility, budgets, etc.

‣ Every system must be owned by a team.

Page 29: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 9

My job is to improve the qualityof technical decisions.

Without any authority.

Page 30: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 10

More often than not, it feels like my job is to fight entropy.

Page 31: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 11

And I don’t scale very well.

Page 32: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 12

😱

Page 33: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 13

The only way I can affect meaningful change is to influence

the decision-makers.

Page 34: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 14

I have to focus on people,not technology.

Page 35: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 15

And get them to do my job for me.

Seriously.

Page 36: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 16

Page 37: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 17

We have anArchitecture Guild

Page 38: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild

Page 39: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild‣ It’s a group that discusses and determines things (we'll get to what later).

Page 40: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild‣ It’s a group that discusses and determines things (we'll get to what later).

‣ It's a sounding board for technical decisions.

Page 41: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild‣ It’s a group that discusses and determines things (we'll get to what later).

‣ It's a sounding board for technical decisions.

‣ It's a forum for share knowledge and learn from each other.

Page 42: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild‣ It’s a group that discusses and determines things (we'll get to what later).

‣ It's a sounding board for technical decisions.

‣ It's a forum for share knowledge and learn from each other.

‣ Anyone in the Technology team is welcome to participate.

Page 43: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 18

Envato’s Architecture Guild‣ It’s a group that discusses and determines things (we'll get to what later).

‣ It's a sounding board for technical decisions.

‣ It's a forum for share knowledge and learn from each other.

‣ Anyone in the Technology team is welcome to participate.

‣ Some participants are mandatory. (I get to decide who.)

Page 44: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 19

Let’s talk about the things that we do

Page 45: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda

Page 46: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda‣ Transparent Decision-making

Page 47: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda‣ Transparent Decision-making

‣ The Light on the Hill

Page 48: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda‣ Transparent Decision-making

‣ The Light on the Hill

‣ Architectural Principles

Page 49: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda‣ Transparent Decision-making

‣ The Light on the Hill

‣ Architectural Principles

‣ Sensible Defaults

Page 50: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 20

Agenda‣ Transparent Decision-making

‣ The Light on the Hill

‣ Architectural Principles

‣ Sensible Defaults

‣ Strategic Design

Page 51: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 21

Disclaimer: the plural of anecdote is not data.

Page 52: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 22

Disclaimer: I don’t claim to have come up with

anything new.

Page 53: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 23

TransparentDecision-making

Page 54: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 24

Document and Communicate Intentions.

Page 55: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 25

Project docs.

Page 56: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs

Page 57: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

Page 58: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

Page 59: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

Page 60: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

‣ Key constraints

Page 61: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

‣ Key constraints

‣ Quality Attributes we’re optimising for

Page 62: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

‣ Key constraints

‣ Quality Attributes we’re optimising for

‣ Quality Attributes we’re not optimising for

Page 63: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

‣ Key constraints

‣ Quality Attributes we’re optimising for

‣ Quality Attributes we’re not optimising for

‣ Solution summary

Page 64: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 26

Project Docs‣ 2-6 pages.

‣ Table of Contents:

‣ What’s this about?

‣ Key constraints

‣ Quality Attributes we’re optimising for

‣ Quality Attributes we’re not optimising for

‣ Solution summary

‣ Effects on existing systems

Page 65: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 27

Project Docs

Page 66: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 27

Project Docs‣ Doesn’t take long to create—a few hours.

Page 67: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 27

Project Docs‣ Doesn’t take long to create—a few hours.

‣ Timing is everything.

Page 68: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 27

Project Docs‣ Doesn’t take long to create—a few hours.

‣ Timing is everything.

‣ “Ghost writing” services offered.

Page 69: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 27

Project Docs‣ Doesn’t take long to create—a few hours.

‣ Timing is everything.

‣ “Ghost writing” services offered.

‣ Interview team, write for them.

Page 70: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck

Page 71: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

Page 72: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

Page 73: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

‣ Doesn’t have to scale.

Page 74: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

‣ Doesn’t have to scale.

‣ Establish precedent.

Page 75: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

‣ Doesn’t have to scale.

‣ Establish precedent.

‣ Create templates.

Page 76: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

‣ Doesn’t have to scale.

‣ Establish precedent.

‣ Create templates.

‣ Share knowledge

Page 77: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 28

Architect as Bottleneck‣ “Ghost writing” doesn’t scale.

‣ Team Lead: “I feel like you’re more ‘ghost’ than ‘writer’.”

‣ Doesn’t have to scale.

‣ Establish precedent.

‣ Create templates.

‣ Share knowledge

‣ Make teams self-sufficient.

Page 78: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback

Page 79: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

Page 80: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

Page 81: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

‣ Buy-in from technical stakeholders is desired.

Page 82: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

‣ Buy-in from technical stakeholders is desired.

‣ Revisions are expected.

Page 83: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

‣ Buy-in from technical stakeholders is desired.

‣ Revisions are expected.

‣ Quick iteration.

Page 84: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

‣ Buy-in from technical stakeholders is desired.

‣ Revisions are expected.

‣ Quick iteration.

‣ If you miss your chance to comment, tough.

Page 85: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 29

Project Docs Feedback‣ Anyone can comment.

‣ Everyone comments.

‣ Buy-in from technical stakeholders is desired.

‣ Revisions are expected.

‣ Quick iteration.

‣ If you miss your chance to comment, tough.

‣ Tool: Google Docs.

Page 86: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is
Page 87: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is
Page 88: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is
Page 89: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is
Page 90: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is
Page 91: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 35

Side note: we’re also experimenting with ADRs, go watch Michael Keeling’s talk.

Page 92: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 36

The Light on The Hill

Page 93: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 37

Teams need a Technical Vision.

Page 94: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 38

…it’s not a roadmap!

Page 95: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill

Page 96: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

Page 97: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

Page 98: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

‣ Guides technical decision-making.

Page 99: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

‣ Guides technical decision-making.

‣ Keeps teams honest: are we heading in the right direction?

Page 100: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

‣ Guides technical decision-making.

‣ Keeps teams honest: are we heading in the right direction?

‣ If not (which is okay), at least we’re conscious of it and do it for the right reasons.

Page 101: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

‣ Guides technical decision-making.

‣ Keeps teams honest: are we heading in the right direction?

‣ If not (which is okay), at least we’re conscious of it and do it for the right reasons.

‣ Each group has their own Light on the Hill.

Page 102: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 39

Light on the Hill‣ A vision, not a roadmap.

‣ Our best guess of what the future looks like.

‣ Guides technical decision-making.

‣ Keeps teams honest: are we heading in the right direction?

‣ If not (which is okay), at least we’re conscious of it and do it for the right reasons.

‣ Each group has their own Light on the Hill.

‣ The group’s Senior Engineering Manager (or their designated delegates) owns the Light on the Hill.

Page 103: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 40

Great results, through business and product stakeholder buy-in.

Page 104: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill

Page 105: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill‣ Initially, a big giant doc/diagram for each group.

Page 106: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill‣ Initially, a big giant doc/diagram for each group.

‣ Yeah, that didn’t work.

Page 107: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill‣ Initially, a big giant doc/diagram for each group.

‣ Yeah, that didn’t work.

‣ Hard to maintain: got out of date quickly.

Page 108: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill‣ Initially, a big giant doc/diagram for each group.

‣ Yeah, that didn’t work.

‣ Hard to maintain: got out of date quickly.

‣ Information overload.

Page 109: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 41

Expressing a Light on the Hill‣ Initially, a big giant doc/diagram for each group.

‣ Yeah, that didn’t work.

‣ Hard to maintain: got out of date quickly.

‣ Information overload.

‣ Difficult for technical folks, much less non-technical stakeholders, to wrap their heads around it.

Page 110: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 42

Instead, we sliced by capability.

Page 111: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 43

…and used visual storytelling.

Page 112: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 44

The Anatomy of a Story

Page 113: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 44

The Anatomy of a Story‣ In the past…

Page 114: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 44

The Anatomy of a Story‣ In the past…

‣ Then something happened…

Page 115: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 44

The Anatomy of a Story‣ In the past…

‣ Then something happened…

‣ Now we’re…

Page 116: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 44

The Anatomy of a Story‣ In the past…

‣ Then something happened…

‣ Now we’re…

‣ So that in the future…

Page 117: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 45

Let’s use a real example!

Page 118: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

Federated User InformationLight on the Hill

Page 119: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketIn the beginning, products like Market had all information about their users in their own databases.

Page 120: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketThen when we were building Studio, we decided that we would benefit from sharing user information between products.

We built account.envato.com (SSO) to provide a unified sign up/in experience and share user information between products.

Studio

SSO

Page 121: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketOf course, not all information made its way over to SSO. Both Market and Studio also collected their own information about users.

Studio

SSO

Page 122: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketOver time, more of the products we built were integrated with SSO, all the while also capturing their own information relevant to them.

Studio

SSO

Elements ...

Page 123: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketWe also wanted to share more information than just basic user details, such as billing details and tax information.

We built a system called Identity to hold this information.

Now, to get the information about users product wanted, they had to integrate with both Identity and SSO.

Studio

SSO

Elements ...

Identity

Page 124: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

MarketWe are now finding that there is information in the products themselves that other products are interested in.

For example, Market might want to know if a user is an Elements subscriber so they can give discounts on Market purchases.

Studio

SSO

Elements ...

Identity

Page 125: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

What we’ve ended up with is that different products and systems each hold a different aspect of what we know about a user.

Some of the systems that have key information are ones we haven’t built ourselves, like Zendesk or Discourse (our community forums).

SSO Identity Elements

Market Tuts+ Studio

Zendesk Salesforce Discourse

Page 126: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

With information about users scattered around different products and systems, giving products and systems the information they need is quickly becoming a problem.

Lots of integration points and interdependencies makes systems harder to manage and change.

Page 127: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

X

In the future, we will build a new system (tentatively called X) which holds a federated view of users.

Page 128: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

X

To get information into X, a Watcher will “watch” a particular source of user information.

The Watcher will send the information it retrieves from the source to X.

X will only ever have a copy of the information. The source will still be the source of truth.

Watcher

Source

Pull

Push

Page 129: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

There will be many Watchers that each watch different systems for information.

Some Watchers may watch several systems, while others only watch one.SSOIdentity

Watcher WatcherWatcher

Elements

Market

Watcher Watcher

Elements

Zendesk

Page 130: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

X

The many Watchers will push the information they retrieve from the source systems to X.

Watcher WatcherWatcher Watcher

Page 131: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

In collecting this data, X can present a federated view of the information we have about the user.

Over time, products will start asking X for information about users, rather than integrating with every other system directly.

Studio ...

X

Market Elements

Identity SSO

Page 132: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

X

And in the end, the Light on the Hill is for all products and systems to only ever ask X for information about users.

Market Elements Studio ...

Page 133: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 61

The intended audience is not technical folks.

Page 134: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 62

It’s to get broad agreement on technical vision with business and product owners.

Page 135: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 63

This meme has caught on.

Page 136: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill

Page 137: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

Page 138: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

Page 139: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

Page 140: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

‣ Senior stakeholders (e.g. CTO, CFO) if interested.

Page 141: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

‣ Senior stakeholders (e.g. CTO, CFO) if interested.

‣ Outcome is a draft.

Page 142: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

‣ Senior stakeholders (e.g. CTO, CFO) if interested.

‣ Outcome is a draft.

‣ Share with Architecture Guild for feedback, similar to Project Docs.

Page 143: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

‣ Senior stakeholders (e.g. CTO, CFO) if interested.

‣ Outcome is a draft.

‣ Share with Architecture Guild for feedback, similar to Project Docs.

‣ Once ratified, share far and wide. (Demos, exec team meetings, etc.)

Page 144: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 64

Developing a Light on the Hill‣ Workshop with selected participants:

‣ Key tech and product people from group.

‣ Stakeholders from other dependent groups.

‣ Senior stakeholders (e.g. CTO, CFO) if interested.

‣ Outcome is a draft.

‣ Share with Architecture Guild for feedback, similar to Project Docs.

‣ Once ratified, share far and wide. (Demos, exec team meetings, etc.)

‣ Refer to them often.

Page 145: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 65

Architectural Principles

Page 146: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 66

Broad, high-level principles we want all teams to follow.

Page 147: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles

Page 148: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

Page 149: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

Page 150: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

‣ Technology/pattern agnostic.

Page 151: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

‣ Technology/pattern agnostic.

‣ Examples:

Page 152: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

‣ Technology/pattern agnostic.

‣ Examples:

‣ We prefer asynchronous communication.

Page 153: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

‣ Technology/pattern agnostic.

‣ Examples:

‣ We prefer asynchronous communication.

‣ We keep dependencies acyclic and stable.

Page 154: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 67

Architectural Principles‣ 7 ± 2.

‣ Expressed as value statements.

‣ Technology/pattern agnostic.

‣ Examples:

‣ We prefer asynchronous communication.

‣ We keep dependencies acyclic and stable.

‣ We define Quality Attributes for systems and design with them in mind.

Page 155: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 68

Architectural Principles

Page 156: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 68

Architectural Principles‣ They apply to everything technical decision we make.

Page 157: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 68

Architectural Principles‣ They apply to everything technical decision we make.

‣ They are vehicles for accountability.

Page 158: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 68

Architectural Principles‣ They apply to everything technical decision we make.

‣ They are vehicles for accountability.

‣ Anyone is able to hold anyone else accountable to them.

Page 159: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process

Page 160: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process‣ Anonymous suggestion box.

Page 161: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process‣ Anonymous suggestion box.

‣ Curation => first draft.

Page 162: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process‣ Anonymous suggestion box.

‣ Curation => first draft.

‣ Deep discussion on each one => Second draft => Third draft.

Page 163: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process‣ Anonymous suggestion box.

‣ Curation => first draft.

‣ Deep discussion on each one => Second draft => Third draft.

‣ Buy-in was crucial.

Page 164: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 69

Architectural Principles Process‣ Anonymous suggestion box.

‣ Curation => first draft.

‣ Deep discussion on each one => Second draft => Third draft.

‣ Buy-in was crucial.

‣ Once finalised, published.

Page 165: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 70

Sensible Defaults

Page 166: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 71

We see patterns emerge across teams.

Page 167: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 72

Same problem, different team.

Page 168: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 73

Don’t want to reinvent the wheel.

Page 169: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults

Page 170: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

Page 171: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

Page 172: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

‣ Typically originates in practice, not theory.

Page 173: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

‣ Typically originates in practice, not theory.

‣ Described as specifications.

Page 174: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

‣ Typically originates in practice, not theory.

‣ Described as specifications.

‣ Specifications frequently lead to libraries.

Page 175: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

‣ Typically originates in practice, not theory.

‣ Described as specifications.

‣ Specifications frequently lead to libraries.

‣ Includes why as well as what, or we may miss an opportunity to teach.

Page 176: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 74

Sensible Defaults‣ Off-the-shelf solutions to common problems.

‣ E.g. API Design, Authentication, Logging, 3rd Party Integration, Identifying and Handling Sensitive Data.

‣ Typically originates in practice, not theory.

‣ Described as specifications.

‣ Specifications frequently lead to libraries.

‣ Includes why as well as what, or we may miss an opportunity to teach.

‣ The why also enables the sensible default to be challenged.

Page 177: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 75

Sensible Default example: Authentication‣ MUST use request signing.

‣ MUST sign either the entire request body or a hash of the entire request body.

‣ Hashing is RECOMMENDED when the request body is large. Use SHA256 or better for hashing.

‣ MUST sign the following request headers (if they are sent): Content-Length, Content-Type, Date, User-Agent

‣ MUST sign the request path.

‣ MUST set an expiry time for the request.

‣ SHOULD sign any other request headers you deem appropriate.

‣ MAY send a unique identifier for the request and validate server-side to prevent replay attacks.

‣ MUST use TLS/SSL for the request.

‣ SHOULD obtain an externally verifiable certificate for TLS/SSL.

‣ SHOULD whitelist IP addresses of expected clients and fail authentication for requests from other IPs.

‣ MUST drop any requests that failed authentication.

‣ MUST log any requests that failed authentication.

‣ MAY raise on-call alerts for requests that failed authentication if warranted.

Page 178: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults

Page 179: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

Page 180: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

‣ You’ll never get in trouble for using one.

Page 181: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

‣ You’ll never get in trouble for using one.

‣ If you choose not to use one, you’ll be asked why.

Page 182: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

‣ You’ll never get in trouble for using one.

‣ If you choose not to use one, you’ll be asked why.

‣ We don’t want to stymie innovation.

Page 183: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

‣ You’ll never get in trouble for using one.

‣ If you choose not to use one, you’ll be asked why.

‣ We don’t want to stymie innovation.

‣ Have a better idea? Go for it!

Page 184: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 76

Sensible Defaults‣ Sensible Defaults are recommended, but never mandated.

‣ You’ll never get in trouble for using one.

‣ If you choose not to use one, you’ll be asked why.

‣ We don’t want to stymie innovation.

‣ Have a better idea? Go for it!

‣ We can update the default.

Page 185: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 77

Sensible Defaults Process

Page 186: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 77

Sensible Defaults Process‣ Anyone can write a Sensible Default.

Page 187: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 77

Sensible Defaults Process‣ Anyone can write a Sensible Default.

‣ Same process as for everything else: open discussion and iteration.

Page 188: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 78

Strategic Design

Page 189: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 79

This may be controversial…

Page 190: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 80

😬

Page 191: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 81

Architecture exists to serve the needs of the business.

Page 192: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 82

A better architecture allows us to go faster and say “yes” more often.

Page 193: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 83

As such, our architectural goals must follow your business goals.

Page 194: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 84

CEO says “I want to do X…”

Page 195: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 85

Here’s the thing: sometimes the shortcut is right.

Page 196: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 86

I often find myself representing the idealism, out of necessity.

Page 197: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 87

The number one trait I look for in Tech Leads is balance between

Idealism and Pragmatism.

Page 198: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 88

Strategic Design

Page 199: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 88

Strategic Design‣ Understand business objectives and strategy.

Page 200: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 88

Strategic Design‣ Understand business objectives and strategy.

‣ Weigh tradeoffs.

Page 201: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 88

Strategic Design‣ Understand business objectives and strategy.

‣ Weigh tradeoffs.

‣ The design has to be proportionate to the business value.

Page 202: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 88

Strategic Design‣ Understand business objectives and strategy.

‣ Weigh tradeoffs.

‣ The design has to be proportionate to the business value.

‣ Use the Strategic Design graph.

Page 203: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 89

Strategic Design

Competitive advantage

Com

plex

ity

Buy

WTF?KISS

Page 204: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 90

In Summary

Page 205: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 91

I’m not gonna lie…

Page 206: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 92

…sometimes my job would be easier if I could just tell people what to do.

Page 207: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 93

…or at least act as a gatekeeper for their decisions.

Page 208: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 94

But with 23 autonomous teams,that doesn’t scale.

Page 209: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 95

So how do I improve the quality of our Technical Decision-making at scale?

Page 210: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 96

What controls do I put in place?

Page 211: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 97

By making teams accountable to each other.

Page 212: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 98

Sometimes the conversationsare confronting.

Page 213: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 99

“The Architecture Guild is where you go when your impostor syndrome has been

dormant for a while.”- Envato Tech Lead

Page 214: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 100

“The Architecture Guild is like baringyour soul to the world.”

- Envato Senior Engineer

Page 215: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 101

But if I’ve done my job right, the difference is not in the decisions

themselves…

Page 216: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 102

…but the people who make them.

Page 217: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 103

They will express their technical vision as Lights on the Hill.

Page 218: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 104

They will communicate their intent via Project Docs.

Page 219: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 105

They will adhere to Architectural Principles.

Page 220: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 106

They will use (or don't use)Sensible Defaults.

Page 221: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

The Influential Architect © 2017 Sebastian von Conrad 107

They will be Strategic in their Designs.

Page 222: The Influential Architect - Carnegie Mellon University...Envato ‣ 4 Groups with 3-8 Software Engineering teams each. ‣ 23 Software Engineering teams in total: ‣ Every team is

SATURN 2017

Title of the Presentation Goes Here © 2017 [Copyright Owner[s]]The Influential Architect © 2017 Sebastian von Conrad 108

Thank you.