1
00:00:07,450 --> 00:00:11,610
After watching this video, you will be able
to identify how organizational structure impacts

2
00:00:11,610 --> 00:00:14,519
DevOps,
explain Conway’s Law, and

3
00:00:14,519 --> 00:00:17,910
describe the optimal organization for DevOps
teams.

4
00:00:17,910 --> 00:00:24,250
Let’s take a look at how your organizational
structure affects your ability to become DevOps.

5
00:00:24,250 --> 00:00:29,210
Part of becoming a DevOps organization is
to first become Agile because Agile is a fundamental

6
00:00:29,210 --> 00:00:30,960
tenet of DevOps.

7
00:00:30,960 --> 00:00:35,290
You must ask yourself, “Is the culture of
my organization truly embracing the Agile

8
00:00:35,290 --> 00:00:38,910
mindset?”
It’s important to remember that Agile teams

9
00:00:38,910 --> 00:00:39,910
must be small.

10
00:00:39,910 --> 00:00:44,570
If you have large teams and you want to be
successful at implementing DevOps, you need

11
00:00:44,570 --> 00:00:47,250
to make your teams small.

12
00:00:47,250 --> 00:00:49,720
Agile teams should be dedicated.

13
00:00:49,720 --> 00:00:53,690
You can’t have people committed to several
projects and expect all of those projects

14
00:00:53,690 --> 00:00:58,670
to move at the same speed, or for your people
to remain focused on any one project for too

15
00:00:58,670 --> 00:01:00,239
long.

16
00:01:00,239 --> 00:01:02,280
Agile teams should be cross-functional.

17
00:01:02,280 --> 00:01:06,290
What we call the “development team” includes
all of the people responsible for developing

18
00:01:06,290 --> 00:01:07,290
the product.

19
00:01:07,290 --> 00:01:11,920
This means software engineers, test engineers,
operations engineers, business analysts, whatever

20
00:01:11,920 --> 00:01:13,270
it takes.

21
00:01:13,270 --> 00:01:18,170
These people need to be on the same team and
not working in silos getting each other’s

22
00:01:18,170 --> 00:01:20,979
attention through ticketing systems.

23
00:01:20,979 --> 00:01:23,009
These teams need to be self-organized.

24
00:01:23,009 --> 00:01:26,959
They commit to work one sprint at a time.

25
00:01:26,959 --> 00:01:32,539
Let’s look at why organization is important,
starting with Conway’s Law.

26
00:01:32,539 --> 00:01:37,770
Back in 1968, Melvin Conway stated, “Any
organization that designs a system (defined

27
00:01:37,770 --> 00:01:42,929
broadly) will produce a design whose structure
is a copy of the organization's communication

28
00:01:42,929 --> 00:01:43,929
structure.”

29
00:01:43,929 --> 00:01:48,090
For example, if you ask four teams to build
a compiler, you will get a four-pass compiler.

30
00:01:48,090 --> 00:01:53,119
You should not be surprised you got a four-pass
compiler; you asked four teams to build it.

31
00:01:53,119 --> 00:01:58,270
If you have a user interface team, an application
team, and a database team, you get a

32
00:01:58,270 --> 00:02:00,520
three-tier architecture.

33
00:02:00,520 --> 00:02:05,109
You should not be surprised you got a three-tier
architecture; you asked three teams to build

34
00:02:05,109 --> 00:02:06,130
it.

35
00:02:06,130 --> 00:02:08,960
This is Conway’s Law in action.

36
00:02:08,960 --> 00:02:14,900
If you want to change the way you build software
and adopt a microservice application architecture,

37
00:02:14,900 --> 00:02:20,170
you need to reorganize your people around
the architecture you expect them to build.

38
00:02:20,170 --> 00:02:26,349
In a traditional organization that is organized
around technology, you might have a separate

39
00:02:26,349 --> 00:02:30,340
user interface team that performs all of the
user interface work.

40
00:02:30,340 --> 00:02:34,980
Regardless of what feature you are building;
you need to get the attention and time of

41
00:02:34,980 --> 00:02:39,719
someone on this team to add a user interface
element for your feature.

42
00:02:39,719 --> 00:02:42,459
This is sometimes called the front-end team.

43
00:02:42,459 --> 00:02:46,579
Then you have the application team, or the
back-end team, and they add the application

44
00:02:46,579 --> 00:02:47,579
logic.

45
00:02:47,579 --> 00:02:52,189
They don’t deal with the front end or things
like database schemas because you have a

46
00:02:52,189 --> 00:02:55,790
database administrators’ team to manage
all of that.

