1
00:00:07,520 --> 00:00:11,680
After watching this video, you will be able
to explain the importance of consequences,

2
00:00:11,680 --> 00:00:16,800
describe how functional silos lead to apathy, and
identify your organizational DevOps objective.

3
00:00:17,920 --> 00:00:20,960
Jez Humble, the author of the book
Continuous Delivery, once said,

4
00:00:21,520 --> 00:00:26,560
“Bad behavior arises when you abstract people
away from the consequences of their actions.”

5
00:00:27,120 --> 00:00:32,000
He was referring to the fact that silos
abstract people away from the consequence

6
00:00:32,000 --> 00:00:36,480
that their actions have on other silos because
they don’t see them or feel the effect.

7
00:00:37,520 --> 00:00:42,240
One example that Jez cites is a conversation
he had with an engineering director.

8
00:00:42,240 --> 00:00:46,240
They talked about a company that had a series
of quality problems with their software.

9
00:00:46,800 --> 00:00:51,200
They didn’t have a QA team, so they thought
that hiring a QA team would resolve the problem.

10
00:00:51,840 --> 00:00:54,880
Much to their surprise, the
quality actually decreased.

11
00:00:55,520 --> 00:00:59,040
One reason for this is because the
developers felt that they were no longer

12
00:00:59,040 --> 00:01:03,120
responsible for testing their code.
Instead of being focused on quality,

13
00:01:03,120 --> 00:01:07,520
they were now focused on getting their
features into "test" as quickly as they could.

14
00:01:08,080 --> 00:01:12,240
They figured that it’s QA team’s
job to worry about quality.

15
00:01:12,240 --> 00:01:17,120
They abstracted the development team away
from the consequence of writing buggy code.

16
00:01:17,680 --> 00:01:22,640
When the developers stopped testing, the QA team
could not manage the increased volume of testing,

17
00:01:22,640 --> 00:01:24,960
and the quality of the
software actually went down.

18
00:01:25,600 --> 00:01:29,920
This is why we say that functional
silos breed bad behavior.

19
00:01:30,480 --> 00:01:35,200
I personally don’t recommend having a QA team.
I like making developers responsible

20
00:01:35,200 --> 00:01:39,840
for all the tests so that they take pride in
the quality of the code that they develop.

21
00:01:41,040 --> 00:01:45,520
Actions have consequences. Here are two
things you can do to avoid the problem.

22
00:01:46,240 --> 00:01:48,240
You can create cross-functional teams

23
00:01:48,240 --> 00:01:52,240
so that everyone is dealing with
teammates instead of ticket queues.

24
00:01:52,800 --> 00:01:57,280
If you can’t create cross-functional teams, then
have the developers rotate through the operations

25
00:01:57,280 --> 00:02:00,560
so they can feel empathy for
what the operations engineers

26
00:02:00,560 --> 00:02:05,600
do every day to keep their application running.
You can also have the operations engineers join

27
00:02:05,600 --> 00:02:10,320
the developer standups and their showcases so that
they can understand what the developers are doing.

28
00:02:11,520 --> 00:02:16,400
You can make people responsible by
putting developers on pager duty or

29
00:02:16,400 --> 00:02:20,160
having them own the service level agreement
for the products and services they build.

30
00:02:20,720 --> 00:02:25,200
It’s amazing, you only have to call a
developer once or twice at Sunday at 3 a.m.

31
00:02:25,760 --> 00:02:31,200
and they will start writing better code on Monday.
So, put them in the on-call rotation and let

32
00:02:31,200 --> 00:02:35,600
them feel the pain of operations and
they will start writing better code.

33
00:02:35,600 --> 00:02:40,800
The message is clear. If you abstract people
away from the consequence of their actions,

34
00:02:40,800 --> 00:02:42,965
they will become apathetic.

35
00:02:44,614 --> 00:02:46,400
Your DevOps organizational

36
00:02:46,400 --> 00:02:51,920
objective should be to attain a shared
consciousness with distributed, local control.

37
00:02:51,920 --> 00:02:55,760
You want everyone to understand the big
picture of where you are going and what

38
00:02:55,760 --> 00:03:01,440
you hope to accomplish, but you want to give
them local control of how to accomplish it.

39
00:03:01,440 --> 00:03:06,400
This empowers people to do their best work
instead of waiting for orders from above.

40
00:03:07,360 --> 00:03:11,360
As Werner Vogels, CTO of Amazon
says, “You build it, you run it!”

41
00:03:11,360 --> 00:03:16,480
There is no difference between Dev and Ops.
Everyone is responsible for delivering value

42
00:03:16,480 --> 00:03:20,000
to the customer, but you must
give them the means to do it.

43
00:03:21,600 --> 00:03:26,160
In this video, you learned that actions
without consequences can lead to apathy.

44
00:03:26,800 --> 00:03:30,080
Allowing teams to feel the effect
of their actions fosters empathy,

45
00:03:30,080 --> 00:03:34,720
resulting in higher-quality work.
Your organizational DevOps objective

46
00:03:34,720 --> 00:03:40,581
should be to attain a shared mindset and
empower everyone to deliver customer value.