WEBVTT

1
00:00:02.815 --> 00:00:03.685
<00:00:02.815>There <00:00:03.206>we <00:00:03.598>go.

2
00:00:03.905 --> 00:00:07.645
<00:00:03.905>Can <00:00:04.060>everyone <00:00:04.216>hear <00:00:04.371>me <00:00:04.527>okay? <00:00:04.682>We're <00:00:04.838>good. <00:00:04.993>Wonderful. <00:00:05.149>Thumbs <00:00:05.305>up.

3
00:00:08.015 --> 00:00:09.645
<00:00:08.015>Thank <00:00:08.248>you <00:00:08.481>for <00:00:08.715>the <00:00:08.948>lovely <00:00:09.181>introduction, <00:00:09.415>Ryan.

4
00:00:10.305 --> 00:00:11.925
<00:00:10.305>We <00:00:10.584>are <00:00:10.865>talking <00:00:11.145>about <00:00:11.424>the <00:00:11.705>affordances

5
00:00:11.925 --> 00:00:13.005
<00:00:11.925>of <00:00:12.249>quality <00:00:12.573>today, <00:00:12.897>right?

6
00:00:13.025 --> 00:00:16.005
<00:00:13.025>So <00:00:13.165>what <00:00:13.305>this <00:00:13.445>talk <00:00:13.585>is <00:00:13.725>gonna <00:00:13.865>be <00:00:14.005>about <00:00:14.145>is <00:00:14.285>this <00:00:14.425>concept

7
00:00:16.005 --> 00:00:18.885
<00:00:16.004>that <00:00:16.145>I'm <00:00:16.285>sure <00:00:16.424>you've <00:00:16.564>heard <00:00:16.705>of, <00:00:16.845>which <00:00:16.985>is <00:00:17.125>building <00:00:17.265>in <00:00:17.404>quality

8
00:00:19.025 --> 00:00:21.485
<00:00:19.025>as <00:00:19.180>everyone <00:00:19.336>heard <00:00:19.491>of <00:00:19.647>this, <00:00:19.802>this, <00:00:19.958>this <00:00:20.113>phrase, <00:00:20.269>this <00:00:20.424>concept.

9
00:00:21.755 --> 00:00:25.165
<00:00:21.755>Yeah. <00:00:21.895>So, <00:00:22.035>uh, <00:00:22.174>when <00:00:22.314>I <00:00:22.455>was <00:00:22.595>researching <00:00:22.735>this, <00:00:22.875>I <00:00:23.015>obviously <00:00:23.154>did,

10
00:00:25.185 --> 00:00:29.605
<00:00:25.185>uh, <00:00:25.312>did <00:00:25.439>a <00:00:25.566>search <00:00:25.694>and, <00:00:25.821>uh, <00:00:25.948>I <00:00:26.075>found <00:00:26.203>almost <00:00:26.330>2 <00:00:26.457>billion <00:00:26.584>results.

11
00:00:29.865 --> 00:00:32.765
<00:00:29.865>Now, <00:00:29.992>I'm <00:00:30.119>gonna <00:00:30.246>have <00:00:30.374>to <00:00:30.501>sort <00:00:30.628>of <00:00:30.755>hold <00:00:30.883>up <00:00:31.010>my <00:00:31.137>hands <00:00:31.264>here

12
00:00:32.765 --> 00:00:34.005
<00:00:32.765>and <00:00:32.924>say, <00:00:33.083>I <00:00:33.243>haven't <00:00:33.402>read <00:00:33.562>all <00:00:33.721>of <00:00:33.881>them.

13
00:00:34.355 --> 00:00:36.645
<00:00:34.355>They're <00:00:34.495>on <00:00:34.635>my <00:00:34.775>reading <00:00:34.915>list. <00:00:35.055>I <00:00:35.194>will <00:00:35.334>get <00:00:35.474>round <00:00:35.614>to <00:00:35.754>them.

14
00:00:37.345 --> 00:00:39.005
<00:00:37.345>Um, <00:00:37.578>but <00:00:37.811>I <00:00:38.045>want <00:00:38.278>to <00:00:38.511>look <00:00:38.745>at

15
00:00:39.025 --> 00:00:41.125
<00:00:39.025>how <00:00:39.199>we <00:00:39.375>can <00:00:39.550>build <00:00:39.725>in <00:00:39.900>quality <00:00:40.074>in <00:00:40.250>this <00:00:40.425>talk.

16
00:00:41.585 --> 00:00:44.245
<00:00:41.585>Uh, <00:00:41.712>but <00:00:41.839>this <00:00:41.966>is <00:00:42.094>a <00:00:42.221>little <00:00:42.348>bit <00:00:42.475>of <00:00:42.603>a <00:00:42.730>bait <00:00:42.857>and <00:00:42.985>switch.

17
00:00:44.905 --> 00:00:48.245
<00:00:44.905>Uh, <00:00:45.032>'cause <00:00:45.159>what <00:00:45.286>I <00:00:45.414>really <00:00:45.541>want <00:00:45.668>to <00:00:45.795>talk <00:00:45.923>about <00:00:46.050>today <00:00:46.177>is <00:00:46.305>doors.

18
00:00:49.195 --> 00:00:51.245
<00:00:49.195>Okay? <00:00:49.428>I'm <00:00:49.661>a <00:00:49.895>huge <00:00:50.128>fan <00:00:50.361>of <00:00:50.595>doors.

19
00:00:52.145 --> 00:00:55.005
<00:00:52.145>Uh, <00:00:52.300>like <00:00:52.456>when <00:00:52.611>I'm <00:00:52.767>walking <00:00:52.922>around <00:00:53.078>town, <00:00:53.233>I <00:00:53.389>sometimes <00:00:53.545>stop

20
00:00:55.025 --> 00:00:57.925
<00:00:55.025>and <00:00:55.180>take <00:00:55.336>pictures <00:00:55.491>of <00:00:55.647>doors <00:00:55.802>that <00:00:55.958>I <00:00:56.113>think <00:00:56.269>are <00:00:56.425>interesting.

21
00:00:58.385 --> 00:01:00.485
<00:00:58.385>Uh, <00:00:58.512>so <00:00:58.639>if <00:00:58.766>you've <00:00:58.894>ever <00:00:59.021>wondered <00:00:59.148>what <00:00:59.275>it's <00:00:59.403>like <00:00:59.530>to <00:00:59.657>be <00:00:59.785>friends

22
00:01:00.485 --> 00:01:02.405
<00:01:00.485>with <00:01:00.765>me, <00:01:01.045>it's <00:01:01.325>just <00:01:01.605>terrible, <00:01:01.885>really.

23
00:01:02.745 --> 00:01:05.085
<00:01:02.745>Um, <00:01:02.900>so <00:01:03.056>this <00:01:03.211>is <00:01:03.367>one <00:01:03.522>of <00:01:03.678>my <00:01:03.833>favorite <00:01:03.989>doors <00:01:04.144>here.

24
00:01:05.505 --> 00:01:07.165
<00:01:05.504>Um, <00:01:05.679>and <00:01:05.854>I <00:01:06.030>wanna <00:01:06.205>ask <00:01:06.380>you <00:01:06.554>all <00:01:06.729>a <00:01:06.905>question.

25
00:01:07.585 --> 00:01:09.245
<00:01:07.585>If <00:01:07.818>you <00:01:08.051>were <00:01:08.285>walking <00:01:08.518>towards <00:01:08.751>this <00:01:08.985>door

26
00:01:09.305 --> 00:01:10.405
<00:01:09.305>and <00:01:09.470>you <00:01:09.635>wanted <00:01:09.800>to <00:01:09.965>go <00:01:10.130>through <00:01:10.295>it,

27
00:01:10.775 --> 00:01:13.085
<00:01:10.775>would <00:01:11.008>you <00:01:11.241>push <00:01:11.475>or <00:01:11.708>would <00:01:11.941>you <00:01:12.175>pull?

28
00:01:14.355 --> 00:01:16.485
<00:01:14.355>Okay, <00:01:14.705>hands <00:01:15.055>up <00:01:15.405>for <00:01:15.755>pull.

29
00:01:18.105 --> 00:01:22.205
<00:01:18.105>No <00:01:18.245>one <00:01:18.385>hands <00:01:18.525>up <00:01:18.665>for <00:01:18.805>push. <00:01:18.945>Everyone. <00:01:19.085>Put <00:01:19.225>your <00:01:19.365>hands <00:01:19.505>up.

30
00:01:22.265 --> 00:01:23.525
<00:01:22.265>You're <00:01:22.832>absolutely <00:01:23.399>right,

31
00:01:23.525 --> 00:01:25.885
<00:01:23.525>because <00:01:23.680>there <00:01:23.836>are <00:01:23.991>parts <00:01:24.147>of <00:01:24.302>the <00:01:24.458>design <00:01:24.613>of <00:01:24.769>this <00:01:24.925>door

32
00:01:26.595 --> 00:01:28.325
<00:01:26.595>that <00:01:26.828>clearly <00:01:27.061>show <00:01:27.295>you <00:01:27.528>can <00:01:27.761>push <00:01:27.995>it.

33
00:01:28.655 --> 00:01:32.525
<00:01:28.655>These, <00:01:28.888>uh, <00:01:29.121>hand <00:01:29.355>panels <00:01:29.588>here, <00:01:29.821>they're <00:01:30.055>flats.

34
00:01:32.875 --> 00:01:35.565
<00:01:32.875>They're <00:01:33.030>easy <00:01:33.186>to <00:01:33.341>push. <00:01:33.497>They <00:01:33.652>line <00:01:33.808>up <00:01:33.963>with <00:01:34.119>your <00:01:34.275>hand.

35
00:01:35.595 --> 00:01:37.005
<00:01:35.595>They're <00:01:35.912>very <00:01:36.229>hard <00:01:36.546>to <00:01:36.863>pull.

36
00:01:37.705 --> 00:01:39.165
<00:01:37.705>Uh, <00:01:37.967>these <00:01:38.230>plates <00:01:38.493>at <00:01:38.756>the <00:01:39.018>bottom,

37
00:01:39.165 --> 00:01:40.645
<00:01:39.164>these <00:01:39.497>are <00:01:39.831>called <00:01:40.164>kick <00:01:40.497>plates.

38
00:01:41.065 --> 00:01:42.965
<00:01:41.065>So <00:01:41.220>you <00:01:41.376>can, <00:01:41.531>if <00:01:41.687>you're <00:01:41.842>holding <00:01:41.998>something <00:01:42.153>in <00:01:42.309>your <00:01:42.465>hand,

39
00:01:42.965 --> 00:01:44.285
<00:01:42.965>you <00:01:43.202>can <00:01:43.440>easily <00:01:43.677>kick <00:01:43.915>it <00:01:44.152>open.

40
00:01:44.835 --> 00:01:46.885
<00:01:44.835>This <00:01:45.115>is <00:01:45.395>a <00:01:45.675>beautifully <00:01:45.955>designed <00:01:46.235>door

41
00:01:46.885 --> 00:01:49.125
<00:01:46.884>because <00:01:47.085>the <00:01:47.285>elements <00:01:47.484>of <00:01:47.684>its <00:01:47.884>design <00:01:48.085>tells <00:01:48.285>us

42
00:01:49.225 --> 00:01:50.325
<00:01:49.225>how <00:01:49.472>we <00:01:49.720>work <00:01:49.967>with <00:01:50.215>it.

43
00:01:50.985 --> 00:01:53.165
<00:01:50.985>Uh, <00:01:51.160>this <00:01:51.335>is <00:01:51.510>a <00:01:51.685>concept <00:01:51.860>known <00:01:52.035>as <00:01:52.210>an <00:01:52.385>affordance.

44
00:01:54.155 --> 00:01:55.965
<00:01:54.155>This <00:01:54.355>concept <00:01:54.555>comes <00:01:54.755>from <00:01:54.955>the <00:01:55.155>book, <00:01:55.355>the <00:01:55.555>Design

45
00:01:55.965 --> 00:02:00.205
<00:01:55.965>of <00:01:56.105>Everyday <00:01:56.245>Things <00:01:56.385>by <00:01:56.525>Don <00:01:56.665>Norman, <00:01:56.805>where <00:01:56.945>he <00:01:57.085>says <00:01:57.225>that, <00:01:57.365>uh,

46
00:02:00.555 --> 00:02:03.925
<00:02:00.555>affordances <00:02:00.835>determine <00:02:01.115>what <00:02:01.395>actions <00:02:01.675>are <00:02:01.955>possible.

47
00:02:04.675 --> 00:02:08.125
<00:02:04.675>That <00:02:04.850>door <00:02:05.024>affords <00:02:05.200>pushing. <00:02:05.375>It <00:02:05.550>does <00:02:05.725>not <00:02:05.899>afford <00:02:06.075>pulling.

48
00:02:09.305 --> 00:02:11.965
<00:02:09.305>But <00:02:09.480>I <00:02:09.655>don't <00:02:09.830>quite <00:02:10.005>agree <00:02:10.180>with <00:02:10.355>this <00:02:10.530>definition, <00:02:10.705>right?

49
00:02:12.435 --> 00:02:15.245
<00:02:12.435>This <00:02:12.551>chair. <00:02:12.668>Now, <00:02:12.785>if <00:02:12.901>you, <00:02:13.018>most <00:02:13.135>of <00:02:13.251>you <00:02:13.368>walk <00:02:13.485>into <00:02:13.601>the, <00:02:13.718>in <00:02:13.835>fact,

50
00:02:15.245 --> 00:02:17.885
<00:02:15.245>several <00:02:15.372>of <00:02:15.499>you <00:02:15.626>in <00:02:15.754>this <00:02:15.881>room <00:02:16.008>are <00:02:16.135>sitting <00:02:16.263>in <00:02:16.390>chairs <00:02:16.517>right <00:02:16.645>now.

51
00:02:18.115 --> 00:02:19.525
<00:02:18.115>Okay? <00:02:18.326>You <00:02:18.538>probably <00:02:18.749>looked <00:02:18.961>at <00:02:19.172>this <00:02:19.384>chair

52
00:02:19.525 --> 00:02:22.805
<00:02:19.525>and <00:02:19.680>you <00:02:19.836>thought, <00:02:19.991>well, <00:02:20.147>it, <00:02:20.302>it's <00:02:20.458>obviously <00:02:20.613>nice <00:02:20.769>and <00:02:20.925>soft.

53
00:02:22.905 --> 00:02:26.285
<00:02:22.905>It <00:02:23.060>kind <00:02:23.216>of <00:02:23.371>fits <00:02:23.527>my <00:02:23.682>body. <00:02:23.838>It's <00:02:23.993>got <00:02:24.149>armrests. <00:02:24.305>Perfect.

54
00:02:26.685 --> 00:02:29.525
<00:02:26.685>I <00:02:26.801>can <00:02:26.918>sit <00:02:27.035>on <00:02:27.151>that. <00:02:27.268>Whereas <00:02:27.385>if <00:02:27.501>you <00:02:27.618>were <00:02:27.735>to <00:02:27.851>look <00:02:27.968>at, <00:02:28.085>say,

55
00:02:29.685 --> 00:02:31.725
<00:02:29.685>a <00:02:29.918>ball, <00:02:30.151>you <00:02:30.385>would <00:02:30.618>say, <00:02:30.851>well, <00:02:31.085>it,

56
00:02:31.915 --> 00:02:33.765
<00:02:31.915>it's <00:02:32.148>bouncy, <00:02:32.381>it <00:02:32.614>fits <00:02:32.848>in <00:02:33.081>my <00:02:33.315>hand.

57
00:02:33.795 --> 00:02:36.285
<00:02:33.795>It's <00:02:33.995>very <00:02:34.195>easy <00:02:34.395>to <00:02:34.595>throw <00:02:34.795>it <00:02:34.995>around. <00:02:35.195>Yeah.

58
00:02:36.705 --> 00:02:39.005
<00:02:36.704>So <00:02:36.844>you <00:02:36.984>would <00:02:37.124>sit <00:02:37.265>on <00:02:37.404>the, <00:02:37.545>on, <00:02:37.684>on, <00:02:37.825>on <00:02:37.964>the <00:02:38.105>chair

