00:00:00
let us invite our first keynote
00:00:03
presenter onto the stage please welcome
00:00:06
the illustrious the man the myth Steve
00:00:09
Pereira
00:00:10
[Applause]
00:00:17
everybody so um thanks for having me
00:00:20
everyone I'm really glad to be back here
00:00:22
it's been 10 years since I gave the most
00:00:25
terrifying talk of my life at uh devop
00:00:28
States gent the five the 5th anniversary
00:00:31
uh on a very very weird subject I
00:00:33
recommend you check it out if you like
00:00:35
weird talks um and this one is less
00:00:38
weird but I think you know this is
00:00:40
really about thinking about what we're
00:00:42
doing today from a technical perspective
00:00:46
and applying that to our real life the
00:00:48
messy complicated stuff that really gets
00:00:51
in the way of us doing all the fun
00:00:53
things so this is based on a paper that
00:00:57
I wrote with uh John Rouser who works
00:00:59
for
00:01:00
uh we met at the devops Enterprise
00:01:03
Summit last year and we got talking
00:01:05
about networks and
00:01:07
how we are really good at networking and
00:01:10
we're really bad at running
00:01:12
organizations especially across diverse
00:01:16
topologies so um I'm going to tell you
00:01:19
what all that means but the first thing
00:01:21
I'm going to introduce is this who knows
00:01:23
what this
00:01:24
is anybody you can shout it out the
00:01:28
first the first internet exactly so this
00:01:31
is what everything used to look like
00:01:33
everything all of our devices connected
00:01:36
to was started in this very humble
00:01:39
beginnings and then quickly became this
00:01:42
gigantic mess right this enormous
00:01:45
complex soup of devices and this isn't
00:01:49
even devices these are networks so this
00:01:51
is a network of networks we're not even
00:01:53
seeing real complexity here um and
00:01:56
somehow it doesn't fall apart right it
00:01:58
works and it works at incredible scale
00:02:02
and when we think about
00:02:03
organizations not so much right things
00:02:06
get really really complicated when we're
00:02:08
trying to work across diverse topologies
00:02:12
of teams individuals incentives all the
00:02:15
things that happen inside of an
00:02:17
organization so um this can really get
00:02:20
crazy if you start thinking about how
00:02:23
everything is connected in an
00:02:24
organization and start chasing how to
00:02:29
understand
00:02:30
the
00:02:31
the complex interconnected information
00:02:34
flow in relationships and organizations
00:02:36
and there's a lot of study of this you
00:02:38
know we have organizational network
00:02:39
analysis that's all about social
00:02:42
interactions in companies but I'm kind
00:02:44
of introduced I'm kind of interested in
00:02:46
a more technical view of organizations
00:02:49
as networks uh because of the fact that
00:02:52
the internet works so well what can we
00:02:54
learn from that so if we look at
00:02:56
computer networking and what has allowed
00:02:57
it to succeed you know it's an
00:03:00
evolutionary practice it has changed a
00:03:03
lot over the years right software Define
00:03:05
networking has revolutionized computer
00:03:07
networking but it it has worked really
00:03:10
well since the days of token ring uh
00:03:13
it's an empirical practice it's very you
00:03:15
know grounded in science it is the most
00:03:19
scalable thing that we've ever done in
00:03:21
in human history it's resilient it is
00:03:24
diverse it is made up of all kinds of
00:03:27
different actors right some of them
00:03:30
entirely antagonistic right you can join
00:03:32
the internet and just try to attack
00:03:34
people and somehow it doesn't fall over
00:03:37
and it proves itself every single day
00:03:39
it's proving itself right now like Chris
00:03:42
is on his laptop doing internet things
00:03:46
fantastic um how many people have uh
00:03:48
heard of the book uh wiring the winning
00:03:50
organization so it's fairly new I highly
00:03:53
recommend it it's really about how do
00:03:56
you set up an organization to
00:03:58
collaborate and operate
00:04:00
effectively and Jean and and Steve who
00:04:04
wrote the book they kind of break these
00:04:06
organizations up into three layers and
00:04:09
what I really think deserves attention
00:04:13
is this layer three you know where
00:04:15
everything gets really really hard uh we
00:04:17
don't spend a lot of time thinking about
00:04:20
layer three we kind of trudge our way
00:04:22
through it we deal with the toil and
00:04:25
approvals and complex interactions and
00:04:28
silos
00:04:30
um and so it's the least understood
00:04:32
layer which is a big problem because
00:04:34
it's really where all the work gets
00:04:37
done so we struggle with this scale and
00:04:41
variety of different players and
00:04:43
organizations and trying to bring them
00:04:45
into alignment with each other we
00:04:48
struggle to communicate with each other
00:04:50
and we struggle
00:04:53
to send work and build work and
00:04:57
collaborate across the topology of
00:04:59
organization
00:05:01
and we really don't you know we really
00:05:02
struggle to understand how we're doing
00:05:04
with all of that and so if we think
00:05:07
about organizations as networks it's a
00:05:10
wrong model but it's a useful model
00:05:13
because there's a lot that we can
00:05:14
actually learn from uh from the internet
00:05:17
and other digital networks so if we
00:05:20
think about you know a simple
00:05:22
representation of an organization as a
00:05:25
collection of value streams you know
00:05:28
things quickly get pretty complicated
00:05:31
right from a simple example we have
00:05:33
multiple layers represented we have
00:05:35
multiple different node types and
00:05:39
interactions um and
00:05:41
so what does this start to look like it
00:05:44
starts to look like a big mess without a
00:05:49
uh practical approach to manage that
00:05:52
complexity right this is not a network
00:05:55
this is this is the world's smallest
00:05:58
startup but if you think about you know
00:06:00
what it takes to run a multi- global or
00:06:03
a
00:06:03
Multinational Global organization we
00:06:06
have thousands of these nodes of teams
00:06:09
interacting with each other sending work
00:06:11
all over the place we need to enable
00:06:13
control without undo constraint we can't
00:06:17
over
00:06:18
constrain add process we all know how
00:06:21
much that sucks and so we need to manage
00:06:24
without reducing our ability to Pivot
00:06:27
try new things remix things there's a
00:06:30
great book called unbundling The
00:06:32
Enterprise that I recommend it's all
00:06:34
about optionality and what having
00:06:37
composable applications allows you to do
00:06:40
in an
00:06:41
organization and a big problem here is
00:06:44
that people are infinitely variable
00:06:46
right we have multiple perspectives we
00:06:48
have different goals we have different
00:06:50
skill sets different
00:06:53
perspectives and so if we're trying to
00:06:55
enable control of organizations of
00:06:58
people we need to
00:07:01
proactively impose constraints that are
00:07:03
useful to us right governing constraints
00:07:06
and enabling
00:07:08
constraints so when we think about
00:07:10
scaling communication and the variety of
00:07:13
stakeholders and participants in an
00:07:15
organizational Network we need protocols
00:07:18
just the same as the internet needs
00:07:20
protocols in order for those people to
00:07:22
communicate effectively right what is a
00:07:24
protocol it's basically just an
00:07:25
agreement on a language that we're going
00:07:27
to use that's highly constrained that
00:07:29
allows us to do that very effectively
00:07:31
and
00:07:32
consistently and that allows us to
00:07:35
manage cognitive load and complexity
00:07:37
across the organization across this
00:07:39
diversity of nodes and participants so
00:07:43
um if we think about a very very simple
00:07:46
representation of a network stack what
00:07:49
really is interesting here is where we
00:07:52
get this enabling constraint of Internet
00:07:55
Protocol in the middle an Internet
00:07:57
Protocol is what um we found out from
00:08:01
this you know this book we used as a
00:08:03
resource called a spanning layer
00:08:05
basically just constrains everything
00:08:08
between two different ends of a network
00:08:11
and allows them to communicate each with
00:08:12
each other because they use the same
00:08:14
language they use the same methods of
00:08:16
communication an agreement on how we're
00:08:18
going to communicate so if we think
00:08:20
about what this actually looks like The
00:08:23
Hourglass model basically says you can
00:08:25
have incredible diversity on one side of
00:08:28
a network and incredible diversity on
00:08:30
another side of the network and they can
00:08:32
communicate effectively without creating
00:08:35
a giant Mess by having this common
00:08:37
communication protocol and if you think
00:08:39
about the internet everything has an IP
00:08:41
right IP is basically how all the
00:08:44
complexity of the internet is managed
00:08:47
and if you can speak IP if you speak
00:08:50
Internet Protocol you can join the
00:08:51
internet and that's all it takes right
00:08:54
so that one thing enables all this
00:08:57
diversity of particip participation
00:09:00
so if we think about everything in
00:09:02
context a everything in context B this
00:09:04
common constraint allows them to
00:09:06
communicate effectively without having
00:09:08
to know everything about everything
00:09:10
else and so how does that manifest
00:09:13
itself it's essentially an abstraction
00:09:15
of complexity and modularity around that
00:09:19
complexity to constrain it to keep it so
00:09:22
that I don't have to care about
00:09:24
everything on that side of the fence and
00:09:27
that side doesn't need to care about my
00:09:28
side of the fence fence and we can
00:09:30
communicate over the fence or however
00:09:33
you know however we're doing it tin cans
00:09:35
and and string but if you think about an
00:09:37
example of this you know devops days is
00:09:40
really about Dev and Ops coming together
00:09:43
over infrastructure as code right a
00:09:46
common language that they could speak
00:09:48
that brought those two worlds together
00:09:50
so that they weren't speaking different
00:09:51
languages and fighting each other on
00:09:54
completely different perspectives and
00:09:56
goals so how does this manifest itself
00:09:59
to say gen is an amazing spanning layer
00:10:02
takes all the complexity of everything
00:10:05
that it's slurped up into its llm and we
00:10:08
come with all of the complexity of
00:10:10
everything that we could possibly ask it
00:10:12
and we collapse that down into a prompt
00:10:15
right that takes all that complexity and
00:10:18
manages it away right abstracts it away
00:10:21
modularizes it uh the two sides of your
00:10:25
brain have a spanning layer called the
00:10:27
Corpus colossum and it connects the
00:10:29
right side and the left side and allows
00:10:31
them to communicate with each other
00:10:32
because they're very different and they
00:10:34
don't really speak the same language but
00:10:36
this middle spanning layer allows them
00:10:39
to collaborate with each
00:10:41
other um platforms inside of
00:10:44
organizations are another example of
00:10:46
abstracting away all kinds of tooling
00:10:49
and components so that a developer can
00:10:52
come with any number of problems and
00:10:54
solve it using a simple
00:10:57
abstraction and then uh weekly business
00:11:00
reviews quarterly business reviews the
00:11:02
Amazon six pager these are all kind of
00:11:05
business artifact versions of spanning
00:11:08
layers things that take all kinds of
00:11:10
options and data and collapse them down
00:11:13
to something that we can understand so
00:11:16
when we think about protocols as well A3
00:11:19
A3 the model for continuous Improvement
00:11:21
for laying out what an improvement
00:11:23
effort will look like is a very standard
00:11:26
form if you take actually IP
00:11:28
representation and an A3 representation
00:11:31
they
00:11:32
look shockingly similar just a
00:11:35
coincidence but if you're looking at
00:11:37
also if you're looking at an
00:11:38
organization and trying to improve a
00:11:41
value stream a value stream Charter
00:11:42
basically lays out what are we going to
00:11:44
do who's going to do it all this
00:11:46
information in a structured format that
00:11:49
anybody can consume takes all the
00:11:53
variation and variety away and
00:11:57
constrains it into something that's very
00:11:58
useful use ful an API spec is another
00:12:01
thing that takes all kinds of things
00:12:02
that you could do with a specific
00:12:05
service and makes it very specific about
00:12:08
how to interact with that and then the
00:12:10
Amazon six pager formula is a very
00:12:13
specific constraint that enables all
00:12:16
kinds of complexity behind the scenes so
00:12:19
if we're thinking about multiple layers
00:12:22
of organizations we spend a lot of time
00:12:24
thinking about technical objects in Tech
00:12:27
we kind of like them that's part of why
00:12:29
we're here but I think that this layer
00:12:32
three is where we need to spend a lot of
00:12:34
time because it's really what gets in
00:12:35
the way so um this is the book I
00:12:39
mentioned that was kind of the
00:12:41
inspiration for the the pieces of
00:12:45
digital networking that we reference in
00:12:46
the paper um and a couple of closing
00:12:50
thoughts on that I think Protocols are
00:12:52
really important as enabling constraints
00:12:55
and govern governing constraints what do
00:12:57
I mean by that things that make it easy
00:12:59
to do the right thing and hard to do the
00:13:01
wrong thing um spanning layers as ways
00:13:04
of abstracting and modularizing between
00:13:07
different complex domains or complicated
00:13:09
domains to simplify them can make it
00:13:12
very easy to deal with someone who's not
00:13:14
part of your world who doesn't share
00:13:15
your
00:13:16
context and then policy and information
00:13:19
flow is something that we can really
00:13:21
learn from uh digital networks managing
00:13:24
complex networks and managing software
00:13:27
defined networking has worked extremely
00:13:29
well and we do a very bad job of this in
00:13:32
organizations but we can learn a lot
00:13:34
from it and what it allows is for
00:13:37
self-directed nodes in the network if
00:13:39
you think about teams as nodes in a
00:13:41
network they can operate autonomously if
00:13:44
they have the right information in the
00:13:45
right form at the right time right and
00:13:48
management whoever is running the
00:13:51
organization also can just do a much
00:13:54
better job if they have the right
00:13:55
information at the right time and with
00:13:57
the right protocols and information flow
00:13:59
you can make that happen and that's how
00:14:01
we get to an Internet that doesn't
00:14:02
collapse every time we try to use
00:14:05
it okay so this is the paper if you're
00:14:08
interested in a lot more context and a
00:14:10
lot more behind the scenes information
00:14:13
um snap that but you can also just
00:14:15
search for wiring for flow at it
00:14:17
Revolution and um this is my book on a
00:14:21
similar topic we get into um value
00:14:25
stream networks and networks of flow
00:14:28
across organization
00:14:30
and so if you're interested in that if
00:14:32
you're interested more at the team level
00:14:33
of what this looks like um grab the book
00:14:37
but uh that's it for me I hope I didn't
00:14:39
go too long thanks
00:14:43
[Applause]