47
00:02:55,790 --> 00:03:01,430
No one touches the database unless they open
a ticket to get a database administrator (DBA)

48
00:03:01,430 --> 00:03:03,819
to do the work.

49
00:03:03,819 --> 00:03:07,040
When you organize this way, you get a three-tier
architecture.

50
00:03:07,040 --> 00:03:11,630
Like I said, you shouldn’t be surprised
you have a three-tier architecture; you asked

51
00:03:11,630 --> 00:03:13,200
three teams to build it.

52
00:03:13,200 --> 00:03:18,060
Conway’s Law tells us that an organization
will produce a design whose structure reflects

53
00:03:18,060 --> 00:03:20,410
the organization's communication structure.

54
00:03:20,410 --> 00:03:22,080
No surprises here.

55
00:03:22,080 --> 00:03:24,069
We got what we organized for.

56
00:03:24,069 --> 00:03:29,469
This is why paying particular attention to
how you are organized is so important.

57
00:03:29,469 --> 00:03:34,430
It’s better to organize your teams around
business domains.

58
00:03:34,430 --> 00:03:38,560
You may have an account team that manages
login, registration, and user data.

59
00:03:38,560 --> 00:03:44,540
They have user interface skills, application
skills, and database skills on a cross-functional

60
00:03:44,540 --> 00:03:45,620
team.

61
00:03:45,620 --> 00:03:47,370
Then there is the personalization team.

62
00:03:47,370 --> 00:03:51,269
They create personalization algorithms using
artificial intelligence (AI).

63
00:03:51,269 --> 00:03:56,950
They control their own user interface, their
application logic, and their own database.

64
00:03:56,950 --> 00:04:02,230
Finally, you might have a warehouse team that
is building capabilities around shipping,

65
00:04:02,230 --> 00:04:04,599
receiving, and inventory.

66
00:04:04,599 --> 00:04:08,200
Those are the microservices that they manage
from front to back.

67
00:04:08,200 --> 00:04:12,519
The warehouse team doesn’t need to coordinate
with any other teams to develop their features.

68
00:04:12,519 --> 00:04:16,850
They don’t need to open tickets to get the
attention of other teams to complete their

69
00:04:16,850 --> 00:04:17,850
features.

70
00:04:17,850 --> 00:04:23,300
They work as a small, dedicated, cross-functional,
self-organizing team.

71
00:04:23,300 --> 00:04:28,020
If you don’t organize around business domains,
you are not going to get the full benefit

72
00:04:28,020 --> 00:04:29,860
of DevOps.

73
00:04:29,860 --> 00:04:32,840
You want to align your teams with the business.

74
00:04:32,840 --> 00:04:36,770
Each team should have its own mission aligned
with a business domain.

75
00:04:36,770 --> 00:04:41,440
Make sure that they have the autonomy they
need so that it feels like a “mini start-up.”

76
00:04:41,440 --> 00:04:48,250
They need to be self-organized and cross-functional
with 5-7 engineers, no more than 10.

77
00:04:48,250 --> 00:04:53,630
You then want to empower your teams by giving
them end-to-end responsibility for what they

78
00:04:53,630 --> 00:04:54,670
produce.

79
00:04:54,670 --> 00:04:59,440
They commit, build, deploy, maintain, and
operate their services.

80
00:04:59,440 --> 00:05:02,010
They control everything.

81
00:05:02,010 --> 00:05:06,360
And you want them to have a long-term mission
usually around a single business domain.

82
00:05:06,360 --> 00:05:12,280
I can’t stress enough how important this
is when creating high-performing teams.

83
00:05:12,280 --> 00:05:16,720
If you have people coming in and out of the
team constantly, you will never get the benefits

84
00:05:16,720 --> 00:05:22,430
of having a dedicated team with a long-term
mission that builds ownership and pride in

85
00:05:22,430 --> 00:05:24,480
their work.

86
00:05:24,480 --> 00:05:29,408
In this video, you learned that organizations
must have small, dedicated, cross-functional,

87
00:05:29,408 --> 00:05:32,620
self-organizing teams to successfully implement
DevOps.

88
00:05:33,372 --> 00:05:38,060
Conway’s Law implies that a company’s
design results are a direct reflection of

89
00:05:38,060 --> 00:05:40,213
the company’s communication structures.

90
00:05:40,472 --> 00:05:45,100
Successful DevOps teams should be organized
around business domains.

91
00:05:45,100 --> 00:05:48,636
Each team should have a mission that
aligns with a business domain.