59
00:02:39.005 --> 00:02:40.125
<00:02:39.005>and <00:02:39.257>throw <00:02:39.509>the <00:02:39.761>ball <00:02:40.013>around,

60
00:02:40.905 --> 00:02:43.965
<00:02:40.905>but <00:02:41.032>you <00:02:41.159>could <00:02:41.286>sit <00:02:41.414>on <00:02:41.541>the <00:02:41.668>ball <00:02:41.795>and <00:02:41.923>throw <00:02:42.050>the <00:02:42.177>chair <00:02:42.305>around.

61
00:02:44.635 --> 00:02:46.205
<00:02:44.635>It's <00:02:44.984>just <00:02:45.334>very <00:02:45.685>difficult. <00:02:46.035>Okay?

62
00:02:46.745 --> 00:02:49.925
<00:02:46.745>So <00:02:46.945>the <00:02:47.145>definition <00:02:47.345>of <00:02:47.545>affordances <00:02:47.745>I <00:02:47.945>prefer <00:02:48.145>is

63
00:02:49.925 --> 00:02:53.125
<00:02:49.925>that <00:02:50.158>affordances <00:02:50.391>determine <00:02:50.625>what <00:02:50.858>actions <00:02:51.091>are <00:02:51.325>easy.

64
00:02:54.115 --> 00:02:58.565
<00:02:54.115>This <00:02:54.270>is <00:02:54.426>important <00:02:54.581>because <00:02:54.737>you <00:02:54.892>could <00:02:55.048>be <00:02:55.203>a <00:02:55.359>freethinking <00:02:55.515>rebel

65
00:02:58.785 --> 00:03:00.485
<00:02:58.785>and <00:02:58.960>sit <00:02:59.135>on <00:02:59.310>the <00:02:59.484>ball <00:02:59.660>and <00:02:59.835>throw <00:03:00.010>the <00:03:00.185>chair,

66
00:03:01.025 --> 00:03:03.565
<00:03:01.025>but <00:03:01.200>in <00:03:01.375>reality, <00:03:01.550>most <00:03:01.725>people <00:03:01.900>are <00:03:02.075>gonna <00:03:02.250>do <00:03:02.425>the

67
00:03:03.565 --> 00:03:04.605
<00:03:03.565>thing <00:03:03.877>that <00:03:04.189>is <00:03:04.500>easy.

68
00:03:05.065 --> 00:03:06.965
<00:03:05.065>So <00:03:05.345>these <00:03:05.625>affordances <00:03:05.905>shape <00:03:06.185>the <00:03:06.465>world

69
00:03:06.965 --> 00:03:08.405
<00:03:06.965>around <00:03:07.150>us <00:03:07.335>and <00:03:07.520>how <00:03:07.705>we <00:03:07.890>work <00:03:08.075>with <00:03:08.261>it.

70
00:03:11.555 --> 00:03:14.085
<00:03:11.555>Another <00:03:11.730>door <00:03:11.905>here, <00:03:12.080>if <00:03:12.255>you <00:03:12.430>are <00:03:12.605>walking <00:03:12.780>towards <00:03:12.955>this,

71
00:03:14.135 --> 00:03:18.125
<00:03:14.135>would <00:03:14.262>you <00:03:14.389>push <00:03:14.516>or <00:03:14.644>would <00:03:14.771>you <00:03:14.898>pull <00:03:15.025>hands <00:03:15.153>up <00:03:15.280>for <00:03:15.407>a <00:03:15.535>pull?

72
00:03:19.335 --> 00:03:21.765
<00:03:19.335>Hands <00:03:19.510>up. <00:03:19.685>Yeah. <00:03:19.860>Okay. <00:03:20.035>Hands <00:03:20.210>up <00:03:20.385>for <00:03:20.560>a <00:03:20.735>push.

73
00:03:22.785 --> 00:03:24.405
<00:03:22.785>Few <00:03:23.018>people <00:03:23.251>putting <00:03:23.484>your <00:03:23.718>hands <00:03:23.951>up. <00:03:24.185>Okay.

74
00:03:25.075 --> 00:03:26.765
<00:03:25.075>Very <00:03:25.541>embarrassing <00:03:26.008>for <00:03:26.475>you.

75
00:03:27.465 --> 00:03:29.605
<00:03:27.465>The <00:03:27.620>pushing <00:03:27.776>people, <00:03:27.931>you <00:03:28.087>would've <00:03:28.242>just <00:03:28.398>walked <00:03:28.553>into <00:03:28.709>the <00:03:28.865>door

76
00:03:29.605 --> 00:03:30.925
<00:03:29.605>and <00:03:29.803>everyone <00:03:30.001>else <00:03:30.199>would've <00:03:30.397>laughed <00:03:30.595>at <00:03:30.793>you.

77
00:03:31.185 --> 00:03:33.245
<00:03:31.185>But <00:03:31.360>the <00:03:31.535>thing <00:03:31.710>is, <00:03:31.885>that's <00:03:32.060>not <00:03:32.235>your <00:03:32.410>fault, <00:03:32.585>okay?

78
00:03:33.245 --> 00:03:34.485
<00:03:33.245>It's <00:03:33.617>the <00:03:33.989>door's <00:03:34.361>fault

79
00:03:35.315 --> 00:03:37.925
<00:03:35.315>because <00:03:35.548>it <00:03:35.781>affords <00:03:36.015>being <00:03:36.248>pushed <00:03:36.481>and <00:03:36.715>pulled.

80
00:03:37.985 --> 00:03:39.885
<00:03:37.985>You <00:03:38.185>see <00:03:38.385>those <00:03:38.585>handles, <00:03:38.785>you <00:03:38.985>could <00:03:39.185>do <00:03:39.385>both,

81
00:03:40.265 --> 00:03:41.885
<00:03:40.265>but <00:03:40.545>it <00:03:40.825>only <00:03:41.105>actually <00:03:41.385>allows <00:03:41.665>pulling.

82
00:03:41.885 --> 00:03:45.565
<00:03:41.885>There's <00:03:42.060>a <00:03:42.234>mismatch <00:03:42.410>between <00:03:42.584>what <00:03:42.760>the <00:03:42.935>door <00:03:43.109>thinks, <00:03:43.285>what

83
00:03:45.715 --> 00:03:47.685
<00:03:45.715>what <00:03:45.948>it <00:03:46.181>tells <00:03:46.415>you <00:03:46.648>it <00:03:46.881>is <00:03:47.115>possible,

84
00:03:47.685 --> 00:03:48.885
<00:03:47.685>and <00:03:48.045>what's <00:03:48.405>actually <00:03:48.765>possible.

85
00:03:49.185 --> 00:03:50.885
<00:03:49.185>We <00:03:49.535>call <00:03:49.885>these <00:03:50.235>Norman <00:03:50.585>doors

86
00:03:50.895 --> 00:03:53.725
<00:03:50.895>after <00:03:51.035>Don <00:03:51.175>Norman, <00:03:51.315>which <00:03:51.455>is <00:03:51.595>kind <00:03:51.735>of <00:03:51.875>terrible <00:03:52.015>for <00:03:52.155>Don <00:03:52.295>Norman.

87
00:03:53.745 --> 00:03:55.325
<00:03:53.745>If <00:03:53.945>you <00:03:54.145>think <00:03:54.345>about <00:03:54.545>it. <00:03:54.745>He <00:03:54.945>puts <00:03:55.145>all

88
00:03:55.325 --> 00:03:57.685
<00:03:55.325>of <00:03:55.524>this <00:03:55.725>time <00:03:55.924>into <00:03:56.125>thinking <00:03:56.325>about <00:03:56.524>human-centric <00:03:56.725>design.

89
00:03:57.865 --> 00:04:00.805
<00:03:57.865>And <00:03:57.992>the <00:03:58.119>thing <00:03:58.246>we <00:03:58.374>name <00:03:58.501>after <00:03:58.628>him <00:03:58.755>is <00:03:58.883>the <00:03:59.010>worst <00:03:59.137>possible <00:03:59.265>door.

90
00:04:01.425 --> 00:04:04.285
<00:04:01.425>Um, <00:04:01.625>so <00:04:01.825>the <00:04:02.025>more <00:04:02.225>you <00:04:02.425>think <00:04:02.625>about <00:04:02.825>this,

91
00:04:04.285 --> 00:04:06.165
<00:04:04.285>you <00:04:04.635>see <00:04:04.984>affordances <00:04:05.335>everywhere, <00:04:05.685>right?

92
00:04:06.965 --> 00:04:09.565
<00:04:06.965>Scissors <00:04:07.165>afford <00:04:07.365>being <00:04:07.565>held <00:04:07.765>in <00:04:07.965>a <00:04:08.165>particular <00:04:08.365>way

93
00:04:09.565 --> 00:04:11.725
<00:04:09.565>because <00:04:09.704>they've <00:04:09.845>got <00:04:09.984>a <00:04:10.125>big <00:04:10.265>slot <00:04:10.405>and <00:04:10.545>you've <00:04:10.685>got <00:04:10.825>four <00:04:10.965>fingers

94
00:04:11.865 --> 00:04:13.885
<00:04:11.865>and <00:04:12.005>they've <00:04:12.145>got <00:04:12.285>a <00:04:12.425>small <00:04:12.565>slot, <00:04:12.705>and <00:04:12.845>you've <00:04:12.985>got <00:04:13.125>a <00:04:13.265>thumb.

95
00:04:14.515 --> 00:04:16.845
<00:04:14.515>Okay? <00:04:14.864>Switches <00:04:15.214>afford <00:04:15.565>being <00:04:15.915>flipped.

96
00:04:17.175 --> 00:04:19.565
<00:04:17.175>Monks <00:04:17.408>afford <00:04:17.641>being <00:04:17.875>held <00:04:18.108>in <00:04:18.341>particular <00:04:18.575>ways.

97
00:04:19.625 --> 00:04:22.805
<00:04:19.625>That's <00:04:19.800>why <00:04:19.975>you've <00:04:20.149>never <00:04:20.325>seen <00:04:20.500>instruction <00:04:20.675>manuals <00:04:20.850>for <00:04:21.024>any

98
00:04:22.805 --> 00:04:23.845
<00:04:22.805>of <00:04:23.273>these <00:04:23.741>objects.

99
00:04:25.275 --> 00:04:26.765
<00:04:25.275>It's <00:04:25.498>also <00:04:25.722>why <00:04:25.945>your <00:04:26.169>desk <00:04:26.392>is <00:04:26.616>messy,

100
00:04:27.715 --> 00:04:29.645
<00:04:27.715>because <00:04:27.948>your <00:04:28.181>desk <00:04:28.414>is <00:04:28.648>a <00:04:28.881>flat <00:04:29.114>surface

101
00:04:30.945 --> 00:04:34.085
<00:04:30.945>and <00:04:31.100>a <00:04:31.256>flat <00:04:31.411>surface <00:04:31.567>affords <00:04:31.722>having <00:04:31.878>things <00:04:32.033>put <00:04:32.189>on <00:04:32.344>it.

102
00:04:34.085 --> 00:04:35.965
<00:04:34.085>It <00:04:34.260>makes <00:04:34.435>it <00:04:34.609>very <00:04:34.784>easy <00:04:34.960>to <00:04:35.135>put <00:04:35.310>things <00:04:35.484>down.

103
00:04:36.185 --> 00:04:38.045
<00:04:36.185>So <00:04:36.385>when <00:04:36.585>we <00:04:36.785>finish <00:04:36.985>our <00:04:37.185>cup <00:04:37.385>of <00:04:37.585>coffee,

104
00:04:38.585 --> 00:04:39.845
<00:04:38.585>we <00:04:38.774>all <00:04:38.962>know <00:04:39.152>we <00:04:39.341>should <00:04:39.530>take <00:04:39.719>it

105
00:04:39.845 --> 00:04:41.245
<00:04:39.845>to <00:04:40.025>the <00:04:40.205>kitchen <00:04:40.385>and <00:04:40.565>we <00:04:40.745>should <00:04:40.925>wash <00:04:41.105>it.

106
00:04:41.865 --> 00:04:44.405
<00:04:41.865>But <00:04:42.020>it's <00:04:42.176>very <00:04:42.331>easy <00:04:42.487>to <00:04:42.642>put <00:04:42.798>it <00:04:42.953>down, <00:04:43.109>isn't <00:04:43.265>it?

107
00:04:45.225 --> 00:04:46.685
<00:04:45.225>We <00:04:45.412>all <00:04:45.600>know <00:04:45.788>we <00:04:45.975>should <00:04:46.163>clean <00:04:46.351>our <00:04:46.539>desk,

108
00:04:46.985 --> 00:04:49.765
<00:04:46.985>but <00:04:47.140>it's <00:04:47.296>very <00:04:47.451>easy <00:04:47.607>to <00:04:47.762>let <00:04:47.918>that <00:04:48.073>stuff <00:04:48.229>pile <00:04:48.385>up.

109
00:04:52.185 --> 00:04:55.205
<00:04:52.185>So <00:04:52.340>we've <00:04:52.496>been <00:04:52.651>talking <00:04:52.807>about <00:04:52.962>affordances <00:04:53.118>in <00:04:53.273>the <00:04:53.429>design <00:04:53.585>of,

110
00:04:55.235 --> 00:04:56.485
<00:04:55.235>well, <00:04:55.797>everyday <00:04:56.360>things,

111
00:04:56.625 --> 00:05:00.765
<00:04:56.625>but <00:04:56.780>I <00:04:56.936>also <00:04:57.091>think <00:04:57.247>there <00:04:57.402>are <00:04:57.558>affordances <00:04:57.713>in <00:04:57.869>the <00:04:58.025>processes

112
00:05:00.785 --> 00:05:02.165
<00:05:00.785>around <00:05:01.095>us <00:05:01.406>how <00:05:01.716>we <00:05:02.027>work.

113
00:05:02.895 --> 00:05:05.045
<00:05:02.895>Maybe <00:05:03.050>you <00:05:03.206>have <00:05:03.361>a <00:05:03.517>board <00:05:03.672>like <00:05:03.828>this <00:05:03.983>at <00:05:04.139>work, <00:05:04.294>right?

114
00:05:05.225 --> 00:05:07.165
<00:05:05.225>You've <00:05:05.458>got <00:05:05.691>your, <00:05:05.925>maybe <00:05:06.158>your <00:05:06.391>column <00:05:06.625>names

115
00:05:07.185 --> 00:05:08.485
<00:05:07.185>or <00:05:07.770>difference, <00:05:08.355>maybe

116
00:05:08.485 --> 00:05:09.645
<00:05:08.485>it's <00:05:08.693>structured <00:05:08.902>a <00:05:09.111>little <00:05:09.320>bit <00:05:09.529>differently.

117
00:05:09.645 --> 00:05:12.365
<00:05:09.645>You've <00:05:09.820>got <00:05:09.995>your <00:05:10.169>cards <00:05:10.344>that <00:05:10.520>are <00:05:10.695>ready <00:05:10.870>for <00:05:11.044>dev,

118
00:05:12.475 --> 00:05:14.925
<00:05:12.475>then <00:05:12.755>they <00:05:13.035>get <00:05:13.315>pulled <00:05:13.595>into <00:05:13.875>developments.

119
00:05:15.075 --> 00:05:18.685
<00:05:15.075>Then <00:05:15.215>there's <00:05:15.354>maybe <00:05:15.495>a <00:05:15.635>QA <00:05:15.775>phase, <00:05:15.914>and <00:05:16.055>then <00:05:16.195>finally <00:05:16.335>it's <00:05:16.474>done.

120
00:05:18.835 --> 00:05:19.925
<00:05:18.835>Does <00:05:19.080>this <00:05:19.325>look <00:05:19.570>at <00:05:19.816>least

121
00:05:19.925 --> 00:05:21.725
<00:05:19.925>roughly <00:05:20.158>familiar <00:05:20.391>to <00:05:20.625>everyone <00:05:20.858>in <00:05:21.091>the <00:05:21.325>room?

122
00:05:21.725 --> 00:05:22.765
<00:05:21.725>Yeah. <00:05:21.912>Okay. <00:05:22.099>You <00:05:22.286>all <00:05:22.473>know <00:05:22.661>this.

123
00:05:22.905 --> 00:05:25.245
<00:05:22.905>Now, <00:05:23.255>something <00:05:23.604>really <00:05:23.955>interesting <00:05:24.304>happens

124
00:05:25.475 --> 00:05:26.685
<00:05:25.475>when <00:05:25.656>you <00:05:25.838>have <00:05:26.019>a <00:05:26.201>board <00:05:26.382>like <00:05:26.564>this.

125
00:05:27.745 --> 00:05:30.405
<00:05:27.745>You <00:05:27.978>are <00:05:28.211>working <00:05:28.445>on <00:05:28.678>a <00:05:28.911>few <00:05:29.145>cards.

126
00:05:30.405 --> 00:05:32.805
<00:05:30.405>You've <00:05:30.544>got <00:05:30.684>some <00:05:30.825>pairs <00:05:30.965>working <00:05:31.104>on <00:05:31.244>your <00:05:31.385>cards, <00:05:31.525>by <00:05:31.664>the <00:05:31.804>way,

127
00:05:32.805 --> 00:05:34.925
<00:05:32.805>pairing <00:05:32.980>is <00:05:33.155>a <00:05:33.330>fantastic <00:05:33.505>way <00:05:33.680>to <00:05:33.855>build <00:05:34.030>in <00:05:34.205>quality.

128
00:05:34.985 --> 00:05:36.205
<00:05:34.985>You <00:05:35.204>have <00:05:35.424>two <00:05:35.643>sets <00:05:35.863>of <00:05:36.082>eyes,

129
00:05:36.825 --> 00:05:39.285
<00:05:36.825>two <00:05:36.965>brains <00:05:37.104>looking <00:05:37.245>at <00:05:37.385>every <00:05:37.525>line <00:05:37.664>of <00:05:37.805>code <00:05:37.945>that <00:05:38.085>goes <00:05:38.224>in.

130
00:05:39.345 --> 00:05:40.845
<00:05:39.345>That's <00:05:40.020>fantastic. <00:05:40.695>Uh,

131
00:05:40.865 --> 00:05:42.605
<00:05:40.865>and <00:05:41.145>then <00:05:41.425>this <00:05:41.705>pair <00:05:41.985>down <00:05:42.265>here,

132
00:05:42.605 --> 00:05:43.765
<00:05:42.605>they <00:05:42.754>have <00:05:42.903>a <00:05:43.052>little <00:05:43.201>bit <00:05:43.350>of <00:05:43.499>a <00:05:43.649>problem.

133
00:05:43.995 --> 00:05:47.205
<00:05:43.995>They <00:05:44.195>understand <00:05:44.395>that <00:05:44.595>they <00:05:44.795>should <00:05:44.995>build <00:05:45.195>in <00:05:45.395>quality.

134
00:05:47.395 --> 00:05:49.445
<00:05:47.395>They <00:05:47.570>know <00:05:47.745>that <00:05:47.919>it's <00:05:48.094>the <00:05:48.270>right <00:05:48.445>thing <00:05:48.620>to <00:05:48.794>do,

135
00:05:49.445 --> 00:05:50.565
<00:05:49.445>that <00:05:49.697>they <00:05:49.949>should <00:05:50.201>be <00:05:50.453>testing

136
00:05:50.985 --> 00:05:53.605
<00:05:50.985>and <00:05:51.185>automating <00:05:51.385>at <00:05:51.585>every <00:05:51.785>step <00:05:51.985>of <00:05:52.185>the <00:05:52.385>process.

137
00:05:54.385 --> 00:05:57.005
<00:05:54.385>But <00:05:54.560>they <00:05:54.735>run <00:05:54.909>across <00:05:55.085>a <00:05:55.260>really <00:05:55.435>difficult <00:05:55.610>test <00:05:55.784>case.

138
00:05:57.050 --> 00:06:00.285
<00:05:57.050>And <00:05:57.205>they're <00:05:57.361>like, <00:05:57.516>how <00:05:57.672>are <00:05:57.827>we <00:05:57.983>going <00:05:58.138>to <00:05:58.294>test <00:05:58.450>this?

139
00:06:00.425 --> 00:06:01.885
<00:06:00.425>How <00:06:00.687>are <00:06:00.950>we <00:06:01.213>gonna <00:06:01.476>automate <00:06:01.739>this?

140
00:06:02.155 --> 00:06:05.365
<00:06:02.155>This <00:06:02.282>is <00:06:02.409>gonna <00:06:02.536>be <00:06:02.664>a <00:06:02.791>huge <00:06:02.918>pain. <00:06:03.045>What <00:06:03.173>are <00:06:03.300>we <00:06:03.427>gonna <00:06:03.554>do?

141
00:06:07.275 --> 00:06:11.965
<00:06:07.275>They <00:06:07.414>could <00:06:07.554>just <00:06:07.695>put <00:06:07.835>it <00:06:07.974>in <00:06:08.114>the <00:06:08.255>QA <00:06:08.395>column, <00:06:08.534>couldn't <00:06:08.674>they?

142
00:06:11.965 --> 00:06:15.445
<00:06:11.965>Right? <00:06:12.140>And <00:06:12.315>after <00:06:12.489>all, <00:06:12.664>there's <00:06:12.840>a <00:06:13.015>QA <00:06:13.190>over <00:06:13.364>there,

143
00:06:16.605 --> 00:06:18.345
<00:06:16.605>and <00:06:16.805>the <00:06:17.005>QAs <00:06:17.205>live <00:06:17.405>in <00:06:17.605>the <00:06:17.805>QA <00:06:18.005>column,

144
00:06:18.345 --> 00:06:20.105
<00:06:18.345>and <00:06:18.545>the <00:06:18.745>developers <00:06:18.945>live <00:06:19.145>in <00:06:19.345>the <00:06:19.545>development <00:06:19.745>column,

145
00:06:20.565 --> 00:06:21.985
<00:06:20.565>and <00:06:20.820>never <00:06:21.076>the <00:06:21.331>twain <00:06:21.587>shall <00:06:21.843>meet.

146
00:06:22.965 --> 00:06:25.585
<00:06:22.965>See, <00:06:23.120>we <00:06:23.276>all <00:06:23.431>know <00:06:23.587>it's <00:06:23.742>the <00:06:23.898>wrong <00:06:24.053>thing <00:06:24.209>to <00:06:24.364>do.

147
00:06:25.605 --> 00:06:27.985
<00:06:25.605>We <00:06:25.780>know <00:06:25.955>we <00:06:26.130>should <00:06:26.305>be <00:06:26.480>testing <00:06:26.655>early <00:06:26.830>and <00:06:27.005>often.

148
00:06:28.285 --> 00:06:31.385
<00:06:28.285>But <00:06:28.460>this <00:06:28.635>QA <00:06:28.810>column, <00:06:28.985>just <00:06:29.160>like <00:06:29.335>your <00:06:29.510>desk <00:06:29.685>acts

149
00:06:31.405 --> 00:06:34.985
<00:06:31.405>as <00:06:31.544>a <00:06:31.684>flat <00:06:31.825>surface <00:06:31.965>on <00:06:32.104>which <00:06:32.244>we <00:06:32.385>can <00:06:32.525>push <00:06:32.664>quality <00:06:32.804>concerns.

150
00:06:35.045 --> 00:06:38.105
<00:06:35.045>It <00:06:35.220>becomes <00:06:35.395>very <00:06:35.570>easy <00:06:35.745>to <00:06:35.920>say, <00:06:36.095>Hmm, <00:06:36.270>this <00:06:36.445>testing,

151
00:06:38.255 --> 00:06:40.185
<00:06:38.255>this <00:06:38.534>thinking <00:06:38.815>about <00:06:39.094>quality <00:06:39.375>is <00:06:39.655>difficult.

152
00:06:40.215 --> 00:06:41.505
<00:06:40.215>I'll <00:06:40.505>just <00:06:40.795>push <00:06:41.085>it <00:06:41.376>later.

153
00:06:42.805 --> 00:06:44.865
<00:06:42.805>See, <00:06:43.085>just <00:06:43.365>like <00:06:43.645>in <00:06:43.925>real <00:06:44.205>life,

154
00:06:46.165 --> 00:06:48.305
<00:06:46.165>the <00:06:46.398>problem <00:06:46.631>here <00:06:46.865>is <00:06:47.098>not <00:06:47.331>the <00:06:47.565>people.

155
00:06:49.285 --> 00:06:51.585
<00:06:49.284>The <00:06:49.460>problem <00:06:49.635>is <00:06:49.809>the <00:06:49.984>borders <00:06:50.159>we <00:06:50.335>put <00:06:50.510>between <00:06:50.684>them.

156
00:06:52.885 --> 00:06:55.265
<00:06:52.885>The <00:06:53.118>problem <00:06:53.351>is <00:06:53.585>this <00:06:53.818>separation <00:06:54.051>between <00:06:54.284>QA

157
00:06:55.265 --> 00:06:56.545
<00:06:55.265>and <00:06:55.649>dev <00:06:56.033>and <00:06:56.417>development.

158
00:06:57.205 --> 00:06:59.065
<00:06:57.205>The <00:06:57.380>fact <00:06:57.555>that <00:06:57.729>we <00:06:57.905>see <00:06:58.080>these <00:06:58.255>as <00:06:58.430>different <00:06:58.604>parts

159
00:06:59.165 --> 00:07:01.625
<00:06:59.165>of <00:06:59.340>the <00:06:59.515>process, <00:06:59.690>when <00:06:59.865>in <00:07:00.040>reality <00:07:00.215>they <00:07:00.390>are <00:07:00.565>the

160
00:07:01.625 --> 00:07:02.785
<00:07:01.625>same <00:07:01.886>part <00:07:02.147>of <00:07:02.408>the <00:07:02.669>process.

161
00:07:03.165 --> 00:07:05.425
<00:07:03.165>So <00:07:03.320>I <00:07:03.476>argue <00:07:03.631>for <00:07:03.787>getting <00:07:03.942>rid <00:07:04.098>of <00:07:04.253>the <00:07:04.409>QA <00:07:04.565>column,

162
00:07:06.615 --> 00:07:08.785
<00:07:06.615>just <00:07:06.965>have <00:07:07.315>your <00:07:07.665>development <00:07:08.015>column,

163
00:07:09.205 --> 00:07:10.585
<00:07:09.205>and <00:07:09.412>this <00:07:09.619>sends <00:07:09.825>a <00:07:10.032>very <00:07:10.240>clear <00:07:10.447>message.

164
00:07:11.365 --> 00:07:13.465
<00:07:11.365>We <00:07:11.540>all <00:07:11.715>know <00:07:11.890>we <00:07:12.065>need <00:07:12.240>to <00:07:12.415>automate <00:07:12.590>our <00:07:12.765>tests.

165
00:07:13.485 --> 00:07:15.825
<00:07:13.485>We <00:07:13.625>all <00:07:13.765>know <00:07:13.905>we, <00:07:14.045>we <00:07:14.185>need <00:07:14.325>to <00:07:14.465>be <00:07:14.605>thinking <00:07:14.745>about <00:07:14.885>quality

166
00:07:15.965 --> 00:07:17.745
<00:07:15.965>and <00:07:16.164>testing <00:07:16.364>and <00:07:16.565>all <00:07:16.765>of <00:07:16.965>those <00:07:17.164>lovely <00:07:17.364>things.

167
00:07:18.295 --> 00:07:20.185
<00:07:18.295>This <00:07:18.495>says <00:07:18.695>you <00:07:18.895>have <00:07:19.095>to <00:07:19.295>do <00:07:19.495>it <00:07:19.695>there,

168
00:07:20.955 --> 00:07:23.425
<00:07:20.955>there <00:07:21.110>are <00:07:21.266>no <00:07:21.421>other <00:07:21.577>options <00:07:21.732>for <00:07:21.888>where <00:07:22.043>you <00:07:22.199>put <00:07:22.354>it.

169
00:07:24.565 --> 00:07:26.225
<00:07:24.565>You <00:07:24.915>can't <00:07:25.265>push <00:07:25.615>quality <00:07:25.965>later

170
00:07:26.225 --> 00:07:28.345
<00:07:26.225>because <00:07:26.458>that's <00:07:26.691>the <00:07:26.925>only <00:07:27.158>step <00:07:27.391>you <00:07:27.625>have

171
00:07:30.295 --> 00:07:31.295
<00:07:30.295>Mechanism. <00:07:30.745>So <00:07:31.195>I

172
00:07:31.295 --> 00:07:32.705
<00:07:31.295>argue <00:07:31.612>that <00:07:31.929>the <00:07:32.246>first <00:07:32.563>affordance

173
00:07:32.705 --> 00:07:34.745
<00:07:32.705>that <00:07:32.880>we <00:07:33.055>can <00:07:33.229>build <00:07:33.405>into <00:07:33.580>our <00:07:33.755>processes <00:07:33.930>is <00:07:34.104>just

174
00:07:34.945 --> 00:07:36.025
<00:07:34.945>removing <00:07:35.269>the <00:07:35.592>QA <00:07:35.917>column.

175
00:07:36.125 --> 00:07:38.065
<00:07:36.125>We <00:07:36.475>remove <00:07:36.825>a <00:07:37.175>bad <00:07:37.525>affordance.

176
00:07:40.725 --> 00:07:43.345
<00:07:40.725>The <00:07:40.925>next <00:07:41.125>one <00:07:41.325>I <00:07:41.525>wanna <00:07:41.725>talk <00:07:41.925>about, <00:07:42.125>um,

177
00:07:43.345 --> 00:07:45.425
<00:07:43.345>comes <00:07:43.485>from <00:07:43.625>a <00:07:43.765>chat <00:07:43.905>I <00:07:44.045>had <00:07:44.185>a <00:07:44.325>couple <00:07:44.465>of <00:07:44.605>years <00:07:44.745>ago

178
00:07:45.425 --> 00:07:49.065
<00:07:45.425>with <00:07:45.600>Daniel <00:07:45.775>Hurst <00:07:45.950>North, <00:07:46.125>um, <00:07:46.300>in <00:07:46.475>venture <00:07:46.650>of <00:07:46.825>BDD.

179
00:07:49.085 --> 00:07:52.345
<00:07:49.085>You <00:07:49.212>may <00:07:49.339>know <00:07:49.466>him. <00:07:49.594>Um, <00:07:49.721>and <00:07:49.848>we <00:07:49.975>were <00:07:50.103>chatting <00:07:50.230>at <00:07:50.357>a <00:07:50.484>conference

180
00:07:52.365 --> 00:07:54.465
<00:07:52.365>and <00:07:52.598>he, <00:07:52.831>he <00:07:53.065>just <00:07:53.298>said <00:07:53.531>something <00:07:53.765>offhand

181
00:07:54.465 --> 00:07:55.665
<00:07:54.465>that <00:07:54.735>really <00:07:55.005>stuck <00:07:55.275>with <00:07:55.545>me.

182
00:07:55.965 --> 00:08:00.665
<00:07:55.965>He <00:07:56.120>said <00:07:56.276>that <00:07:56.431>a <00:07:56.587>testable <00:07:56.742>system <00:07:56.898>is <00:07:57.053>a <00:07:57.209>well-designed <00:07:57.365>system.

183
00:08:02.405 --> 00:08:05.145
<00:08:02.405>And <00:08:02.544>the <00:08:02.684>more <00:08:02.825>I <00:08:02.965>thought <00:08:03.104>about <00:08:03.244>that, <00:08:03.385>the <00:08:03.525>more <00:08:03.664>I'm <00:08:03.804>convinced

184
00:08:05.145 --> 00:08:10.065
<00:08:05.145>that <00:08:05.320>it's <00:08:05.495>true, <00:08:05.669>because <00:08:05.844>a <00:08:06.020>testable <00:08:06.195>system <00:08:06.370>is <00:08:06.544>going

185
00:08:10.065 --> 00:08:11.505
<00:08:10.065>to <00:08:10.497>be <00:08:10.929>modular, <00:08:11.361>right?

186
00:08:12.315 --> 00:08:15.385
<00:08:12.315>We're <00:08:12.442>going <00:08:12.569>to <00:08:12.696>be <00:08:12.824>able <00:08:12.951>to <00:08:13.078>swap <00:08:13.205>in <00:08:13.333>and <00:08:13.460>out <00:08:13.587>our <00:08:13.715>dependencies.

187
00:08:16.085 --> 00:08:19.625
<00:08:16.085>If <00:08:16.224>we've <00:08:16.364>got <00:08:16.505>a <00:08:16.645>heavy <00:08:16.784>database <00:08:16.924>integration, <00:08:17.065>we <00:08:17.205>should <00:08:17.344>be <00:08:17.484>able

188
00:08:19.625 --> 00:08:22.025
<00:08:19.625>to <00:08:19.780>swap <00:08:19.936>that <00:08:20.091>out <00:08:20.247>and <00:08:20.402>replace <00:08:20.558>it <00:08:20.713>with <00:08:20.869>a <00:08:21.025>stub

189
00:08:22.085 --> 00:08:23.545
<00:08:22.085>or <00:08:22.347>a <00:08:22.610>mark <00:08:22.873>during <00:08:23.136>test <00:08:23.399>time.

190
00:08:23.885 --> 00:08:27.025
<00:08:23.885>Allows <00:08:24.085>us <00:08:24.284>to <00:08:24.485>have <00:08:24.685>smaller, <00:08:24.885>more <00:08:25.085>isolated <00:08:25.284>tests.

191
00:08:29.685 --> 00:08:32.265
<00:08:29.685>And <00:08:29.840>a <00:08:29.996>well-designed <00:08:30.151>system <00:08:30.307>is <00:08:30.462>gonna <00:08:30.618>be <00:08:30.773>modular <00:08:30.929>as <00:08:31.085>well.

192
00:08:32.945 --> 00:08:36.425
<00:08:32.945>I <00:08:33.120>should <00:08:33.295>be <00:08:33.470>able <00:08:33.645>to <00:08:33.820>replace <00:08:33.995>components, <00:08:34.170>modules, <00:08:34.345>libraries,

193
00:08:36.425 --> 00:08:37.905
<00:08:36.424>classes, <00:08:37.756>frameworks,

194
00:08:37.905 --> 00:08:41.665
<00:08:37.905>entire <00:08:38.079>services <00:08:38.255>without <00:08:38.429>impacting <00:08:38.605>the <00:08:38.780>rest <00:08:38.954>of <00:08:39.130>the <00:08:39.304>system.

195
00:08:42.715 --> 00:08:47.025
<00:08:42.715>Modularity <00:08:42.948>enables <00:08:43.181>us <00:08:43.415>to, <00:08:43.648>enables <00:08:43.881>the <00:08:44.115>evolution

196
00:08:47.025 --> 00:08:48.025
<00:08:47.025>of <00:08:47.250>the <00:08:47.475>systems <00:08:47.699>we're <00:08:47.925>building.

197
00:08:48.045 --> 00:08:50.545
<00:08:48.045>And <00:08:48.324>that's <00:08:48.604>a <00:08:48.885>really <00:08:49.165>important <00:08:49.444>capability.

198
00:08:50.745 --> 00:08:52.665
<00:08:50.745>A <00:08:50.920>really <00:08:51.095>important <00:08:51.270>thing <00:08:51.445>we <00:08:51.620>need <00:08:51.795>to <00:08:51.970>focus <00:08:52.145>on.

199
00:08:55.205 --> 00:08:58.525
<00:08:55.205>A <00:08:55.360>testable <00:08:55.516>system <00:08:55.671>is <00:08:55.827>also <00:08:55.982>going <00:08:56.138>to <00:08:56.293>be <00:08:56.449>observable, <00:08:56.605>right?

200
00:08:58.865 --> 00:09:01.725
<00:08:58.865>All <00:08:59.065>of <00:08:59.265>our <00:08:59.465>automated <00:08:59.665>tests <00:08:59.865>have <00:09:00.065>assert, <00:09:00.265>right?

201
00:09:01.865 --> 00:09:06.045
<00:09:01.865>We <00:09:02.040>assert <00:09:02.215>that <00:09:02.390>the <00:09:02.565>expected <00:09:02.740>value <00:09:02.915>is, <00:09:03.090>uh, <00:09:03.265>uh,

202
00:09:06.075 --> 00:09:07.205
<00:09:06.075>what <00:09:06.414>we <00:09:06.753>actually <00:09:07.092>get.

203
00:09:07.665 --> 00:09:10.405
<00:09:07.665>We <00:09:07.781>need <00:09:07.898>to <00:09:08.015>be <00:09:08.131>able <00:09:08.248>to <00:09:08.365>assert <00:09:08.481>what's <00:09:08.598>going <00:09:08.714>on <00:09:08.831>in <00:09:08.948>the <00:09:09.064>system.

204
00:09:10.425 --> 00:09:11.805
<00:09:10.425>We <00:09:10.632>need <00:09:10.839>to <00:09:11.045>be <00:09:11.252>able <00:09:11.459>to <00:09:11.666>understand

205
00:09:11.825 --> 00:09:14.205
<00:09:11.825>and <00:09:12.025>observe <00:09:12.225>what's <00:09:12.425>going <00:09:12.625>on <00:09:12.825>in <00:09:13.025>the <00:09:13.225>internals.

206
00:09:14.425 --> 00:09:16.405
<00:09:14.425>We <00:09:14.580>don't <00:09:14.736>want <00:09:14.891>to <00:09:15.047>have <00:09:15.202>to <00:09:15.358>say, <00:09:15.513>we <00:09:15.669>don't <00:09:15.824>have

207
00:09:16.405 --> 00:09:19.005
<00:09:16.405>to <00:09:16.545>press <00:09:16.685>a <00:09:16.824>button <00:09:16.964>and <00:09:17.105>then <00:09:17.245>wait <00:09:17.385>for <00:09:17.525>five <00:09:17.665>external <00:09:17.805>systems

208
00:09:19.065 --> 00:09:21.365
<00:09:19.065>to <00:09:19.220>talk <00:09:19.376>to <00:09:19.531>each <00:09:19.687>other <00:09:19.842>before <00:09:19.998>we <00:09:20.153>get <00:09:20.309>an <00:09:20.465>email

209
00:09:21.465 --> 00:09:23.205
<00:09:21.465>and <00:09:21.698>we <00:09:21.931>can <00:09:22.165>confirm <00:09:22.398>the <00:09:22.631>test <00:09:22.865>past.

210
00:09:23.945 --> 00:09:27.125
<00:09:23.945>We <00:09:24.120>need <00:09:24.295>to <00:09:24.470>observe <00:09:24.645>or <00:09:24.820>be <00:09:24.995>able <00:09:25.170>to <00:09:25.345>observe

211
00:09:27.125 --> 00:09:30.125
<00:09:27.125>and <00:09:27.300>introspect <00:09:27.475>on <00:09:27.650>what's <00:09:27.825>going <00:09:28.000>on <00:09:28.175>inside <00:09:28.350>our <00:09:28.525>systems.

212
00:09:30.865 --> 00:09:33.805
<00:09:30.865>And <00:09:31.040>that's <00:09:31.215>true <00:09:31.390>of <00:09:31.565>a <00:09:31.740>well-designed <00:09:31.915>system <00:09:32.090>as <00:09:32.265>well.

213
00:09:35.145 --> 00:09:38.285
<00:09:35.145>Any <00:09:35.611>non-trivial <00:09:36.078>distributed <00:09:36.545>system

214
00:09:39.215 --> 00:09:40.405
<00:09:39.215>needs <00:09:39.572>to <00:09:39.929>be <00:09:40.286>observable.

215
00:09:40.945 --> 00:09:43.245
<00:09:40.945>You <00:09:41.145>can <00:09:41.345>have <00:09:41.545>all <00:09:41.745>sorts <00:09:41.945>of <00:09:42.145>beautiful <00:09:42.345>graphs

216
00:09:43.345 --> 00:09:44.365
<00:09:43.345>and <00:09:43.804>monitoring, <00:09:44.263>yes,

217
00:09:44.505 --> 00:09:46.885
<00:09:44.505>but <00:09:44.660>when <00:09:44.816>something <00:09:44.971>goes <00:09:45.127>wrong, <00:09:45.282>you <00:09:45.438>need <00:09:45.593>to <00:09:45.749>be <00:09:45.905>able

218
00:09:46.885 --> 00:09:50.045
<00:09:46.885>to <00:09:47.060>zoom <00:09:47.235>in <00:09:47.410>on <00:09:47.585>why <00:09:47.760>it <00:09:47.935>went <00:09:48.110>wrong, <00:09:48.285>understand

219
00:09:50.115 --> 00:09:52.245
<00:09:50.115>what <00:09:50.395>went <00:09:50.675>wrong, <00:09:50.955>and <00:09:51.235>debug <00:09:51.515>it.

220
00:09:52.755 --> 00:09:56.205
<00:09:52.755>Observability <00:09:52.955>should <00:09:53.155>be <00:09:53.355>a <00:09:53.555>first <00:09:53.755>class <00:09:53.955>design <00:09:54.155>concern.

221
00:09:58.025 --> 00:10:01.325
<00:09:58.025>And <00:09:58.225>above <00:09:58.425>all, <00:09:58.625>a <00:09:58.824>testable <00:09:59.025>system <00:09:59.225>is <00:09:59.425>simple.

222
00:10:03.005 --> 00:10:05.965
<00:10:03.005>A <00:10:03.160>testable <00:10:03.316>system <00:10:03.471>is, <00:10:03.627>I <00:10:03.782>love <00:10:03.938>the <00:10:04.093>phrase <00:10:04.249>big <00:10:04.405>enough

223
00:10:05.965 --> 00:10:07.005
<00:10:05.965>to <00:10:06.199>fit <00:10:06.433>in <00:10:06.667>your <00:10:06.901>head.

224
00:10:08.025 --> 00:10:10.365
<00:10:08.025>And <00:10:08.199>this <00:10:08.375>is <00:10:08.550>fractal. <00:10:08.725>Whether <00:10:08.900>you're <00:10:09.074>talking <00:10:09.250>about <00:10:09.425>a

225
00:10:10.565 --> 00:10:13.125
<00:10:10.565>function, <00:10:10.740>a <00:10:10.915>method, <00:10:11.090>a <00:10:11.265>class, <00:10:11.440>a <00:10:11.615>framework, <00:10:11.790>a <00:10:11.965>service,

226
00:10:13.585 --> 00:10:15.925
<00:10:13.585>it <00:10:13.740>should <00:10:13.896>be <00:10:14.051>big <00:10:14.207>enough <00:10:14.362>to <00:10:14.518>fit <00:10:14.673>in <00:10:14.829>your <00:10:14.985>head.

227
00:10:18.475 --> 00:10:19.645
<00:10:18.475>This <00:10:18.826>applies <00:10:19.177>to <00:10:19.528>testability

228
00:10:19.745 --> 00:10:21.525
<00:10:19.745>and <00:10:20.025>of <00:10:20.305>course <00:10:20.585>to <00:10:20.865>well-designed <00:10:21.145>systems.

229
00:10:21.745 --> 00:10:25.845
<00:10:21.745>You've <00:10:21.900>all <00:10:22.056>seen <00:10:22.211>that <00:10:22.367>one <00:10:22.522>function <00:10:22.678>with <00:10:22.833>37 <00:10:22.989>arguments, <00:10:23.145>okay?

230
00:10:26.075 --> 00:10:30.285
<00:10:26.075>That <00:10:26.230>is <00:10:26.386>a <00:10:26.541>huge <00:10:26.697>pain <00:10:26.852>to <00:10:27.008>test <00:10:27.163>simplicity <00:10:27.319>in <00:10:27.475>everything.

231
00:10:30.925 --> 00:10:32.045
<00:10:30.925>Militant <00:10:31.933>simplicity.

232
00:10:32.075 --> 00:10:34.285
<00:10:32.075>This <00:10:32.275>is, <00:10:32.475>I <00:10:32.675>think, <00:10:32.875>the <00:10:33.075>one, <00:10:33.275>uh, <00:10:33.475>element

233
00:10:34.345 --> 00:10:36.565
<00:10:34.345>of <00:10:34.578>extreme <00:10:34.811>programming <00:10:35.045>that <00:10:35.278>often <00:10:35.511>gets <00:10:35.745>forgotten.

234
00:10:36.625 --> 00:10:39.285
<00:10:36.625>We <00:10:36.780>talk <00:10:36.936>a <00:10:37.091>lot <00:10:37.247>about <00:10:37.402>pairing <00:10:37.558>and <00:10:37.713>test <00:10:37.869>driven <00:10:38.025>design,

235
00:10:39.825 --> 00:10:42.645
<00:10:39.825>but <00:10:40.175>simplicity <00:10:40.525>is <00:10:40.875>key <00:10:41.225>here.

236
00:10:45.905 --> 00:10:47.885
<00:10:45.905>See, <00:10:46.138>I <00:10:46.371>think <00:10:46.605>about <00:10:46.838>this <00:10:47.071>a <00:10:47.305>lot

237
00:10:47.885 --> 00:10:50.285
<00:10:47.885>because <00:10:48.085>very <00:10:48.285>often <00:10:48.485>when <00:10:48.685>we <00:10:48.885>have <00:10:49.085>these <00:10:49.285>dilemmas,

238
00:10:50.285 --> 00:10:51.885
<00:10:50.285>when <00:10:50.564>the <00:10:50.844>team <00:10:51.125>is <00:10:51.405>thinking, <00:10:51.685>yeah,

239
00:10:52.065 --> 00:10:54.165
<00:10:52.065>we <00:10:52.298>know <00:10:52.531>we <00:10:52.765>should <00:10:52.998>automate <00:10:53.231>this <00:10:53.465>test,

240
00:10:54.945 --> 00:10:58.165
<00:10:54.945>but <00:10:55.072>you <00:10:55.199>know, <00:10:55.326>this <00:10:55.454>test <00:10:55.581>is <00:10:55.708>gonna <00:10:55.835>take <00:10:55.963>a <00:10:56.090>very <00:10:56.217>long <00:10:56.345>time

241
00:10:58.165 --> 00:11:02.045
<00:10:58.165>to <00:10:58.292>write, <00:10:58.419>or <00:10:58.546>this <00:10:58.674>test <00:10:58.801>data's <00:10:58.928>gonna <00:10:59.055>take <00:10:59.183>a <00:10:59.310>really <00:10:59.437>long <00:10:59.564>time

242
00:11:02.045 --> 00:11:04.925
<00:11:02.045>to <00:11:02.219>set <00:11:02.395>up, <00:11:02.569>or <00:11:02.745>the <00:11:02.920>test <00:11:03.094>is <00:11:03.270>gonna <00:11:03.444>be,

243
00:11:05.075 --> 00:11:08.125
<00:11:05.075>it's <00:11:05.191>gonna <00:11:05.308>take <00:11:05.425>a <00:11:05.541>long <00:11:05.658>time <00:11:05.775>to <00:11:05.891>run <00:11:06.008>or <00:11:06.125>it's <00:11:06.241>gonna <00:11:06.358>be <00:11:06.475>flaky.

244
00:11:08.385 --> 00:11:10.365
<00:11:08.385>You've <00:11:08.665>all <00:11:08.944>heard <00:11:09.225>these <00:11:09.505>complaints, <00:11:09.785>right?

245
00:11:11.025 --> 00:11:13.325
<00:11:11.025>If <00:11:11.165>you're <00:11:11.305>very <00:11:11.444>unlucky, <00:11:11.584>you've <00:11:11.725>heard <00:11:11.865>them <00:11:12.005>all <00:11:12.145>from <00:11:12.285>the <00:11:12.425>same

246
00:11:13.325 --> 00:11:15.045
<00:11:13.325>person <00:11:13.675>in <00:11:14.025>the <00:11:14.375>same <00:11:14.725>sentence.

247
00:11:15.945 --> 00:11:17.165
<00:11:15.945>Uh, <00:11:16.164>that <00:11:16.384>has <00:11:16.603>happened <00:11:16.823>to <00:11:17.043>me.

248
00:11:17.665 --> 00:11:19.325
<00:11:17.665>Um, <00:11:17.944>and, <00:11:18.224>and <00:11:18.505>this <00:11:18.785>frustrates <00:11:19.064>me

249
00:11:19.325 --> 00:11:22.765
<00:11:19.325>because <00:11:19.500>this <00:11:19.675>isn't <00:11:19.850>like <00:11:20.025>a <00:11:20.200>fundamental <00:11:20.375>property <00:11:20.550>of <00:11:20.725>testing.

250
00:11:24.475 --> 00:11:27.765
<00:11:24.475>What <00:11:24.650>I <00:11:24.825>hear <00:11:25.000>when <00:11:25.175>I <00:11:25.350>hear <00:11:25.525>these <00:11:25.700>complaints <00:11:25.875>is

251
00:11:27.765 --> 00:11:29.405
<00:11:27.765>that <00:11:28.045>this <00:11:28.324>system <00:11:28.605>is <00:11:28.885>not <00:11:29.165>testable.

252
00:11:30.675 --> 00:11:33.845
<00:11:30.675>That <00:11:30.908>this <00:11:31.141>system <00:11:31.375>lacks <00:11:31.608>affordances <00:11:31.841>for <00:11:32.074>testing.

253
00:11:34.305 --> 00:11:37.405
<00:11:34.305>We <00:11:34.460>never <00:11:34.616>built <00:11:34.771>in <00:11:34.927>those <00:11:35.082>affordances <00:11:35.238>to <00:11:35.393>make <00:11:35.549>it <00:11:35.704>easier

254
00:11:37.505 --> 00:11:38.645
<00:11:37.505>to <00:11:37.847>test <00:11:38.189>this <00:11:38.531>system.

255
00:11:39.755 --> 00:11:41.325
<00:11:39.755>This <00:11:39.955>can <00:11:40.155>happen <00:11:40.355>for <00:11:40.555>a <00:11:40.755>couple <00:11:40.955>of <00:11:41.155>reasons.

256
00:11:41.355 --> 00:11:42.525
<00:11:41.355>This <00:11:41.618>can <00:11:41.881>happen <00:11:42.144>just <00:11:42.408>simply

257
00:11:42.525 --> 00:11:44.805
<00:11:42.525>because <00:11:42.758>of <00:11:42.991>lack <00:11:43.225>of <00:11:43.458>education, <00:11:43.691>about <00:11:43.925>how

258
00:11:44.825 --> 00:11:46.205
<00:11:44.825>to <00:11:45.135>build <00:11:45.446>a <00:11:45.756>testable <00:11:46.067>system.

259
00:11:46.745 --> 00:11:49.165
<00:11:46.745>It <00:11:46.900>can <00:11:47.056>also <00:11:47.211>happen <00:11:47.367>because <00:11:47.522>of <00:11:47.678>that <00:11:47.833>damn <00:11:47.989>QA <00:11:48.145>column,

260
00:11:50.145 --> 00:11:53.445
<00:11:50.145>because <00:11:50.300>if <00:11:50.456>testing <00:11:50.611>is <00:11:50.767>someone <00:11:50.922>else's <00:11:51.078>problem, <00:11:51.233>you <00:11:51.389>don't <00:11:51.545>need

261
00:11:53.445 --> 00:11:55.405
<00:11:53.445>to <00:11:53.678>concern <00:11:53.911>yourself <00:11:54.145>with <00:11:54.378>making <00:11:54.611>it <00:11:54.845>testable

262
00:11:55.405 --> 00:11:57.965
<00:11:55.405>because <00:11:55.638>they'll <00:11:55.871>deal <00:11:56.105>with <00:11:56.338>it <00:11:56.571>over <00:11:56.805>there.

263
00:11:59.105 --> 00:12:01.805
<00:11:59.105>So <00:11:59.280>again, <00:11:59.455>get <00:11:59.630>rid <00:11:59.805>of <00:11:59.980>your <00:12:00.155>QA <00:12:00.330>column <00:12:00.505>please.

264
00:12:04.025 --> 00:12:06.765
<00:12:04.025>So <00:12:04.199>I <00:12:04.375>think <00:12:04.550>a <00:12:04.725>really <00:12:04.900>important <00:12:05.074>affordance <00:12:05.250>for <00:12:05.425>quality

265
00:12:07.425 --> 00:12:08.805
<00:12:07.425>is <00:12:07.839>designing <00:12:08.252>for <00:12:08.666>testability.

266
00:12:09.345 --> 00:12:11.925
<00:12:09.345>We <00:12:09.625>often <00:12:09.905>talk <00:12:10.185>about <00:12:10.465>design <00:12:10.745>principles

267
00:12:12.065 --> 00:12:13.565
<00:12:12.065>and <00:12:12.740>cross-functional <00:12:13.415>requirements.

268
00:12:13.585 --> 00:12:17.125
<00:12:13.585>We <00:12:13.785>talk <00:12:13.985>about <00:12:14.185>scalability <00:12:14.385>and <00:12:14.585>performance <00:12:14.785>and <00:12:14.985>availability.

269
00:12:17.805 --> 00:12:20.045
<00:12:17.805>I <00:12:18.155>think <00:12:18.505>that <00:12:18.854>testability <00:12:19.204>needs

270
00:12:20.045 --> 00:12:22.885
<00:12:20.045>to <00:12:20.278>be <00:12:20.511>a <00:12:20.745>first <00:12:20.978>class <00:12:21.211>design <00:12:21.444>concern.

271
00:12:24.445 --> 00:12:26.925
<00:12:24.445>Absolutely. <00:12:24.585>Top <00:12:24.725>of <00:12:24.865>your <00:12:25.005>list <00:12:25.145>of <00:12:25.285>things <00:12:25.425>to <00:12:25.565>be <00:12:25.705>thinking <00:12:25.845>about.

272
00:12:28.825 --> 00:12:32.485
<00:12:28.825>Now, <00:12:28.980>for <00:12:29.136>the <00:12:29.291>final <00:12:29.447>affordance <00:12:29.602>I <00:12:29.758>wanna <00:12:29.913>look <00:12:30.069>at <00:12:30.225>today,

273
00:12:32.565 --> 00:12:35.005
<00:12:32.565>I <00:12:32.740>wanna <00:12:32.915>start <00:12:33.090>with <00:12:33.265>a <00:12:33.440>little, <00:12:33.615>a <00:12:33.790>little <00:12:33.965>story.

274
00:12:35.665 --> 00:12:38.365
<00:12:35.665>And <00:12:35.792>this <00:12:35.919>is <00:12:36.046>the <00:12:36.174>story <00:12:36.301>of <00:12:36.428>the <00:12:36.555>first <00:12:36.683>release <00:12:36.810>I <00:12:36.937>was <00:12:37.064>ever

275
00:12:38.645 --> 00:12:39.685
<00:12:38.645>involved <00:12:38.879>in <00:12:39.113>in <00:12:39.347>my <00:12:39.580>career.

276
00:12:40.625 --> 00:12:42.925
<00:12:40.625>Um, <00:12:40.752>and <00:12:40.879>what <00:12:41.006>happened <00:12:41.134>is <00:12:41.261>I <00:12:41.388>was <00:12:41.515>working <00:12:41.643>in <00:12:41.770>a <00:12:41.897>very <00:12:42.025>large

277
00:12:42.925 --> 00:12:44.685
<00:12:42.925>company, <00:12:43.204>very <00:12:43.484>big <00:12:43.765>department, <00:12:44.045>about <00:12:44.324>20

278
00:12:44.745 --> 00:12:47.685
<00:12:44.745>or <00:12:44.945>so <00:12:45.145>teams <00:12:45.345>working <00:12:45.545>on <00:12:45.745>this <00:12:45.945>one <00:12:46.145>product.

279
00:12:47.985 --> 00:12:51.845
<00:12:47.985>And <00:12:48.185>the <00:12:48.385>big <00:12:48.585>kinda <00:12:48.785>product <00:12:48.985>manager <00:12:49.185>came <00:12:49.385>out.

280
00:12:52.065 --> 00:12:54.525
<00:12:52.065>Uh, <00:12:52.220>to <00:12:52.376>be <00:12:52.531>clear, <00:12:52.687>he <00:12:52.842>didn't <00:12:52.998>actually <00:12:53.153>have <00:12:53.309>a <00:12:53.465>crown.

281
00:12:54.525 --> 00:12:57.285
<00:12:54.525>That's <00:12:54.652>just <00:12:54.779>so <00:12:54.906>you <00:12:55.034>can <00:12:55.161>sort <00:12:55.288>of <00:12:55.415>distinguish <00:12:55.543>him <00:12:55.670>on <00:12:55.797>the <00:12:55.925>slide.

282
00:12:57.785 --> 00:13:01.365
<00:12:57.785>Um, <00:12:57.925>and <00:12:58.064>he <00:12:58.204>kind <00:12:58.344>of <00:12:58.485>told <00:12:58.625>everyone, <00:12:58.765>everyone <00:12:58.905>to <00:12:59.045>come <00:12:59.185>out,

283
00:13:02.565 --> 00:13:03.565
<00:13:02.565>everyone <00:13:02.693>to <00:13:02.822>come <00:13:02.950>out <00:13:03.079>into <00:13:03.207>the <00:13:03.336>same <00:13:03.465>room.

284
00:13:03.805 --> 00:13:05.845
<00:13:03.805>'cause <00:13:03.979>he <00:13:04.155>had <00:13:04.329>an <00:13:04.505>announcement. <00:13:04.680>He <00:13:04.854>said <00:13:05.030>that <00:13:05.204>one

285
00:13:05.845 --> 00:13:09.285
<00:13:05.845>of <00:13:06.020>our <00:13:06.195>competitors <00:13:06.370>had <00:13:06.545>just <00:13:06.720>announced <00:13:06.895>a <00:13:07.070>new <00:13:07.245>version

286
00:13:11.225 --> 00:13:12.765
<00:13:11.225>and <00:13:11.502>they've <00:13:11.779>given <00:13:12.056>a <00:13:12.333>release <00:13:12.611>date.

287
00:13:13.105 --> 00:13:14.965
<00:13:13.105>And <00:13:13.455>he <00:13:13.805>said, <00:13:14.155>look, <00:13:14.505>I,

288
00:13:15.205 --> 00:13:16.525
<00:13:15.205>I <00:13:15.337>don't <00:13:15.469>want <00:13:15.601>them <00:13:15.733>to <00:13:15.865>beat <00:13:15.997>us <00:13:16.129>to <00:13:16.261>the <00:13:16.393>market.

289
00:13:16.825 --> 00:13:18.245
<00:13:16.825>Can <00:13:17.144>we <00:13:17.464>release <00:13:17.783>before <00:13:18.103>them?

290
00:13:18.425 --> 00:13:21.125
<00:13:18.425>Can <00:13:18.541>we <00:13:18.658>beat <00:13:18.775>them <00:13:18.891>to <00:13:19.008>the <00:13:19.125>market <00:13:19.241>and <00:13:19.358>impress <00:13:19.474>all <00:13:19.591>of <00:13:19.708>our <00:13:19.824>users?

291
00:13:21.625 --> 00:13:23.245
<00:13:21.625>Can <00:13:21.858>we <00:13:22.091>get <00:13:22.325>that <00:13:22.558>first <00:13:22.791>mover <00:13:23.025>advantage?

292
00:13:25.225 --> 00:13:28.165
<00:13:25.225>And <00:13:25.380>all <00:13:25.536>the <00:13:25.691>tech <00:13:25.847>leads <00:13:26.002>looked <00:13:26.158>at <00:13:26.313>each <00:13:26.469>other <00:13:26.625>kind

293
00:13:28.165 --> 00:13:30.805
<00:13:28.165>of <00:13:28.515>nervously <00:13:28.865>and <00:13:29.214>said, <00:13:29.564>no,

294
00:13:31.705 --> 00:13:33.245
<00:13:31.705>we <00:13:32.167>can't <00:13:32.629>release, <00:13:33.091>actually.

295
00:13:34.625 --> 00:13:36.485
<00:13:34.625>And <00:13:34.825>the <00:13:35.025>big <00:13:35.225>project <00:13:35.425>manager <00:13:35.625>was <00:13:35.825>very <00:13:36.025>confused.

296
00:13:36.505 --> 00:13:39.165
<00:13:36.505>He <00:13:36.660>was <00:13:36.816>like, <00:13:36.971>but <00:13:37.127>hang <00:13:37.282>on, <00:13:37.438>you <00:13:37.593>just <00:13:37.749>demoed <00:13:37.905>these

297
00:13:39.165 --> 00:13:40.405
<00:13:39.165>new <00:13:39.388>features <00:13:39.611>to <00:13:39.834>me <00:13:40.057>last <00:13:40.281>week.

298
00:13:41.265 --> 00:13:44.165
<00:13:41.265>Why <00:13:41.439>can't <00:13:41.615>we, <00:13:41.790>why <00:13:41.965>can't <00:13:42.140>we <00:13:42.314>get <00:13:42.490>those <00:13:42.665>live?

299
00:13:44.235 --> 00:13:48.045
<00:13:44.235>What, <00:13:44.375>what's <00:13:44.515>going <00:13:44.655>on? <00:13:44.795>And <00:13:44.935>all <00:13:45.075>the <00:13:45.215>teams <00:13:45.355>had <00:13:45.495>to <00:13:45.635>explain

300
00:13:48.045 --> 00:13:50.085
<00:13:48.045>that <00:13:48.278>they <00:13:48.511>were <00:13:48.745>working <00:13:48.978>on <00:13:49.211>feature <00:13:49.444>branches,

301
00:13:51.345 --> 00:13:53.325
<00:13:51.345>big <00:13:51.811>complicated <00:13:52.278>feature <00:13:52.745>branches.

302
00:13:53.505 --> 00:13:55.285
<00:13:53.505>In <00:13:53.738>some <00:13:53.971>cases, <00:13:54.205>these <00:13:54.438>feature <00:13:54.671>branches <00:13:54.905>had

303
00:13:55.285 --> 00:13:56.325
<00:13:55.285>been <00:13:55.597>running <00:13:55.909>for <00:13:56.221>months.

304
00:13:57.355 --> 00:13:58.965
<00:13:57.355>Huge, <00:13:57.821>complicated <00:13:58.288>new <00:13:58.755>features.

305
00:13:59.265 --> 00:14:02.285
<00:13:59.265>And <00:13:59.405>before <00:13:59.545>we <00:13:59.685>can <00:13:59.824>really <00:13:59.965>release, <00:14:00.105>we <00:14:00.245>have <00:14:00.385>to <00:14:00.525>integrate <00:14:00.665>all

306
00:14:02.525 --> 00:14:07.005
<00:14:02.525>of <00:14:02.758>these <00:14:02.991>several <00:14:03.225>weeks <00:14:03.458>of <00:14:03.691>merge <00:14:03.925>hell,

307
00:14:07.005 --> 00:14:09.965
<00:14:07.005>several <00:14:07.160>weeks <00:14:07.316>of <00:14:07.471>people <00:14:07.627>yelling <00:14:07.782>at <00:14:07.938>each <00:14:08.093>other <00:14:08.249>about <00:14:08.405>merge,

308
00:14:10.095 --> 00:14:11.285
<00:14:10.095>about <00:14:10.630>merge <00:14:11.165>conflicts.

309
00:14:11.745 --> 00:14:14.205
<00:14:11.745>And <00:14:11.920>after <00:14:12.095>that's <00:14:12.270>done <00:14:12.445>only <00:14:12.620>once <00:14:12.795>we've <00:14:12.970>got <00:14:13.145>all

310
00:14:14.205 --> 00:14:16.845
<00:14:14.205>of <00:14:14.345>these <00:14:14.485>things <00:14:14.625>together, <00:14:14.765>only <00:14:14.905>then <00:14:15.045>can <00:14:15.185>we <00:14:15.325>do <00:14:15.465>our <00:14:15.605>system

311
00:14:16.845 --> 00:14:19.365
<00:14:16.845>testing <00:14:17.020>when <00:14:17.195>everything <00:14:17.370>is <00:14:17.545>actually <00:14:17.720>together <00:14:17.895>as <00:14:18.070>one <00:14:18.245>system.

312
00:14:21.145 --> 00:14:23.005
<00:14:21.145>And <00:14:21.345>then <00:14:21.545>we <00:14:21.745>can <00:14:21.944>do <00:14:22.145>our <00:14:22.345>installation <00:14:22.545>testing,

313
00:14:23.115 --> 00:14:25.365
<00:14:23.115>make <00:14:23.348>sure <00:14:23.581>it <00:14:23.815>installs <00:14:24.048>on <00:14:24.281>various <00:14:24.515>platforms.

314
00:14:25.875 --> 00:14:28.685
<00:14:25.875>Then <00:14:26.030>we <00:14:26.186>can <00:14:26.341>do <00:14:26.497>our <00:14:26.652>load <00:14:26.808>testing, <00:14:26.963>our <00:14:27.119>migration <00:14:27.275>testing,

315
00:14:28.835 --> 00:14:31.125
<00:14:28.835>penetration <00:14:29.301>testing, <00:14:29.768>license <00:14:30.235>updates.

316
00:14:32.145 --> 00:14:34.085
<00:14:32.145>Not <00:14:32.378>all <00:14:32.611>of <00:14:32.845>these <00:14:33.078>were <00:14:33.311>terribly <00:14:33.545>complicated.

317
00:14:34.105 --> 00:14:36.365
<00:14:34.105>The <00:14:34.280>license <00:14:34.455>updates, <00:14:34.630>all <00:14:34.805>we <00:14:34.980>did <00:14:35.155>is <00:14:35.330>someone <00:14:35.505>had

318
00:14:36.365 --> 00:14:37.485
<00:14:36.365>to <00:14:36.533>go <00:14:36.701>into <00:14:36.869>a <00:14:37.037>little <00:14:37.205>text <00:14:37.373>file

319
00:14:37.485 --> 00:14:39.045
<00:14:37.485>and <00:14:37.718>change <00:14:37.951>the <00:14:38.185>number <00:14:38.418>on <00:14:38.651>the <00:14:38.885>year.

320
00:14:40.305 --> 00:14:42.205
<00:14:40.305>But <00:14:40.505>each <00:14:40.704>of <00:14:40.905>those <00:14:41.104>was <00:14:41.305>a <00:14:41.505>manual <00:14:41.704>step.

321
00:14:43.475 --> 00:14:46.725
<00:14:43.475>Each <00:14:43.630>of <00:14:43.786>those <00:14:43.941>involved, <00:14:44.097>someone <00:14:44.252>going <00:14:44.408>in, <00:14:44.563>making <00:14:44.719>a <00:14:44.875>change,

322
00:14:47.545 --> 00:14:49.325
<00:14:47.545>and <00:14:47.719>a <00:14:47.895>very <00:14:48.069>small <00:14:48.245>chance <00:14:48.420>they <00:14:48.594>get <00:14:48.770>it <00:14:48.944>wrong.

323
00:14:50.545 --> 00:14:51.645
<00:14:50.545>And <00:14:50.792>after <00:14:51.040>all <00:14:51.287>of <00:14:51.535>that,

324
00:14:52.465 --> 00:14:56.005
<00:14:52.465>and <00:14:52.605>this <00:14:52.745>took <00:14:52.885>months, <00:14:53.025>by <00:14:53.165>the <00:14:53.305>way, <00:14:53.445>this <00:14:53.585>took, <00:14:53.725>uh, <00:14:53.865>start

325
00:14:56.005 --> 00:14:57.805
<00:14:56.005>to <00:14:56.205>finish <00:14:56.405>about <00:14:56.605>two <00:14:56.805>and <00:14:57.005>a <00:14:57.205>half <00:14:57.405>months.

326
00:14:57.865 --> 00:15:00.845
<00:14:57.865>We, <00:14:58.040>we <00:14:58.215>actually <00:14:58.390>planned <00:14:58.565>our <00:14:58.740>yearly <00:14:58.915>barbecue, <00:14:59.090>our <00:14:59.265>kind

327
00:15:00.845 --> 00:15:03.005
<00:15:00.845>of <00:15:01.078>summer <00:15:01.311>barbecue <00:15:01.545>around <00:15:01.778>this <00:15:02.011>release <00:15:02.245>process.

328
00:15:04.425 --> 00:15:06.925
<00:15:04.425>So <00:15:04.625>it'd <00:15:04.824>start <00:15:05.025>this <00:15:05.224>in <00:15:05.425>May, <00:15:05.625>June, <00:15:05.824>July,

329
00:15:06.985 --> 00:15:10.165
<00:15:06.985>and <00:15:07.160>like <00:15:07.335>Midgut, <00:15:07.510>we'd <00:15:07.685>be <00:15:07.860>able <00:15:08.035>to, <00:15:08.210>would <00:15:08.385>release

330
00:15:10.585 --> 00:15:12.045
<00:15:10.585>and <00:15:10.804>then <00:15:11.023>we'd <00:15:11.242>have <00:15:11.461>our <00:15:11.680>barbecue, <00:15:11.899>right?

331
00:15:13.395 --> 00:15:16.085
<00:15:13.395>This <00:15:13.550>was <00:15:13.706>my <00:15:13.861>first <00:15:14.017>experience <00:15:14.172>of <00:15:14.328>a <00:15:14.483>software <00:15:14.639>release <00:15:14.795>process.

332
00:15:16.705 --> 00:15:19.125
<00:15:16.705>And <00:15:16.905>I <00:15:17.105>think <00:15:17.305>about <00:15:17.505>the <00:15:17.705>most <00:15:17.905>recent <00:15:18.105>release

333
00:15:19.125 --> 00:15:20.645
<00:15:19.125>processes <00:15:19.398>I've <00:15:19.672>been <00:15:19.945>a <00:15:20.219>part <00:15:20.492>of.

334
00:15:21.425 --> 00:15:24.765
<00:15:21.425>Um, <00:15:21.552>in <00:15:21.679>fact, <00:15:21.806>I <00:15:21.934>did <00:15:22.061>a, <00:15:22.188>a <00:15:22.315>fairly <00:15:22.443>large <00:15:22.570>release <00:15:22.697>last <00:15:22.824>week.

335
00:15:25.145 --> 00:15:28.725
<00:15:25.145>And, <00:15:25.272>uh, <00:15:25.399>the <00:15:25.526>way <00:15:25.654>it <00:15:25.781>worked <00:15:25.908>is <00:15:26.035>our <00:15:26.163>product <00:15:26.290>owner <00:15:26.417>came <00:15:26.545>into

336
00:15:28.725 --> 00:15:30.725
<00:15:28.725>the <00:15:28.925>room <00:15:29.125>and <00:15:29.325>says, <00:15:29.525>Hey, <00:15:29.725>can <00:15:29.925>we <00:15:30.125>release?

337
00:15:31.305 --> 00:15:32.325
<00:15:31.305>And <00:15:31.534>we <00:15:31.764>said, <00:15:31.993>yeah, <00:15:32.223>sure.

338
00:15:32.625 --> 00:15:33.725
<00:15:32.625>We <00:15:32.872>flipped <00:15:33.120>a <00:15:33.367>feature <00:15:33.615>switch

339
00:15:34.065 --> 00:15:36.565
<00:15:34.065>and <00:15:34.205>about <00:15:34.345>two <00:15:34.485>minutes <00:15:34.625>later, <00:15:34.765>it <00:15:34.905>was <00:15:35.045>live <00:15:35.185>in <00:15:35.325>front <00:15:35.465>of,

340
00:15:36.625 --> 00:15:37.845
<00:15:36.625>uh, <00:15:36.899>about <00:15:37.174>a <00:15:37.448>million <00:15:37.723>users.

341
00:15:38.985 --> 00:15:40.165
<00:15:38.985>It <00:15:39.339>was <00:15:39.693>incredibly <00:15:40.047>boring.

342
00:15:40.845 --> 00:15:42.805
<00:15:40.845>A <00:15:40.985>hill <00:15:41.125>that <00:15:41.265>I <00:15:41.405>die <00:15:41.545>on <00:15:41.685>is <00:15:41.825>that <00:15:41.965>releases <00:15:42.105>should <00:15:42.245>be

343
00:15:42.825 --> 00:15:44.205
<00:15:42.825>boring, <00:15:44.067>okay?

344
00:15:45.305 --> 00:15:47.285
<00:15:45.305>The <00:15:45.584>principle <00:15:45.864>here <00:15:46.145>is <00:15:46.425>continuous <00:15:46.704>delivery,

345
00:15:47.305 --> 00:15:49.245
<00:15:47.305>and <00:15:47.505>I'm <00:15:47.704>sure <00:15:47.905>you've <00:15:48.104>heard <00:15:48.305>this <00:15:48.505>phrase, <00:15:48.704>right?

346
00:15:49.975 --> 00:15:53.565
<00:15:49.975>Continuous <00:15:50.130>delivery <00:15:50.286>is <00:15:50.441>the <00:15:50.597>ability <00:15:50.752>to <00:15:50.908>get <00:15:51.063>changes <00:15:51.219>into <00:15:51.375>the,

347
00:15:53.675 --> 00:15:56.925
<00:15:53.675>into <00:15:53.830>production <00:15:53.986>or <00:15:54.141>into <00:15:54.297>the <00:15:54.452>hands <00:15:54.608>of <00:15:54.763>our <00:15:54.919>users <00:15:55.074>safely

348
00:15:57.505 --> 00:16:01.805
<00:15:57.505>and <00:15:57.705>quickly, <00:15:57.905>and <00:15:58.105>in <00:15:58.305>a <00:15:58.505>sustainable <00:15:58.705>way, <00:15:58.905>not

349
00:16:01.805 --> 00:16:04.005
<00:16:01.805>by <00:16:01.979>whipping <00:16:02.155>everyone <00:16:02.329>and <00:16:02.505>forcing <00:16:02.680>them <00:16:02.854>to <00:16:03.030>work <00:16:03.204>weekends,

350
00:16:04.265 --> 00:16:06.205
<00:16:04.265>but <00:16:04.498>by <00:16:04.731>changing <00:16:04.965>the <00:16:05.198>way <00:16:05.431>we <00:16:05.665>work.

351
00:16:06.475 --> 00:16:09.405
<00:16:06.475>Another <00:16:06.675>way <00:16:06.875>I <00:16:07.075>like <00:16:07.275>to <00:16:07.475>articulate <00:16:07.675>this <00:16:07.875>is

352
00:16:09.405 --> 00:16:12.765
<00:16:09.405>that <00:16:09.638>continuous <00:16:09.871>delivery <00:16:10.105>makes <00:16:10.338>releasing <00:16:10.571>a <00:16:10.805>business

353
00:16:13.005 --> 00:16:14.765
<00:16:13.005>decision, <00:16:13.355>not <00:16:13.705>a <00:16:14.055>technical <00:16:14.405>decision.

354
00:16:15.235 --> 00:16:18.285
<00:16:15.235>Because <00:16:15.410>in <00:16:15.585>that <00:16:15.760>first <00:16:15.935>release <00:16:16.110>I <00:16:16.285>experienced <00:16:16.460>the <00:16:16.635>business

355
00:16:18.285 --> 00:16:20.525
<00:16:18.285>wanted <00:16:18.485>to <00:16:18.685>release, <00:16:18.885>but <00:16:19.084>the <00:16:19.285>technical <00:16:19.485>team <00:16:19.685>says,

356
00:16:20.665 --> 00:16:21.765
<00:16:20.665>no, <00:16:21.160>that's <00:16:21.655>impossible.

357
00:16:21.785 --> 00:16:22.965
<00:16:21.785>We <00:16:21.936>have <00:16:22.088>some <00:16:22.240>things <00:16:22.391>we <00:16:22.543>need <00:16:22.695>to <00:16:22.847>do.

358
00:16:24.065 --> 00:16:26.045
<00:16:24.065>But <00:16:24.265>in <00:16:24.465>all <00:16:24.665>of <00:16:24.865>my <00:16:25.065>most <00:16:25.265>recent <00:16:25.465>releases,

359
00:16:26.945 --> 00:16:28.245
<00:16:26.945>the <00:16:27.179>business <00:16:27.413>has <00:16:27.647>been <00:16:27.881>in <00:16:28.115>control.

360
00:16:28.945 --> 00:16:30.285
<00:16:28.945>Can <00:16:29.117>we <00:16:29.289>release? <00:16:29.461>Yes, <00:16:29.634>of <00:16:29.806>course <00:16:29.978>you <00:16:30.151>can,

361
00:16:30.285 --> 00:16:32.845
<00:16:30.285>because <00:16:30.635>we're <00:16:30.985>doing <00:16:31.334>continuous <00:16:31.685>delivery.

362
00:16:33.945 --> 00:16:36.005
<00:16:33.945>And <00:16:34.120>in <00:16:34.295>order <00:16:34.470>to <00:16:34.645>make <00:16:34.820>this <00:16:34.995>possible, <00:16:35.170>you <00:16:35.345>need

363
00:16:36.005 --> 00:16:37.005
<00:16:36.005>to <00:16:36.305>do <00:16:36.605>several <00:16:36.905>things.

364
00:16:38.025 --> 00:16:40.725
<00:16:38.025>You <00:16:38.258>need <00:16:38.491>a <00:16:38.725>repeatable, <00:16:38.958>reliable <00:16:39.191>release <00:16:39.425>process.

365
00:16:40.825 --> 00:16:42.605
<00:16:40.825>You <00:16:41.000>need <00:16:41.175>to <00:16:41.350>be <00:16:41.525>able <00:16:41.700>to <00:16:41.875>press <00:16:42.050>a <00:16:42.225>button

366
00:16:42.825 --> 00:16:45.285
<00:16:42.825>and <00:16:42.980>guarantee <00:16:43.136>that <00:16:43.291>the <00:16:43.447>exact <00:16:43.602>same <00:16:43.758>thing <00:16:43.913>is <00:16:44.069>gonna <00:16:44.225>happen

367
00:16:45.415 --> 00:16:47.165
<00:16:45.415>every <00:16:45.694>time <00:16:45.974>you <00:16:46.255>press <00:16:46.535>that <00:16:46.814>button.

368
00:16:48.775 --> 00:16:51.525
<00:16:48.775>Which <00:16:48.975>means <00:16:49.175>you <00:16:49.375>need <00:16:49.574>to <00:16:49.775>automate <00:16:49.975>almost <00:16:50.175>everything.

369
00:16:51.675 --> 00:16:54.045
<00:16:51.675>That <00:16:51.908>doesn't <00:16:52.141>mean <00:16:52.375>we <00:16:52.608>remove <00:16:52.841>human <00:16:53.074>insight

370
00:16:54.045 --> 00:16:55.805
<00:16:54.045>and <00:16:54.395>human <00:16:54.745>input <00:16:55.094>from <00:16:55.444>this,

371
00:16:56.105 --> 00:16:59.005
<00:16:56.105>but <00:16:56.260>if <00:16:56.416>something <00:16:56.571>can <00:16:56.727>be <00:16:56.882>automated, <00:16:57.038>it <00:16:57.193>probably <00:16:57.349>should <00:16:57.505>be.

372
00:17:01.745 --> 00:17:03.565
<00:17:01.745>We <00:17:02.025>of <00:17:02.305>course, <00:17:02.585>need <00:17:02.865>continuous <00:17:03.145>integration.

373
00:17:03.565 --> 00:17:05.285
<00:17:03.565>We <00:17:03.798>need <00:17:04.031>to <00:17:04.265>be <00:17:04.498>merging <00:17:04.731>our <00:17:04.965>code

374
00:17:05.425 --> 00:17:08.365
<00:17:05.425>to <00:17:05.658>mainline <00:17:05.891>regularly <00:17:06.125>on <00:17:06.358>a <00:17:06.591>daily <00:17:06.825>basis,

375
00:17:08.675 --> 00:17:11.085
<00:17:08.675>automatically <00:17:09.024>testing <00:17:09.375>them, <00:17:09.724>automatically <00:17:10.075>building,

376
00:17:11.115 --> 00:17:14.565
<00:17:11.115>automatically <00:17:11.395>building <00:17:11.675>a <00:17:11.954>releasable <00:17:12.234>artifact, <00:17:12.515>something

377
00:17:14.565 --> 00:17:16.685
<00:17:14.565>that <00:17:14.798>can <00:17:15.031>go <00:17:15.265>live <00:17:15.498>to <00:17:15.731>our <00:17:15.965>users.

378
00:17:17.345 --> 00:17:18.885
<00:17:17.345>And <00:17:17.543>we <00:17:17.741>need <00:17:17.939>to <00:17:18.137>bring <00:17:18.335>the <00:17:18.532>pain <00:17:18.731>forward.

379
00:17:18.985 --> 00:17:21.485
<00:17:18.984>If <00:17:19.140>there's <00:17:19.296>a <00:17:19.451>part <00:17:19.607>of <00:17:19.762>this <00:17:19.918>process <00:17:20.073>that <00:17:20.229>is <00:17:20.385>painful

380
00:17:21.705 --> 00:17:23.725
<00:17:21.704>and <00:17:21.879>difficult, <00:17:22.054>we <00:17:22.230>need <00:17:22.405>to <00:17:22.579>do <00:17:22.754>it <00:17:22.929>more <00:17:23.105>often

381
00:17:24.105 --> 00:17:25.245
<00:17:24.105>so <00:17:24.310>we <00:17:24.515>get <00:17:24.720>better <00:17:24.925>at <00:17:25.130>it.

382
00:17:25.265 --> 00:17:28.005
<00:17:25.265>So <00:17:25.440>we <00:17:25.615>figure <00:17:25.790>out <00:17:25.965>what <00:17:26.140>we <00:17:26.315>need <00:17:26.490>to <00:17:26.665>automate.

383
00:17:30.595 --> 00:17:33.335
<00:17:30.595>We <00:17:30.750>need <00:17:30.906>the <00:17:31.061>whole <00:17:31.217>team <00:17:31.372>to <00:17:31.528>take <00:17:31.683>responsibility <00:17:31.839>for <00:17:31.995>delivery.

384
00:17:33.995 --> 00:17:38.215
<00:17:33.995>The <00:17:34.135>team's <00:17:34.274>job <00:17:34.415>is <00:17:34.554>no <00:17:34.695>longer <00:17:34.834>moving <00:17:34.975>a <00:17:35.114>car <00:17:35.254>to <00:17:35.395>done

385
00:17:38.285 --> 00:17:42.215
<00:17:38.285>because <00:17:38.440>it's <00:17:38.596>merged <00:17:38.751>to <00:17:38.907>a <00:17:39.062>feature <00:17:39.218>branch <00:17:39.373>or <00:17:39.529>writing <00:17:39.685>code.

386
00:17:43.155 --> 00:17:46.415
<00:17:43.155>The <00:17:43.330>team <00:17:43.504>is <00:17:43.680>now <00:17:43.855>responsible <00:17:44.030>for <00:17:44.205>delivery <00:17:44.379>of <00:17:44.555>features

387
00:17:46.515 --> 00:17:48.255
<00:17:46.515>of <00:17:46.865>value <00:17:47.215>to <00:17:47.565>our <00:17:47.915>users.

388
00:17:48.325 --> 00:17:50.285
<00:17:48.325>That <00:17:48.558>is <00:17:48.791>a <00:17:49.025>shift <00:17:49.258>in <00:17:49.491>mindset <00:17:49.725>there.

389
00:17:50.945 --> 00:17:54.525
<00:17:50.945>It <00:17:51.085>means <00:17:51.225>that <00:17:51.365>done <00:17:51.504>means <00:17:51.645>released, <00:17:51.784>done <00:17:51.925>does <00:17:52.064>not <00:17:52.205>mean <00:17:52.345>merged

390
00:17:54.585 --> 00:17:56.685
<00:17:54.585>to <00:17:54.785>a <00:17:54.985>feature <00:17:55.185>branch <00:17:55.385>to <00:17:55.585>be <00:17:55.785>integrated <00:17:55.985>later,

391
00:17:56.785 --> 00:17:58.765
<00:17:56.785>to <00:17:56.985>be <00:17:57.185>tested <00:17:57.385>later, <00:17:57.585>to <00:17:57.785>be <00:17:57.985>released <00:17:58.185>later.

392
00:17:59.195 --> 00:18:03.285
<00:17:59.195>Done <00:17:59.428>means <00:17:59.661>released, <00:17:59.895>which <00:18:00.128>means <00:18:00.361>we <00:18:00.595>need

393
00:18:03.305 --> 00:18:04.605
<00:18:03.305>to <00:18:03.695>build <00:18:04.085>quality <00:18:04.475>in.

394
00:18:07.265 --> 00:18:10.885
<00:18:07.265>If <00:18:07.440>every <00:18:07.615>commit <00:18:07.790>you <00:18:07.965>make <00:18:08.140>can <00:18:08.315>go <00:18:08.490>to <00:18:08.665>production,

395
00:18:11.615 --> 00:18:15.125
<00:18:11.615>there <00:18:11.755>is <00:18:11.895>no <00:18:12.035>room <00:18:12.175>for <00:18:12.315>testing <00:18:12.455>later, <00:18:12.595>you <00:18:12.735>have <00:18:12.875>to <00:18:13.015>test.

396
00:18:15.545 --> 00:18:19.805
<00:18:15.545>Now, <00:18:15.700>it <00:18:15.856>removes <00:18:16.011>your <00:18:16.167>option <00:18:16.322>to <00:18:16.478>do <00:18:16.633>the <00:18:16.789>bad <00:18:16.945>thing.

397
00:18:19.905 --> 00:18:22.285
<00:18:19.905>It <00:18:20.105>forces <00:18:20.305>you <00:18:20.504>to <00:18:20.705>do <00:18:20.905>the <00:18:21.105>right <00:18:21.305>thing.

398
00:18:22.535 --> 00:18:25.045
<00:18:22.535>Continuous <00:18:22.768>delivery <00:18:23.001>is <00:18:23.235>an <00:18:23.468>affordance <00:18:23.701>for <00:18:23.935>quality

399
00:18:25.045 --> 00:18:27.245
<00:18:25.045>because <00:18:25.395>it, <00:18:25.745>it <00:18:26.095>encourages <00:18:26.445>us.

400
00:18:27.265 --> 00:18:29.885
<00:18:27.265>It <00:18:27.465>forces <00:18:27.665>us <00:18:27.865>to <00:18:28.065>do <00:18:28.265>the <00:18:28.465>right <00:18:28.665>thing.

401
00:18:30.225 --> 00:18:32.525
<00:18:30.225>And <00:18:30.425>you <00:18:30.625>might <00:18:30.824>think <00:18:31.024>that <00:18:31.225>that, <00:18:31.425>you <00:18:31.625>know,

402
00:18:32.675 --> 00:18:36.885
<00:18:32.675>releasing <00:18:32.908>continuously <00:18:33.141>is <00:18:33.375>a <00:18:33.608>difficult, <00:18:33.841>dangerous <00:18:34.075>thing.

403
00:18:36.885 --> 00:18:40.325
<00:18:36.885>But <00:18:37.025>I <00:18:37.165>love <00:18:37.305>this <00:18:37.445>quote <00:18:37.585>from <00:18:37.725>Mary <00:18:37.865>Poppen <00:18:38.004>Dick <00:18:38.145>who <00:18:38.285>says,

404
00:18:40.945 --> 00:18:43.885
<00:18:40.945>the <00:18:41.100>only <00:18:41.256>way <00:18:41.411>to <00:18:41.567>go <00:18:41.722>safely <00:18:41.878>is <00:18:42.033>to <00:18:42.189>go <00:18:42.345>fast.

405
00:18:43.885 --> 00:18:46.605
<00:18:43.885>Asked, <00:18:44.235>I <00:18:44.585>love <00:18:44.935>this <00:18:45.285>quote.

406
00:18:46.755 --> 00:18:48.685
<00:18:46.755>This <00:18:46.930>is <00:18:47.105>another <00:18:47.280>thing <00:18:47.455>that's <00:18:47.630>stuck <00:18:47.805>in <00:18:47.980>my <00:18:48.155>brain.

407
00:18:49.705 --> 00:18:51.205
<00:18:49.705>See, <00:18:49.929>think <00:18:50.155>about <00:18:50.379>it <00:18:50.605>like <00:18:50.830>this, <00:18:51.054>right?

408
00:18:51.715 --> 00:18:53.045
<00:18:51.715>When <00:18:51.954>it <00:18:52.193>comes <00:18:52.433>to <00:18:52.672>releasing <00:18:52.912>software,

409
00:18:53.045 --> 00:18:54.405
<00:18:53.045>you've <00:18:53.351>got <00:18:53.657>four <00:18:53.963>options, <00:18:54.269>okay?

410
00:18:54.785 --> 00:18:57.525
<00:18:54.785>You <00:18:54.960>can <00:18:55.135>go <00:18:55.310>very <00:18:55.485>slowly <00:18:55.660>and <00:18:55.835>very <00:18:56.010>unsafely, <00:18:56.185>right?

411
00:18:57.525 --> 00:18:59.725
<00:18:57.525>So <00:18:57.652>you <00:18:57.779>release <00:18:57.906>once <00:18:58.034>a <00:18:58.161>year <00:18:58.288>and <00:18:58.415>you <00:18:58.543>don't <00:18:58.670>do <00:18:58.797>any <00:18:58.925>testing.

412
00:18:59.835 --> 00:19:02.525
<00:18:59.835>Okay? <00:19:00.035>That's <00:19:00.235>a <00:19:00.435>terrible <00:19:00.635>idea. <00:19:00.835>Don't <00:19:01.035>do <00:19:01.235>that.

413
00:19:02.685 --> 00:19:04.045
<00:19:02.685>I <00:19:02.929>don't <00:19:03.174>think <00:19:03.419>anyone <00:19:03.664>does <00:19:03.909>that.

414
00:19:04.745 --> 00:19:07.965
<00:19:04.745>Um, <00:19:04.945>another <00:19:05.145>option <00:19:05.344>is <00:19:05.544>you <00:19:05.745>go <00:19:05.945>very <00:19:06.145>fast.

415
00:19:07.985 --> 00:19:11.245
<00:19:07.985>So <00:19:08.140>you <00:19:08.296>release <00:19:08.451>every <00:19:08.607>single <00:19:08.762>day, <00:19:08.918>every <00:19:09.073>single <00:19:09.229>commit <00:19:09.385>goes

416
00:19:11.245 --> 00:19:13.405
<00:19:11.245>to <00:19:11.445>production, <00:19:11.645>but <00:19:11.844>you <00:19:12.044>don't <00:19:12.245>really <00:19:12.445>test <00:19:12.645>them.

417
00:19:13.405 --> 00:19:14.445
<00:19:13.405>Or <00:19:13.716>very <00:19:14.029>limited <00:19:14.341>testing.

418
00:19:15.105 --> 00:19:17.205
<00:19:15.105>Not <00:19:15.305>a <00:19:15.505>great <00:19:15.705>plan <00:19:15.905>either, <00:19:16.105>to <00:19:16.305>be <00:19:16.505>honest.

419
00:19:17.905 --> 00:19:19.125
<00:19:17.905>It <00:19:18.088>can <00:19:18.271>work <00:19:18.454>for <00:19:18.637>a <00:19:18.820>little <00:19:19.003>bit.

420
00:19:19.125 --> 00:19:21.605
<00:19:19.125>If <00:19:19.280>you're <00:19:19.436>a <00:19:19.591>startup <00:19:19.747>and <00:19:19.902>you're <00:19:20.058>just <00:19:20.213>really <00:19:20.369>running <00:19:20.525>outta

421
00:19:21.765 --> 00:19:22.765
<00:19:21.765>money, <00:19:22.065>this <00:19:22.365>can <00:19:22.665>work.

422
00:19:22.785 --> 00:19:26.045
<00:19:22.785>But <00:19:23.018>that's <00:19:23.251>not <00:19:23.485>sustainable <00:19:23.718>as <00:19:23.951>an <00:19:24.185>approach.

423
00:19:27.345 --> 00:19:28.845
<00:19:27.345>So <00:19:27.513>this <00:19:27.682>is <00:19:27.851>why <00:19:28.020>a <00:19:28.188>lot <00:19:28.357>of <00:19:28.526>companies <00:19:28.695>like

424
00:19:28.845 --> 00:19:30.405
<00:19:28.845>that <00:19:29.078>first <00:19:29.311>company <00:19:29.545>I <00:19:29.778>was <00:19:30.011>working <00:19:30.245>for,

425
00:19:30.435 --> 00:19:32.445
<00:19:30.435>take <00:19:30.715>this <00:19:30.995>slow <00:19:31.274>but <00:19:31.554>safe <00:19:31.835>approach.

426
00:19:32.555 --> 00:19:34.845
<00:19:32.555>They <00:19:32.788>release <00:19:33.021>once, <00:19:33.255>maybe <00:19:33.488>twice <00:19:33.721>a <00:19:33.955>year,

427
00:19:35.265 --> 00:19:37.765
<00:19:35.265>and <00:19:35.440>they <00:19:35.615>invest <00:19:35.790>a <00:19:35.965>lot <00:19:36.140>in <00:19:36.315>the <00:19:36.490>testing <00:19:36.665>process,

428
00:19:39.815 --> 00:19:41.575
<00:19:39.815>thorough, <00:19:40.515>extensive <00:19:41.215>testing.

429
00:19:43.515 --> 00:19:45.055
<00:19:43.515>But <00:19:43.669>I <00:19:43.823>think <00:19:43.977>this <00:19:44.131>is <00:19:44.285>a <00:19:44.439>bit <00:19:44.593>of <00:19:44.747>a <00:19:44.901>scam.

430
00:19:45.295 --> 00:19:47.775
<00:19:45.295>I <00:19:45.422>think <00:19:45.549>this <00:19:45.676>is <00:19:45.804>not <00:19:45.931>as <00:19:46.058>safe <00:19:46.185>as <00:19:46.313>you <00:19:46.440>think <00:19:46.567>it <00:19:46.695>is.

431
00:19:48.945 --> 00:19:52.615
<00:19:48.945>Think <00:19:49.100>about <00:19:49.256>the <00:19:49.411>things <00:19:49.567>you <00:19:49.722>do <00:19:49.878>once <00:19:50.033>a <00:19:50.189>year. <00:19:50.345>Okay?

432
00:19:52.855 --> 00:19:54.815
<00:19:52.855>I <00:19:53.088>do <00:19:53.321>my <00:19:53.555>taxes <00:19:53.788>once <00:19:54.021>a <00:19:54.255>year.

433
00:19:55.085 --> 00:19:56.775
<00:19:55.085>They <00:19:55.365>really <00:19:55.645>stress <00:19:55.925>me <00:19:56.205>out, <00:19:56.485>not

434
00:19:56.775 --> 00:19:59.455
<00:19:56.775>because <00:19:57.055>taxes <00:19:57.335>are <00:19:57.615>particularly <00:19:57.895>difficult, <00:19:58.175>but

435
00:19:59.575 --> 00:20:00.815
<00:19:59.575>because <00:19:59.761>I <00:19:59.947>do <00:20:00.133>them <00:20:00.319>once <00:20:00.505>a <00:20:00.691>year.

436
00:20:00.875 --> 00:20:02.495
<00:20:00.875>So <00:20:01.108>I'm <00:20:01.341>not <00:20:01.575>very <00:20:01.808>practiced <00:20:02.041>at <00:20:02.275>them.

437
00:20:04.395 --> 00:20:06.615
<00:20:04.395>Now, <00:20:04.522>think <00:20:04.649>about <00:20:04.776>the <00:20:04.904>things <00:20:05.031>you <00:20:05.158>do <00:20:05.285>every <00:20:05.413>day <00:20:05.540>or <00:20:05.667>every <00:20:05.795>week.

438
00:20:07.655 --> 00:20:11.135
<00:20:07.655>I <00:20:07.782>can <00:20:07.909>go <00:20:08.036>into <00:20:08.164>my <00:20:08.291>local <00:20:08.418>supermarkets <00:20:08.545>and <00:20:08.673>get <00:20:08.800>eggs <00:20:08.927>and <00:20:09.055>milk

439
00:20:11.195 --> 00:20:12.735
<00:20:11.195>and <00:20:11.472>bread <00:20:11.749>with <00:20:12.026>my <00:20:12.303>eyes <00:20:12.581>closed.

440
00:20:12.795 --> 00:20:16.615
<00:20:12.795>At <00:20:12.950>this <00:20:13.106>point, <00:20:13.261>when <00:20:13.417>you <00:20:13.572>practice, <00:20:13.728>when <00:20:13.883>you <00:20:14.039>go <00:20:14.195>fast,

441
00:20:16.685 --> 00:20:18.855
<00:20:16.685>when <00:20:16.885>you <00:20:17.085>get <00:20:17.284>used <00:20:17.485>to <00:20:17.685>doing <00:20:17.885>something <00:20:18.085>frequently,

442
00:20:19.155 --> 00:20:20.735
<00:20:19.155>you <00:20:19.435>get <00:20:19.715>really <00:20:19.995>good <00:20:20.274>at <00:20:20.555>it.

443
00:20:21.075 --> 00:20:24.775
<00:20:21.075>The <00:20:21.230>only <00:20:21.386>way <00:20:21.541>to <00:20:21.697>go <00:20:21.852>safely <00:20:22.008>is <00:20:22.163>to <00:20:22.319>go <00:20:22.475>fast.

444
00:20:25.675 --> 00:20:28.015
<00:20:25.675>And <00:20:25.815>the <00:20:25.955>only <00:20:26.095>way <00:20:26.235>to <00:20:26.375>go <00:20:26.514>fast <00:20:26.655>is <00:20:26.794>to <00:20:26.935>go <00:20:27.075>safely.

445
00:20:28.515 --> 00:20:31.375
<00:20:28.515>See, <00:20:28.748>officially <00:20:28.981>my <00:20:29.215>job <00:20:29.448>title <00:20:29.681>is <00:20:29.915>qa.

446
00:20:31.375 --> 00:20:32.375
<00:20:31.375>And <00:20:31.555>when <00:20:31.735>I <00:20:31.915>enter <00:20:32.095>a <00:20:32.275>team,

447
00:20:32.635 --> 00:20:35.975
<00:20:32.635>people <00:20:32.790>often <00:20:32.946>assume <00:20:33.101>I <00:20:33.257>am <00:20:33.412>gonna <00:20:33.568>focus <00:20:33.723>on <00:20:33.879>this <00:20:34.035>line.

448
00:20:36.135 --> 00:20:39.015
<00:20:36.135>Here. <00:20:36.290>I'm <00:20:36.446>gonna <00:20:36.601>say, <00:20:36.757>how <00:20:36.912>many <00:20:37.068>tests <00:20:37.223>do <00:20:37.379>you <00:20:37.535>have?

449
00:20:39.195 --> 00:20:40.455
<00:20:39.195>We <00:20:39.421>need <00:20:39.648>to <00:20:39.875>add <00:20:40.102>more <00:20:40.329>tests.

450
00:20:40.635 --> 00:20:44.975
<00:20:40.635>We <00:20:40.775>need <00:20:40.915>to <00:20:41.055>slow <00:20:41.195>down, <00:20:41.335>have <00:20:41.475>more <00:20:41.615>and <00:20:41.754>more <00:20:41.895>testing <00:20:42.035>longer

451
00:20:45.075 --> 00:20:46.455
<00:20:45.075>and <00:20:45.489>longer <00:20:45.903>testing <00:20:46.317>periods.

452
00:20:46.675 --> 00:20:49.645
<00:20:46.675>But <00:20:46.815>no, <00:20:46.955>the <00:20:47.095>first <00:20:47.235>question <00:20:47.375>I <00:20:47.514>ask <00:20:47.655>a <00:20:47.794>new <00:20:47.935>team <00:20:48.075>is,

453
00:20:50.105 --> 00:20:51.885
<00:20:50.105>how <00:20:50.455>often <00:20:50.805>do <00:20:51.155>you <00:20:51.505>deploy?

454
00:20:52.905 --> 00:20:56.485
<00:20:52.905>How <00:20:53.032>often <00:20:53.159>do <00:20:53.286>you <00:20:53.414>release? <00:20:53.541>And <00:20:53.668>how <00:20:53.795>can <00:20:53.923>we <00:20:54.050>make <00:20:54.177>that <00:20:54.305>faster?

455
00:20:57.675 --> 00:21:01.005
<00:20:57.675>Because <00:20:57.815>the <00:20:57.955>only <00:20:58.095>way <00:20:58.235>to <00:20:58.375>go <00:20:58.514>fast <00:20:58.655>is <00:20:58.794>to <00:20:58.935>go <00:20:59.075>safely.

456
00:21:03.585 --> 00:21:07.805
<00:21:03.585>That's <00:21:03.740>why <00:21:03.896>I <00:21:04.051>think <00:21:04.207>that <00:21:04.362>making <00:21:04.518>continuous <00:21:04.673>delivery <00:21:04.829>a <00:21:04.985>core

457
00:21:07.895 --> 00:21:09.565
<00:21:07.895>organizing <00:21:08.245>principle <00:21:08.595>of <00:21:08.945>your <00:21:09.295>team

458
00:21:10.105 --> 00:21:12.045
<00:21:10.105>is <00:21:10.385>a <00:21:10.665>key <00:21:10.945>affordance <00:21:11.225>for <00:21:11.505>quality.

459
00:21:14.305 --> 00:21:16.525
<00:21:14.305>So <00:21:14.655>those <00:21:15.005>are <00:21:15.355>three <00:21:15.705>affordances

460
00:21:16.525 --> 00:21:18.045
<00:21:16.525>that <00:21:16.696>I <00:21:16.867>spend <00:21:17.038>a <00:21:17.209>lot <00:21:17.380>of <00:21:17.551>time <00:21:17.722>thinking <00:21:17.893>about.

461
00:21:18.565 --> 00:21:21.205
<00:21:18.565>Breaking <00:21:18.845>down <00:21:19.125>that <00:21:19.405>wall <00:21:19.685>between <00:21:19.965>QAs

462
00:21:21.205 --> 00:21:23.525
<00:21:21.205>and <00:21:21.405>devs, <00:21:21.605>just <00:21:21.804>not <00:21:22.004>having <00:21:22.205>it <00:21:22.405>at <00:21:22.605>all.

463
00:21:24.385 --> 00:21:28.285
<00:21:24.385>Making <00:21:24.618>testability <00:21:24.851>a <00:21:25.085>first <00:21:25.318>class <00:21:25.551>design <00:21:25.785>concern

464
00:21:29.585 --> 00:21:30.885
<00:21:29.585>and <00:21:29.975>doing <00:21:30.365>continuous <00:21:30.755>delivery.

465
00:21:30.885 --> 00:21:33.405
<00:21:30.885>Because <00:21:31.085>when <00:21:31.285>I <00:21:31.485>think <00:21:31.685>back <00:21:31.885>on <00:21:32.085>my <00:21:32.285>career,

466
00:21:35.925 --> 00:21:38.005
<00:21:35.925>I <00:21:36.274>started <00:21:36.625>as <00:21:36.975>a <00:21:37.325>tester.

467
00:21:38.525 --> 00:21:41.405
<00:21:38.525>I <00:21:38.652>started <00:21:38.779>in <00:21:38.906>a <00:21:39.034>test <00:21:39.161>team <00:21:39.288>at <00:21:39.415>the <00:21:39.543>end <00:21:39.670>of <00:21:39.797>the <00:21:39.925>process,

468
00:21:43.585 --> 00:21:45.485
<00:21:43.585>and <00:21:43.818>I <00:21:44.051>was <00:21:44.285>like <00:21:44.518>a <00:21:44.751>Roman <00:21:44.985>emperor.

469
00:21:45.605 --> 00:21:49.005
<00:21:45.605>I <00:21:45.780>was <00:21:45.955>like, <00:21:46.130>Comus, <00:21:46.305>does <00:21:46.480>it <00:21:46.655>go <00:21:46.830>to <00:21:47.005>production?

470
00:21:49.005 --> 00:21:51.205
<00:21:49.005>Does <00:21:49.238>it <00:21:49.471>go <00:21:49.705>to <00:21:49.938>production? <00:21:50.171>No. <00:21:50.405>Okay.

471
00:21:51.545 --> 00:21:52.965
<00:21:51.545>The <00:21:51.800>devs <00:21:52.056>would <00:21:52.311>write <00:21:52.567>the <00:21:52.822>code,

472
00:21:52.965 --> 00:21:54.405
<00:21:52.965>they <00:21:53.181>would <00:21:53.397>pass <00:21:53.612>the <00:21:53.829>code <00:21:54.045>to <00:21:54.261>me.

473
00:21:54.585 --> 00:21:56.165
<00:21:54.585>And <00:21:54.818>if <00:21:55.051>I <00:21:55.285>found <00:21:55.518>bugs, <00:21:55.751>I <00:21:55.985>win.

474
00:21:56.165 --> 00:21:57.645
<00:21:56.165>And <00:21:56.355>if <00:21:56.545>I <00:21:56.735>didn't <00:21:56.926>find <00:21:57.116>bugs, <00:21:57.306>they <00:21:57.497>win.

475
00:21:57.645 --> 00:22:01.605
<00:21:57.645>It <00:21:57.820>was <00:21:57.995>an <00:21:58.170>adversarial <00:21:58.345>relationship. <00:21:58.520>I <00:21:58.695>didn't <00:21:58.870>like <00:21:59.045>that.

476
00:22:02.865 --> 00:22:03.885
<00:22:02.865>It <00:22:03.048>was <00:22:03.232>fun <00:22:03.415>for <00:22:03.599>a <00:22:03.783>bit.

477
00:22:03.885 --> 00:22:06.285
<00:22:03.885>It <00:22:04.001>gave <00:22:04.118>me <00:22:04.235>a <00:22:04.351>little <00:22:04.468>rush <00:22:04.585>of <00:22:04.701>power <00:22:04.818>as <00:22:04.935>just <00:22:05.051>as <00:22:05.168>you <00:22:05.285>know,

478
00:22:06.305 --> 00:22:08.445
<00:22:06.305>as <00:22:06.480>soon <00:22:06.655>as <00:22:06.830>I <00:22:07.005>got <00:22:07.180>out <00:22:07.355>of <00:22:07.530>university, <00:22:07.705>cool.

479
00:22:09.905 --> 00:22:12.925
<00:22:09.905>But <00:22:10.080>that's <00:22:10.254>not <00:22:10.430>a <00:22:10.605>sustainable, <00:22:10.780>healthy <00:22:10.955>way <00:22:11.129>of <00:22:11.305>working.

480
00:22:12.985 --> 00:22:15.845
<00:22:12.985>And <00:22:13.125>I <00:22:13.264>see <00:22:13.405>my <00:22:13.544>job <00:22:13.685>now <00:22:13.824>as <00:22:13.965>working <00:22:14.104>with <00:22:14.245>the <00:22:14.385>team,

481
00:22:16.275 --> 00:22:18.965
<00:22:16.275>helping <00:22:16.555>them <00:22:16.835>take <00:22:17.115>ownership <00:22:17.395>of <00:22:17.675>quality,

482
00:22:19.395 --> 00:22:22.125
<00:22:19.395>helping <00:22:19.628>them <00:22:19.861>build <00:22:20.095>in <00:22:20.328>quality, <00:22:20.561>helping <00:22:20.795>them,

483
00:22:22.515 --> 00:22:25.605
<00:22:22.515>helping <00:22:22.748>build <00:22:22.981>the <00:22:23.215>affordances <00:22:23.448>into <00:22:23.681>the <00:22:23.915>process

484
00:22:26.395 --> 00:22:29.165
<00:22:26.395>that <00:22:26.675>allows <00:22:26.955>us <00:22:27.235>to <00:22:27.514>deliver <00:22:27.795>quality.

485
00:22:30.095 --> 00:22:34.445
<00:22:30.095>Going <00:22:30.295>from <00:22:30.495>an <00:22:30.695>adversarial <00:22:30.895>to <00:22:31.095>a <00:22:31.295>collaborative <00:22:31.495>approach.

486
00:22:35.435 --> 00:22:39.565
<00:22:35.435>This <00:22:35.635>for <00:22:35.835>me, <00:22:36.034>the <00:22:36.235>shift <00:22:36.435>from <00:22:36.635>quality, <00:22:36.835>uh,

487
00:22:39.715 --> 00:22:44.115
<00:22:39.715>from <00:22:39.915>QAs, <00:22:40.115>from <00:22:40.314>testers <00:22:40.514>as <00:22:40.715>gatekeepers <00:22:40.915>to <00:22:41.115>QAs

488
00:22:44.135 --> 00:22:48.155
<00:22:44.135>and <00:22:44.368>testers <00:22:44.601>as <00:22:44.835>enablers, <00:22:45.068>people <00:22:45.301>building <00:22:45.535>affordances.

489
00:22:48.155 --> 00:22:49.555
<00:22:48.155>That <00:22:48.335>has <00:22:48.515>been <00:22:48.695>the <00:22:48.875>arc <00:22:49.055>of <00:22:49.235>my <00:22:49.415>career.

490
00:22:50.175 --> 00:22:51.435
<00:22:50.175>That's <00:22:50.401>why <00:22:50.628>I <00:22:50.855>wrote <00:22:51.082>this <00:22:51.309>talk.

491
00:22:52.475 --> 00:22:54.915
<00:22:52.475>I <00:22:52.708>hope <00:22:52.941>you <00:22:53.175>found <00:22:53.408>this <00:22:53.641>somewhat <00:22:53.875>useful.

492
00:22:55.275 --> 00:22:57.595
<00:22:55.275>I <00:22:55.430>hope <00:22:55.586>you <00:22:55.741>get <00:22:55.897>to <00:22:56.052>think <00:22:56.208>about <00:22:56.363>what <00:22:56.519>other <00:22:56.675>sorts

493
00:22:57.595 --> 00:23:00.475
<00:22:57.595>of <00:22:57.795>affordances <00:22:57.995>you <00:22:58.195>can <00:22:58.395>build <00:22:58.595>into <00:22:58.795>your <00:22:58.995>processes,

494
00:23:00.815 --> 00:23:03.075
<00:23:00.815>how <00:23:00.990>you <00:23:01.165>can <00:23:01.340>make <00:23:01.515>it <00:23:01.690>easier <00:23:01.865>for <00:23:02.040>your <00:23:02.215>teams

495
00:23:03.135 --> 00:23:04.315
<00:23:03.135>to <00:23:03.400>do <00:23:03.666>the <00:23:03.931>right <00:23:04.197>thing.

496
00:23:05.855 --> 00:23:08.635
<00:23:05.855>And <00:23:06.010>with <00:23:06.166>that, <00:23:06.321>I <00:23:06.477>will <00:23:06.632>say <00:23:06.788>thank <00:23:06.943>you <00:23:07.099>very <00:23:07.255>much.

497
00:23:09.295 --> 00:23:10.195
<00:23:09.295>Do <00:23:09.497>we <00:23:09.700>have <00:23:09.902>any <00:23:10.105>questions?