WEBVTT

1
00:00:01.080 --> 00:00:04.799
<v Speaker 1>How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05.360 --> 00:00:08.560
<v Speaker 1>Become a patron for just five dollars a month. You

3
00:00:08.599 --> 00:00:11.320
<v Speaker 1>get access to a private RSS feed where all the

4
00:00:11.359 --> 00:00:14.560
<v Speaker 1>shows have no ads. Twenty dollars a month, we'll get

5
00:00:14.599 --> 00:00:18.440
<v Speaker 1>you that and a special dot NetRocks patron mug. Sign

6
00:00:18.519 --> 00:00:22.120
<v Speaker 1>up now at Patreon dot dot NetRocks dot com.

7
00:00:22.160 --> 00:00:24.679
<v Speaker 2>Hey, Carl and Richard here with your twenty twenty four

8
00:00:24.839 --> 00:00:26.000
<v Speaker 2>NDC schedule.

9
00:00:26.320 --> 00:00:29.640
<v Speaker 1>We'll be at as many NDC conferences as possible this year,

10
00:00:29.960 --> 00:00:33.200
<v Speaker 1>and you should consider attending no matter what. The Copenhagen

11
00:00:33.240 --> 00:00:37.640
<v Speaker 1>Developers Festival happens August twenty sixth through the thirtieth. Tickets

12
00:00:37.679 --> 00:00:40.719
<v Speaker 1>at Cphdevfest dot com.

13
00:00:40.880 --> 00:00:44.719
<v Speaker 2>Ndcporto is happening October fourteenth through the eighteenth. Tickets at

14
00:00:44.799 --> 00:00:46.600
<v Speaker 2>Ndcporto dot com.

15
00:00:46.600 --> 00:00:58.920
<v Speaker 3>We'll see you there, we hope.

16
00:01:01.159 --> 00:01:06.040
<v Speaker 1>Hey, guess what, it's dot net rocks number one four

17
00:01:06.480 --> 00:01:09.319
<v Speaker 1>h So it's almost the beginning of World War One.

18
00:01:09.319 --> 00:01:13.599
<v Speaker 2>That's it. Sure we are, I'm doing this for a while.

19
00:01:13.680 --> 00:01:15.599
<v Speaker 2>Just wait to use you the comment today, friend, you'll

20
00:01:15.640 --> 00:01:16.400
<v Speaker 2>you'll laugh.

21
00:01:16.519 --> 00:01:19.280
<v Speaker 1>Oh that's gonna be good. Well, anyway, I'm Carl Franklins,

22
00:01:19.319 --> 00:01:23.280
<v Speaker 1>Richard Campbell, and we're going to be talking to Ulrical

23
00:01:23.319 --> 00:01:27.760
<v Speaker 1>Melgren in a few minutes. But first let's do that

24
00:01:27.840 --> 00:01:30.879
<v Speaker 1>thing we love with a doo dooo dudes. Music? Better

25
00:01:30.920 --> 00:01:40.799
<v Speaker 1>know a framework? All right? Man? What do you got? So?

26
00:01:41.200 --> 00:01:44.120
<v Speaker 1>Our friend Simon Kropp sent me this. It's not as repo,

27
00:01:45.000 --> 00:01:48.280
<v Speaker 1>it's Tyler Brinks and the name of it is Sequel

28
00:01:48.359 --> 00:01:54.920
<v Speaker 1>Parser dash CS. It's an extensible sequel lexer and parser

29
00:01:55.000 --> 00:01:57.840
<v Speaker 1>for dot net. Interesting. Yeah, it was ported from a

30
00:01:57.959 --> 00:02:02.719
<v Speaker 1>Rust project. Right, you parsequel statements into an abstract syntax

31
00:02:02.760 --> 00:02:06.400
<v Speaker 1>tree and there you go, and now you can, you know,

32
00:02:07.239 --> 00:02:08.919
<v Speaker 1>querry your way around it. Interesting.

33
00:02:09.199 --> 00:02:09.400
<v Speaker 3>Cool?

34
00:02:09.439 --> 00:02:11.240
<v Speaker 2>Why do I want this? What's wrong with t sql?

35
00:02:11.400 --> 00:02:14.400
<v Speaker 1>Well some of us aren't tseql gods, such as yourself Richard.

36
00:02:14.879 --> 00:02:16.759
<v Speaker 1>But I'm a god of anything good. Well you know

37
00:02:17.319 --> 00:02:18.039
<v Speaker 1>I think you are.

38
00:02:18.800 --> 00:02:21.120
<v Speaker 2>But okay, just another way to get at the data.

39
00:02:21.319 --> 00:02:24.360
<v Speaker 1>Yep. I love it. And you know that's it and

40
00:02:24.479 --> 00:02:26.759
<v Speaker 1>if you need it, you need it. That's what I think.

41
00:02:26.960 --> 00:02:28.400
<v Speaker 1>That's fair. I buy that.

42
00:02:28.560 --> 00:02:28.960
<v Speaker 3>Yeah.

43
00:02:29.120 --> 00:02:31.159
<v Speaker 1>So who's talking to us today, Richard? Well, you know,

44
00:02:31.199 --> 00:02:31.439
<v Speaker 1>I know.

45
00:02:31.400 --> 00:02:34.159
<v Speaker 2>We're talking about MOB programming, right yeah, And we've talked

46
00:02:34.159 --> 00:02:36.639
<v Speaker 2>about mob programming before, so I figured I'd go back

47
00:02:36.719 --> 00:02:40.400
<v Speaker 2>and what he's out of coincidence? But by the way,

48
00:02:40.439 --> 00:02:42.199
<v Speaker 2>what he's still doing his thing, he's doing he's still

49
00:02:42.199 --> 00:02:45.319
<v Speaker 2>doing workshops, he's out there. Yeah, by coincidence. The last

50
00:02:45.319 --> 00:02:47.800
<v Speaker 2>time we talked about mob programming was in twenty thirteen

51
00:02:47.879 --> 00:02:51.159
<v Speaker 2>on episode nine to twelve. Oh my gosh, now we

52
00:02:51.840 --> 00:02:56.840
<v Speaker 2>published nineteen twelve today when we're recording this, Yeah, on

53
00:02:56.879 --> 00:03:00.360
<v Speaker 2>August twenty seconds, so literally a thousand episodes ago.

54
00:03:01.240 --> 00:03:02.240
<v Speaker 1>We did something weird.

55
00:03:02.319 --> 00:03:05.439
<v Speaker 2>We actually talked to an entire mob, which included Woody

56
00:03:05.560 --> 00:03:10.479
<v Speaker 2>Zoo right about mob programming. And actually we had a

57
00:03:10.479 --> 00:03:12.919
<v Speaker 2>ton of comments on that show, so I figured I'd

58
00:03:12.960 --> 00:03:14.680
<v Speaker 2>drag out a ten year old's comment. I mean, what's

59
00:03:14.719 --> 00:03:15.319
<v Speaker 2>the big deal?

60
00:03:15.800 --> 00:03:18.960
<v Speaker 1>Really, it's a very American thing, right, It's like, oh,

61
00:03:19.039 --> 00:03:22.159
<v Speaker 1>you like pair programming, how about mob programming? How about it?

62
00:03:22.199 --> 00:03:23.479
<v Speaker 1>The only we know it would be better?

63
00:03:23.599 --> 00:03:29.159
<v Speaker 2>More So, ten years ago, Richard Garside wrote this comedy.

64
00:03:29.159 --> 00:03:31.719
<v Speaker 2>He says, I'm wondering how far you can scale a mob?

65
00:03:32.000 --> 00:03:34.080
<v Speaker 2>When does it stop making sense to recruit new people

66
00:03:34.080 --> 00:03:37.120
<v Speaker 2>for one mob? And what point you start multi mobs?

67
00:03:37.599 --> 00:03:43.759
<v Speaker 1>See? See that's exactly my point. More more a mob

68
00:03:43.840 --> 00:03:47.039
<v Speaker 1>not enough for you. More mobs make more mobs. You know.

69
00:03:47.080 --> 00:03:48.560
<v Speaker 2>I think we're gonna take that. Got to take that

70
00:03:48.639 --> 00:03:51.879
<v Speaker 2>question over to el Rica at some point. So, Richard,

71
00:03:52.159 --> 00:03:53.800
<v Speaker 2>thank you so much for comment. I hope you still

72
00:03:54.199 --> 00:03:56.919
<v Speaker 2>hear this ten years on, or at least you'll get

73
00:03:56.960 --> 00:03:58.719
<v Speaker 2>the email prom and so forth. A copy of music

74
00:03:58.759 --> 00:04:00.159
<v Speaker 2>code BI it is on its way to you. And

75
00:04:00.199 --> 00:04:01.840
<v Speaker 2>if you'd like a copy of music Cobe, I write

76
00:04:01.840 --> 00:04:03.840
<v Speaker 2>a comment on the website at dot at Rocks dot

77
00:04:03.879 --> 00:04:06.000
<v Speaker 2>com or on the facebooks. We publish every show there,

78
00:04:06.159 --> 00:04:07.439
<v Speaker 2>and if you comment there and I read it on

79
00:04:07.439 --> 00:04:09.680
<v Speaker 2>the show, we'll send you copy music Coby Music to.

80
00:04:09.560 --> 00:04:12.199
<v Speaker 1>Cobe by still going strong after all these years. Yeah,

81
00:04:12.719 --> 00:04:16.120
<v Speaker 1>and still a favorite way for people to get into

82
00:04:16.160 --> 00:04:19.959
<v Speaker 1>the zone when writing code works for me. And you

83
00:04:19.959 --> 00:04:22.439
<v Speaker 1>can follow us on X Twitter because we've been there

84
00:04:22.480 --> 00:04:25.959
<v Speaker 1>for years before it was X. Of course many many

85
00:04:26.040 --> 00:04:28.759
<v Speaker 1>years before it was X. But the cool kids are

86
00:04:28.759 --> 00:04:32.120
<v Speaker 1>hanging out. I'm mastadon, I'm at Carl Franklin at tech

87
00:04:32.199 --> 00:04:33.920
<v Speaker 1>Hub dot social, and I'm.

88
00:04:33.839 --> 00:04:35.639
<v Speaker 2>Rich Campbell at Masdon dot social.

89
00:04:35.959 --> 00:04:37.759
<v Speaker 1>So send us a two. That's another way that you

90
00:04:37.759 --> 00:04:40.879
<v Speaker 1>could get a copy of music to code by for sure. Okay,

91
00:04:41.040 --> 00:04:44.560
<v Speaker 1>let me introduce our guest. Ulrika Malmgren has been in

92
00:04:44.600 --> 00:04:47.399
<v Speaker 1>the software industry in some form for twenty years or

93
00:04:47.439 --> 00:04:51.199
<v Speaker 1>so as of this recording. Anyway. She started out as

94
00:04:51.199 --> 00:04:55.279
<v Speaker 1>a software tester, using exploratory testing to study and learn

95
00:04:55.319 --> 00:04:59.959
<v Speaker 1>about software and users. After realizing that quality was more

96
00:05:00.000 --> 00:05:02.879
<v Speaker 1>more than just testing, she worked as an agile coach

97
00:05:03.240 --> 00:05:06.160
<v Speaker 1>to help teams improve their ways of working. But for

98
00:05:06.199 --> 00:05:08.720
<v Speaker 1>the past eight years she's been a c sharp developer,

99
00:05:09.040 --> 00:05:12.560
<v Speaker 1>working mostly with back end applications. The last six of

100
00:05:12.600 --> 00:05:16.279
<v Speaker 1>those years have been using MOB programming as said fourth

101
00:05:16.519 --> 00:05:21.160
<v Speaker 1>in the comment, or software teaming as it's also called

102
00:05:21.199 --> 00:05:24.240
<v Speaker 1>as a way of working. So url COO, welcome to

103
00:05:24.360 --> 00:05:25.319
<v Speaker 1>dot net rocks.

104
00:05:25.720 --> 00:05:27.040
<v Speaker 4>Thank you, thank you for having me.

105
00:05:27.120 --> 00:05:28.800
<v Speaker 2>I was really excited to see you had this talk

106
00:05:28.800 --> 00:05:31.319
<v Speaker 2>at NBC Oslo, and I'd meant to do the interview

107
00:05:31.360 --> 00:05:33.560
<v Speaker 2>there in person, but things happen, so now we're doing

108
00:05:33.600 --> 00:05:35.439
<v Speaker 2>a little bit later from there because we haven't talked

109
00:05:35.480 --> 00:05:39.319
<v Speaker 2>about MOB programming in ages, but clearly it's still going

110
00:05:39.360 --> 00:05:42.519
<v Speaker 2>on wood He still doing his thing, like there's plural

111
00:05:42.560 --> 00:05:46.600
<v Speaker 2>size videos on the topic. How do you explain mob programmer.

112
00:05:46.839 --> 00:05:48.360
<v Speaker 2>That's team programming.

113
00:05:48.600 --> 00:05:52.439
<v Speaker 5>Ah, I would explain it as the entire team is

114
00:05:52.720 --> 00:05:58.319
<v Speaker 5>working together, so we're programming together. I liked how you said,

115
00:05:58.360 --> 00:06:02.160
<v Speaker 5>like para programming on steroids were even more power programming.

116
00:06:03.120 --> 00:06:04.600
<v Speaker 4>But also.

117
00:06:05.560 --> 00:06:08.480
<v Speaker 5>Not just the programming part of it, So the entire

118
00:06:08.519 --> 00:06:13.399
<v Speaker 5>team is working together, but maybe also answering emails, preparing

119
00:06:13.399 --> 00:06:16.360
<v Speaker 5>power port presentations, all the other stuff that you do

120
00:06:16.600 --> 00:06:17.959
<v Speaker 5>when you're doing software development.

121
00:06:18.439 --> 00:06:20.759
<v Speaker 1>I was going to say, the last time we talked

122
00:06:20.759 --> 00:06:23.800
<v Speaker 1>to Witty about this, everybody was in a room and

123
00:06:23.839 --> 00:06:28.319
<v Speaker 1>one person was driving visual studio or whatever the software is,

124
00:06:29.000 --> 00:06:31.680
<v Speaker 1>and everybody else is sort of chiming in. And now,

125
00:06:31.759 --> 00:06:35.439
<v Speaker 1>in the age of zoom and remote, that must be

126
00:06:35.600 --> 00:06:37.319
<v Speaker 1>quite a bit different, isn't it.

127
00:06:37.319 --> 00:06:41.480
<v Speaker 4>It is, but it works really well, so we do that.

128
00:06:41.920 --> 00:06:45.759
<v Speaker 5>Actually, my team is fully remote, so I get to

129
00:06:45.759 --> 00:06:48.600
<v Speaker 5>spend a lot of time with my cat, and that's good.

130
00:06:49.199 --> 00:06:53.000
<v Speaker 5>But what we do is we have a computer at

131
00:06:53.040 --> 00:06:57.480
<v Speaker 5>the office, and we're using ANIDSK to remote to that computer,

132
00:06:58.360 --> 00:07:01.839
<v Speaker 5>and we have a slack or a team call or

133
00:07:01.839 --> 00:07:06.319
<v Speaker 5>something ongoing HM, and we talk and we do all

134
00:07:06.360 --> 00:07:10.240
<v Speaker 5>of our communication and programming on that computer. So I

135
00:07:10.279 --> 00:07:13.240
<v Speaker 5>don't have the source code on my laptop. Actually, I

136
00:07:13.279 --> 00:07:17.040
<v Speaker 5>only use my laptop to connect to this computer and

137
00:07:17.120 --> 00:07:22.160
<v Speaker 5>to do personal work, things like things that are just

138
00:07:22.199 --> 00:07:23.360
<v Speaker 5>for me, right, And.

139
00:07:23.319 --> 00:07:25.519
<v Speaker 2>I find that a fairly common practice putting my run

140
00:07:25.560 --> 00:07:28.839
<v Speaker 2>ass hat on where the sort of data integrity points

141
00:07:28.839 --> 00:07:30.439
<v Speaker 2>of view or keeping all the source code in the

142
00:07:30.879 --> 00:07:34.319
<v Speaker 2>company means you're just logging into a virtual machine or

143
00:07:34.319 --> 00:07:37.600
<v Speaker 2>a remote instance somewhere and that's where all the code lives,

144
00:07:38.279 --> 00:07:40.839
<v Speaker 2>and the home machines don't actually have don't ever run

145
00:07:40.879 --> 00:07:43.600
<v Speaker 2>the code, they just have access to it through a console.

146
00:07:45.600 --> 00:07:48.480
<v Speaker 2>And that solves the problem that you know, you don't

147
00:07:48.519 --> 00:07:51.000
<v Speaker 2>have to synchronize, like you're all working one place and

148
00:07:51.040 --> 00:07:52.959
<v Speaker 2>you still have that MOB program in mindset of there's

149
00:07:53.000 --> 00:07:56.639
<v Speaker 2>one active keyboard on the code.

150
00:07:56.759 --> 00:07:57.959
<v Speaker 1>How many monitors do you have?

151
00:07:58.759 --> 00:08:01.160
<v Speaker 4>I have the one is a big one.

152
00:08:01.199 --> 00:08:03.079
<v Speaker 5>That's the downside of it, because we only have one

153
00:08:03.079 --> 00:08:05.319
<v Speaker 5>monitor on the office, so we that's the one we

154
00:08:05.399 --> 00:08:06.959
<v Speaker 5>have connected to.

155
00:08:07.920 --> 00:08:10.480
<v Speaker 2>And I certainly remember that from some of the other

156
00:08:10.519 --> 00:08:14.199
<v Speaker 2>conversations we had in this space where often somebody in

157
00:08:14.240 --> 00:08:18.040
<v Speaker 2>the MOB is on another machine and they're searching for

158
00:08:18.120 --> 00:08:21.800
<v Speaker 2>code samples, and other cases of addressing this particular problem

159
00:08:21.879 --> 00:08:26.120
<v Speaker 2>like many in some cases totally short circuit the development process, like, wait,

160
00:08:26.160 --> 00:08:28.480
<v Speaker 2>this has been done. Here's an example, and it's starting

161
00:08:28.480 --> 00:08:30.480
<v Speaker 2>to look like what we're already doing. Like, let's go

162
00:08:30.560 --> 00:08:32.240
<v Speaker 2>dig into this exactly.

163
00:08:32.320 --> 00:08:35.799
<v Speaker 5>You can while you're troubleshooting. You can have multiple threads

164
00:08:35.879 --> 00:08:38.120
<v Speaker 5>of googling going on at the same time, so you

165
00:08:38.159 --> 00:08:40.600
<v Speaker 5>can be I'll stack over frough a couple of people

166
00:08:41.000 --> 00:08:43.600
<v Speaker 5>trying to find what could be a possible solution for

167
00:08:43.679 --> 00:08:46.039
<v Speaker 5>this at the same time if you want to.

168
00:08:46.240 --> 00:08:49.120
<v Speaker 1>Yeah, so I knew what he told us about the

169
00:08:49.200 --> 00:08:54.000
<v Speaker 1>metrics being you know, productivity wise being very very good.

170
00:08:55.519 --> 00:08:57.679
<v Speaker 1>Are there any new numbers or any numbers that you

171
00:08:57.720 --> 00:09:00.759
<v Speaker 1>can share with us in terms of, you know, single

172
00:09:01.000 --> 00:09:04.799
<v Speaker 1>developer at a time and a team working versus pair

173
00:09:04.919 --> 00:09:06.799
<v Speaker 1>programming versus mob programming.

174
00:09:07.440 --> 00:09:12.120
<v Speaker 5>I'm not aware of any, and in our teams we've

175
00:09:12.120 --> 00:09:12.759
<v Speaker 5>only done this.

176
00:09:12.919 --> 00:09:15.039
<v Speaker 4>We don't have any numbers to compare to.

177
00:09:15.960 --> 00:09:19.840
<v Speaker 5>Yeah, but I feel that there's so many situations where

178
00:09:19.879 --> 00:09:23.960
<v Speaker 5>we are that this software team and mopgram is just

179
00:09:24.039 --> 00:09:28.000
<v Speaker 5>helping us so much that I would have to say

180
00:09:28.039 --> 00:09:31.039
<v Speaker 5>that the numbers would have to be good towards more programming.

181
00:09:31.759 --> 00:09:34.519
<v Speaker 5>I'm thinking of all the during the summer. Now, because

182
00:09:34.559 --> 00:09:38.039
<v Speaker 5>of vacations, I was sometimes alone at work and I

183
00:09:38.120 --> 00:09:40.120
<v Speaker 5>was sitting there and it took me a while to

184
00:09:40.159 --> 00:09:43.440
<v Speaker 5>figure out why I was doing this stupid mistake, which

185
00:09:43.440 --> 00:09:46.480
<v Speaker 5>would have been something that my team would have pointed

186
00:09:46.480 --> 00:09:47.200
<v Speaker 5>out immediately.

187
00:09:47.200 --> 00:09:49.399
<v Speaker 4>They would have seen immediately that I was doing something.

188
00:09:49.879 --> 00:09:53.039
<v Speaker 1>You say, this is an interesting dynamic here. Now, what

189
00:09:53.080 --> 00:09:55.399
<v Speaker 1>if you have I don't know, let's say you have

190
00:09:55.480 --> 00:09:59.679
<v Speaker 1>a team of thirty and ten of those team members

191
00:09:59.759 --> 00:10:03.279
<v Speaker 1>are working on this part of the app, and ten

192
00:10:03.360 --> 00:10:05.000
<v Speaker 1>are working on another part of the app, and ten

193
00:10:05.039 --> 00:10:07.600
<v Speaker 1>and working on any Does everybody work on the same

194
00:10:07.679 --> 00:10:10.279
<v Speaker 1>thing all at the same time, so like there's no

195
00:10:10.360 --> 00:10:14.480
<v Speaker 1>such thing as a merge conflict or how does that work?

196
00:10:14.559 --> 00:10:16.840
<v Speaker 5>Yeah, I'm not very good at bronchos because I've never

197
00:10:16.919 --> 00:10:17.559
<v Speaker 5>used them.

198
00:10:18.000 --> 00:10:21.679
<v Speaker 1>Yeah wow, yeah those.

199
00:10:21.600 --> 00:10:27.159
<v Speaker 5>Sizes though, So we have teams of for now, two

200
00:10:27.240 --> 00:10:28.120
<v Speaker 5>to five people.

201
00:10:28.360 --> 00:10:29.919
<v Speaker 1>Yeah, yeah, so.

202
00:10:29.840 --> 00:10:31.559
<v Speaker 4>We don't have that kind of a size of a team.

203
00:10:31.639 --> 00:10:32.799
<v Speaker 1>And that's a dressing a dressing.

204
00:10:32.799 --> 00:10:35.840
<v Speaker 2>Their listener Richard Garsides comments like, how big is what

205
00:10:35.879 --> 00:10:38.240
<v Speaker 2>can a mob really be? Five seems like a reasonable

206
00:10:38.320 --> 00:10:40.399
<v Speaker 2>number where everybody can still be engaged.

207
00:10:40.639 --> 00:10:44.799
<v Speaker 5>Yeah, I would say three is really good, and then yeah,

208
00:10:44.840 --> 00:10:47.320
<v Speaker 5>the engagement thing is a thing because if you were

209
00:10:47.879 --> 00:10:49.840
<v Speaker 5>doing it, So one way of doing more programming is

210
00:10:50.039 --> 00:10:52.759
<v Speaker 5>using a timer and having people rotate at the keyboard.

211
00:10:52.840 --> 00:10:56.279
<v Speaker 5>So you'd say, every ten minutes we change driver, we

212
00:10:56.399 --> 00:10:58.600
<v Speaker 5>changed a person is sitting at the keyboard when is

213
00:10:58.639 --> 00:11:02.039
<v Speaker 5>actually typing the code. But all of the time you

214
00:11:02.080 --> 00:11:04.440
<v Speaker 5>get to have input on what is being done. But

215
00:11:04.519 --> 00:11:09.240
<v Speaker 5>sometimes you want to rotate, and if you are five people,

216
00:11:09.320 --> 00:11:12.120
<v Speaker 5>you get ten minutes at the keyboard and then you

217
00:11:12.200 --> 00:11:13.679
<v Speaker 5>have to wait forty minutes.

218
00:11:13.840 --> 00:11:14.519
<v Speaker 1>Once an hour y.

219
00:11:14.600 --> 00:11:17.039
<v Speaker 4>Yeah, and for some people.

220
00:11:17.000 --> 00:11:19.720
<v Speaker 2>If typing is what you like in programming, right, I mean,

221
00:11:19.919 --> 00:11:23.600
<v Speaker 2>I got to think there's some natural typers and some

222
00:11:23.799 --> 00:11:28.159
<v Speaker 2>natural searchers and some natural reviewers.

223
00:11:27.559 --> 00:11:28.799
<v Speaker 4>Too, exactly.

224
00:11:29.039 --> 00:11:32.960
<v Speaker 5>So we have tried those kind of rotation patterns, but

225
00:11:32.960 --> 00:11:36.039
<v Speaker 5>we've also sometimes gone away from them and have had

226
00:11:36.080 --> 00:11:41.080
<v Speaker 5>a more natural kind of cycle of some people like

227
00:11:41.120 --> 00:11:44.440
<v Speaker 5>to type more, some people like to go go think more.

228
00:11:44.519 --> 00:11:44.960
<v Speaker 4>Yeah.

229
00:11:45.000 --> 00:11:46.679
<v Speaker 1>So to get back to what I was saying before

230
00:11:46.720 --> 00:11:51.039
<v Speaker 1>though about multiple team sections working on different sections of

231
00:11:51.080 --> 00:11:54.320
<v Speaker 1>the code. What if there's somebody on the team that

232
00:11:54.639 --> 00:11:56.679
<v Speaker 1>you know when you go down a rabbit hole in

233
00:11:56.720 --> 00:12:00.840
<v Speaker 1>a particular thing, that they're not even working on. Do

234
00:12:00.960 --> 00:12:03.120
<v Speaker 1>they contribute as well? Do you have to take time

235
00:12:03.159 --> 00:12:06.320
<v Speaker 1>to explain what the other people have done to those

236
00:12:06.360 --> 00:12:09.240
<v Speaker 1>who haven't done it yet. I mean, there is that

237
00:12:09.320 --> 00:12:10.240
<v Speaker 1>a problem.

238
00:12:09.919 --> 00:12:13.120
<v Speaker 5>That's actually sort of an excellent point towards my programming

239
00:12:13.120 --> 00:12:16.240
<v Speaker 5>and the fact that when you are in the mob

240
00:12:16.279 --> 00:12:18.759
<v Speaker 5>and you're working on a thing, you get to see

241
00:12:19.159 --> 00:12:22.559
<v Speaker 5>the rabbit holes, so to see, like, Okay, we went

242
00:12:22.639 --> 00:12:25.600
<v Speaker 5>down this path and we found a dead end. This

243
00:12:25.799 --> 00:12:28.720
<v Speaker 5>wasn't actually the way to solve this problem. And you're

244
00:12:28.799 --> 00:12:31.159
<v Speaker 5>learning those things as well, because if you're just doing

245
00:12:31.200 --> 00:12:34.960
<v Speaker 5>like a pull request and you're sort of explaining this

246
00:12:35.080 --> 00:12:39.200
<v Speaker 5>is what I did, you rarely explain the other paths,

247
00:12:39.399 --> 00:12:40.960
<v Speaker 5>the paths that you didn't take.

248
00:12:40.879 --> 00:12:42.240
<v Speaker 4>The things that were dead ends.

249
00:12:42.440 --> 00:12:44.840
<v Speaker 5>Sure, you get to learn the thinking that up to

250
00:12:44.960 --> 00:12:46.360
<v Speaker 5>the actual solution, but I.

251
00:12:46.320 --> 00:12:49.559
<v Speaker 1>Can also see how you know, if you've got parallel

252
00:12:50.519 --> 00:12:53.960
<v Speaker 1>sections of the team working on different aspects of the

253
00:12:54.000 --> 00:12:57.120
<v Speaker 1>application all at the same time, are they three times

254
00:12:57.120 --> 00:13:00.159
<v Speaker 1>as productive as the whole team working on one of

255
00:13:00.159 --> 00:13:03.039
<v Speaker 1>those at a time? Like some people may think.

256
00:13:02.919 --> 00:13:07.039
<v Speaker 5>That, yeah, I think you want to have very like

257
00:13:07.200 --> 00:13:10.360
<v Speaker 5>your own domain or your own application and not have

258
00:13:10.480 --> 00:13:11.679
<v Speaker 5>to share that with someone else.

259
00:13:11.720 --> 00:13:14.000
<v Speaker 4>I think that's also a key to getting making it

260
00:13:14.080 --> 00:13:14.960
<v Speaker 4>work all right.

261
00:13:14.799 --> 00:13:18.919
<v Speaker 1>So breaking down the teams into sections that are working

262
00:13:19.000 --> 00:13:22.759
<v Speaker 1>on a particular thing. We're all working on that thing. Yeah,

263
00:13:22.879 --> 00:13:23.559
<v Speaker 1>that makes sense.

264
00:13:23.759 --> 00:13:26.799
<v Speaker 2>And the point being that, just like we saw with

265
00:13:26.840 --> 00:13:28.960
<v Speaker 2>pair program, and there's two pairs of eyes on something,

266
00:13:29.440 --> 00:13:32.279
<v Speaker 2>you tend to make fewer mistakes, Like that code tends

267
00:13:32.279 --> 00:13:34.960
<v Speaker 2>to be very check inable and sticks around. There's less

268
00:13:35.000 --> 00:13:39.240
<v Speaker 2>iterating on it. I like the third pair of eyes

269
00:13:39.240 --> 00:13:43.000
<v Speaker 2>because they do the other thing. You know, you definitely

270
00:13:43.000 --> 00:13:45.200
<v Speaker 2>need two pairs of eyes on the code at any

271
00:13:45.240 --> 00:13:48.639
<v Speaker 2>given moment, so that as soon as that third ones introduced,

272
00:13:48.679 --> 00:13:50.639
<v Speaker 2>that's the one that could be searching yeah, you know,

273
00:13:50.840 --> 00:13:55.240
<v Speaker 2>or thinking yeah and pulling new information into the equation,

274
00:13:55.399 --> 00:13:59.559
<v Speaker 2>or reading even just reading the smacks in more detail

275
00:13:59.600 --> 00:14:01.600
<v Speaker 2>and saying do we actually understand this? Right?

276
00:14:01.720 --> 00:14:05.120
<v Speaker 1>Like? You know, it's kind of like a continuity person

277
00:14:05.240 --> 00:14:08.080
<v Speaker 1>on a movie set, isn't it somebody who's got a

278
00:14:08.320 --> 00:14:10.919
<v Speaker 1>sixty thousand foot view of everything and says, oh know,

279
00:14:10.960 --> 00:14:13.080
<v Speaker 1>in that last shot, the coffee mug was half full.

280
00:14:13.159 --> 00:14:14.159
<v Speaker 1>You got to fill it up again.

281
00:14:15.399 --> 00:14:18.320
<v Speaker 5>It also sometimes looks a bit back when we were

282
00:14:18.320 --> 00:14:19.960
<v Speaker 5>in the office and doing this. It looked a bit

283
00:14:20.000 --> 00:14:22.919
<v Speaker 5>weird to the others because we were sitting and discussing

284
00:14:22.960 --> 00:14:26.200
<v Speaker 5>a lot, and we were talking and talking, and then

285
00:14:26.200 --> 00:14:30.360
<v Speaker 5>finally we reached consensus about what is it we're actually solving,

286
00:14:30.519 --> 00:14:32.200
<v Speaker 5>how do we want to go about this, what's a

287
00:14:32.279 --> 00:14:35.799
<v Speaker 5>solution we can all stand behind. And then when we

288
00:14:35.840 --> 00:14:39.720
<v Speaker 5>finally reached that consensus, just typing out the code wasn't

289
00:14:39.759 --> 00:14:41.360
<v Speaker 5>really something that took us very long.

290
00:14:41.440 --> 00:14:44.440
<v Speaker 2>It was the easy part because you had consensus. And

291
00:14:44.679 --> 00:14:46.600
<v Speaker 2>I got to think, if you've got four people agreeing

292
00:14:46.639 --> 00:14:49.919
<v Speaker 2>on a path and they're really agreeing, like there's not

293
00:14:49.919 --> 00:14:52.799
<v Speaker 2>a lot of bullying going on, the quality of that's

294
00:14:52.799 --> 00:14:53.720
<v Speaker 2>going to be pretty high.

295
00:14:53.799 --> 00:14:54.519
<v Speaker 4>Yeah, it is.

296
00:14:55.279 --> 00:14:57.039
<v Speaker 5>And also you get but you have to sort of

297
00:14:57.080 --> 00:14:59.559
<v Speaker 5>learn to sort of this is something I really want

298
00:14:59.600 --> 00:15:03.159
<v Speaker 5>to stand up for, right, I'm just I'm not we're

299
00:15:03.200 --> 00:15:05.559
<v Speaker 5>doing tabs and not spaces. I'm going to die on

300
00:15:05.600 --> 00:15:08.279
<v Speaker 5>that hill now, that kind of thing. And then you

301
00:15:08.320 --> 00:15:09.919
<v Speaker 5>need to figure out what are the things that I'm

302
00:15:09.919 --> 00:15:11.720
<v Speaker 5>willing to let go of and that I'm willing to

303
00:15:12.840 --> 00:15:17.440
<v Speaker 5>slip because I think you can't win every bottle. You

304
00:15:17.480 --> 00:15:21.639
<v Speaker 5>can't have four people having absolute consensus and everything. So

305
00:15:21.679 --> 00:15:24.360
<v Speaker 5>you have to be a bit of a You can't

306
00:15:24.399 --> 00:15:26.480
<v Speaker 5>be too opinionated about everything.

307
00:15:27.559 --> 00:15:31.039
<v Speaker 2>You can't fight to the death on everything, and nobody's

308
00:15:31.080 --> 00:15:33.039
<v Speaker 2>going to want to work with you eventually. Like there's

309
00:15:33.080 --> 00:15:36.159
<v Speaker 2>just there's got to be some This is not that

310
00:15:36.240 --> 00:15:39.639
<v Speaker 2>important to me, it seems more important to you. Let's

311
00:15:39.639 --> 00:15:41.919
<v Speaker 2>try it, because let's face it, none of this is permanent.

312
00:15:42.480 --> 00:15:45.559
<v Speaker 2>You could go back and revise. Yeah, better to just

313
00:15:45.919 --> 00:15:47.399
<v Speaker 2>get to a path where it's like, I don't see

314
00:15:47.399 --> 00:15:48.600
<v Speaker 2>a problem with that. I don't know that I do

315
00:15:48.600 --> 00:15:50.120
<v Speaker 2>it that way, but I don't see a problem. Let's

316
00:15:50.120 --> 00:15:52.480
<v Speaker 2>go and see what we get. Yeah, yeah, I think

317
00:15:52.480 --> 00:15:55.200
<v Speaker 2>that's That's the compelling part of this is that the

318
00:15:55.879 --> 00:15:58.200
<v Speaker 2>biggest thing you get away from with pair programming, I

319
00:15:58.279 --> 00:16:03.240
<v Speaker 2>noticed is the those death sparals just trapped in. I

320
00:16:03.320 --> 00:16:05.320
<v Speaker 2>can't get this out the door. I'm just smashing my

321
00:16:05.360 --> 00:16:08.440
<v Speaker 2>head on the keyboard, and another pair of eyes and

322
00:16:08.919 --> 00:16:12.919
<v Speaker 2>ultimately another pair of hands just breaks that up. And

323
00:16:12.960 --> 00:16:14.039
<v Speaker 2>you're always rubber ducking.

324
00:16:14.159 --> 00:16:18.840
<v Speaker 5>Yeah exactly. And also you're learning like IF when you're IF.

325
00:16:18.879 --> 00:16:22.240
<v Speaker 5>I'm not very good at CSS, for example, but my

326
00:16:22.279 --> 00:16:24.639
<v Speaker 5>colleagues are better than me, so if I were to

327
00:16:24.679 --> 00:16:27.799
<v Speaker 5>solve this future of my own, my CSS that I

328
00:16:27.840 --> 00:16:29.879
<v Speaker 5>would produce would be at a certain level, which is

329
00:16:29.919 --> 00:16:33.559
<v Speaker 5>not very good. But when we're doing this together, we

330
00:16:33.639 --> 00:16:38.720
<v Speaker 5>always get like the best person's level of knowledge, right,

331
00:16:38.799 --> 00:16:40.960
<v Speaker 5>which is also really interesting and I'm learning at the

332
00:16:40.960 --> 00:16:41.440
<v Speaker 5>same time.

333
00:16:41.480 --> 00:16:43.600
<v Speaker 2>Do you switch keyboards at that point? Like does the

334
00:16:43.679 --> 00:16:45.320
<v Speaker 2>CSS when you hit to the point where it's like,

335
00:16:45.320 --> 00:16:47.320
<v Speaker 2>well we need little CSS here, It's like, all right,

336
00:16:47.399 --> 00:16:48.440
<v Speaker 2>already take that.

337
00:16:48.879 --> 00:16:49.679
<v Speaker 1>Yeah.

338
00:16:49.720 --> 00:16:52.480
<v Speaker 5>Maybe the other way around though, maybe I'll take that

339
00:16:52.519 --> 00:16:54.759
<v Speaker 5>because I'm not so good a right, so you can

340
00:16:54.960 --> 00:16:55.679
<v Speaker 5>be the one.

341
00:16:55.559 --> 00:16:59.559
<v Speaker 2>To turn yeah and let them coach you through exactly

342
00:16:59.600 --> 00:17:02.759
<v Speaker 2>better see sess yeah, and sharing that knowledge.

343
00:17:02.840 --> 00:17:05.119
<v Speaker 5>I need to get this from my fingers, to get

344
00:17:05.119 --> 00:17:05.960
<v Speaker 5>the mechanics of it.

345
00:17:06.160 --> 00:17:06.759
<v Speaker 1>And that's an.

346
00:17:06.640 --> 00:17:09.279
<v Speaker 2>Interesting angle on this, and it also speaks to I

347
00:17:09.319 --> 00:17:11.759
<v Speaker 2>don't want three of the same person on here on

348
00:17:11.799 --> 00:17:13.960
<v Speaker 2>this project. I want an array of skills.

349
00:17:14.039 --> 00:17:16.799
<v Speaker 1>I'm trying to think of the pushback, right, If you

350
00:17:16.880 --> 00:17:18.720
<v Speaker 1>have a team of five and you go to your

351
00:17:18.720 --> 00:17:23.279
<v Speaker 1>manager and say, hey, instead of everybody working on stuff

352
00:17:23.319 --> 00:17:25.680
<v Speaker 1>and branching and merging and all that stuff, why don't

353
00:17:25.680 --> 00:17:31.079
<v Speaker 1>we work together? You know, the pushback might be is

354
00:17:31.559 --> 00:17:35.240
<v Speaker 1>I think, well, you have to prove that the productivity

355
00:17:35.359 --> 00:17:41.039
<v Speaker 1>exceeds what you can do individually and the quality. Productivity

356
00:17:41.039 --> 00:17:43.240
<v Speaker 1>and quality they go hand in hand.

357
00:17:43.480 --> 00:17:46.000
<v Speaker 5>Yeah, And people always say that, and it's really interesting

358
00:17:46.039 --> 00:17:50.200
<v Speaker 5>because has this sort of working individually, has that really

359
00:17:50.240 --> 00:17:53.359
<v Speaker 5>proven itself to be good productivity and good quality?

360
00:17:53.440 --> 00:17:54.920
<v Speaker 1>M Right?

361
00:17:55.039 --> 00:17:58.480
<v Speaker 5>Like did we always we were doing software perfectly on time,

362
00:17:58.640 --> 00:18:01.400
<v Speaker 5>bug free, and then some people came along and say

363
00:18:01.400 --> 00:18:04.240
<v Speaker 5>can we work together? And everything went downhills from there.

364
00:18:04.319 --> 00:18:08.039
<v Speaker 2>Just do more unit tests. But I mean, I think

365
00:18:08.039 --> 00:18:09.279
<v Speaker 2>I want to play with the math on it. So

366
00:18:09.279 --> 00:18:12.359
<v Speaker 2>if we've got four people in a four week sprint,

367
00:18:13.000 --> 00:18:16.200
<v Speaker 2>each takes a task, all right, in the end of

368
00:18:16.240 --> 00:18:20.000
<v Speaker 2>four weeks, you're supposed to deliver four tasks. Now flip

369
00:18:20.039 --> 00:18:22.079
<v Speaker 2>that on his head, and four people work on each

370
00:18:22.240 --> 00:18:25.880
<v Speaker 2>task a week each, all four of them work on

371
00:18:25.920 --> 00:18:27.680
<v Speaker 2>it once. Are you going to get a better result?

372
00:18:27.680 --> 00:18:31.960
<v Speaker 2>Can they deliver those four features one a week collaboratively?

373
00:18:32.119 --> 00:18:34.440
<v Speaker 2>And then I mean, I think it's hard to deny

374
00:18:34.680 --> 00:18:36.759
<v Speaker 2>that you'll get better quality code for having more eyes

375
00:18:36.759 --> 00:18:37.000
<v Speaker 2>on it.

376
00:18:37.039 --> 00:18:38.599
<v Speaker 1>That's always true, definitely.

377
00:18:38.799 --> 00:18:42.000
<v Speaker 2>So the quality question is not there the productivity question.

378
00:18:42.160 --> 00:18:44.200
<v Speaker 2>The question is can you get those four features built

379
00:18:44.240 --> 00:18:46.839
<v Speaker 2>that sprint. Like that would be my argument to the

380
00:18:46.880 --> 00:18:49.119
<v Speaker 2>team lead. It's like, hey, our goals deliver these four

381
00:18:49.160 --> 00:18:51.079
<v Speaker 2>things in the sprint. How we do it?

382
00:18:51.480 --> 00:18:53.480
<v Speaker 1>Don't ask? You know, you can't. You don't have the

383
00:18:53.519 --> 00:18:57.400
<v Speaker 1>benefit of parallel universes. You can't say all right, it'll

384
00:18:57.440 --> 00:18:59.319
<v Speaker 1>do bose ways and see what happens at the end.

385
00:19:00.160 --> 00:19:02.839
<v Speaker 5>Remember that there's so much more to program to software

386
00:19:02.880 --> 00:19:06.480
<v Speaker 5>development and just the programming part. There's like reading the code.

387
00:19:06.519 --> 00:19:09.440
<v Speaker 5>There's understanding the code, there's understanding why are we doing

388
00:19:09.440 --> 00:19:12.920
<v Speaker 5>this in the first place. There's so many other things

389
00:19:13.480 --> 00:19:16.200
<v Speaker 5>that you're doing. And I think that if you've been

390
00:19:16.240 --> 00:19:20.039
<v Speaker 5>a part of all of the code production up until now,

391
00:19:20.839 --> 00:19:23.039
<v Speaker 5>you're rarely going to be in a position where you're

392
00:19:23.039 --> 00:19:26.279
<v Speaker 5>sitting there and you're not understanding what a certain post

393
00:19:26.319 --> 00:19:28.319
<v Speaker 5>of code is doing because you were there when it

394
00:19:28.400 --> 00:19:31.599
<v Speaker 5>was created. So the part when it is okay, I'm

395
00:19:31.640 --> 00:19:34.039
<v Speaker 5>reading code is taking me a long time to understand

396
00:19:34.279 --> 00:19:38.480
<v Speaker 5>what previous the previous programmer was doing. That part is

397
00:19:38.519 --> 00:19:40.720
<v Speaker 5>gone because you were there for that part.

398
00:19:41.000 --> 00:19:43.519
<v Speaker 1>Yeah, well, you have the potential for new kinds of nastiness,

399
00:19:43.519 --> 00:19:46.319
<v Speaker 1>don't you like when people don't agree, and they're resistant

400
00:19:46.319 --> 00:19:48.440
<v Speaker 1>to doing it the right way. Has it ever come

401
00:19:48.480 --> 00:19:49.359
<v Speaker 1>to fist the cuffs?

402
00:19:50.960 --> 00:19:54.519
<v Speaker 5>I think it's even more passive aggressiveness in all the

403
00:19:54.599 --> 00:19:57.240
<v Speaker 5>sines where you're sort of like, oh, I'm going to

404
00:19:57.359 --> 00:20:00.279
<v Speaker 5>change this now, that's my turn to where on this

405
00:20:00.319 --> 00:20:02.000
<v Speaker 5>future I'm going to change it to what I think

406
00:20:02.079 --> 00:20:02.440
<v Speaker 5>is better.

407
00:20:03.319 --> 00:20:06.759
<v Speaker 2>Edit the code right in front of them. Yeah it's

408
00:20:06.839 --> 00:20:07.880
<v Speaker 2>not pretty.

409
00:20:08.160 --> 00:20:12.000
<v Speaker 1>Well, Dave did this and introduced a bug because he

410
00:20:12.160 --> 00:20:15.480
<v Speaker 1>wasn't smart enough to think that this and that. So

411
00:20:15.519 --> 00:20:17.039
<v Speaker 1>I'll just fix it right now.

412
00:20:18.440 --> 00:20:21.799
<v Speaker 5>But also, my most the argument that I like the

413
00:20:21.839 --> 00:20:24.720
<v Speaker 5>most about when you talk about productivity is the one

414
00:20:24.720 --> 00:20:27.079
<v Speaker 5>thing that you hear in every retrospective is we have

415
00:20:27.160 --> 00:20:28.400
<v Speaker 5>to be better at knowledge sharing.

416
00:20:29.759 --> 00:20:31.359
<v Speaker 4>That's always the thing that comes up.

417
00:20:31.440 --> 00:20:33.079
<v Speaker 1>And then you share all the time.

418
00:20:33.400 --> 00:20:35.640
<v Speaker 5>Yeah, and then you have people say like, okay, so

419
00:20:35.640 --> 00:20:38.359
<v Speaker 5>we should have knowledge sharing sessions and then that doesn't happen,

420
00:20:38.720 --> 00:20:41.160
<v Speaker 5>or we should we should be better at talking to

421
00:20:41.200 --> 00:20:43.440
<v Speaker 5>each other, and then that doesn't happen. But we don't

422
00:20:43.519 --> 00:20:47.200
<v Speaker 5>have to solve that problem because we're organically knowledge sharing

423
00:20:47.400 --> 00:20:49.599
<v Speaker 5>all the time. Yeah, we don't have to think about

424
00:20:49.839 --> 00:20:52.079
<v Speaker 5>is this an important thing that we need to tell

425
00:20:52.119 --> 00:20:53.079
<v Speaker 5>someone else about.

426
00:20:53.200 --> 00:20:55.519
<v Speaker 1>Also really good if one person leaves the team.

427
00:20:55.680 --> 00:20:57.359
<v Speaker 4>Yeah, yeah, that's brilliant.

428
00:20:57.559 --> 00:20:59.880
<v Speaker 2>You've always got more pairs of eyes on the code.

429
00:21:00.319 --> 00:21:02.960
<v Speaker 2>You've got them routinely teaching each other. You're not doing

430
00:21:02.960 --> 00:21:06.480
<v Speaker 2>a separate teaching exercise, right, Like the fact that the

431
00:21:06.640 --> 00:21:10.440
<v Speaker 2>skilled CSS person who's in the MOB walked you through

432
00:21:10.440 --> 00:21:13.680
<v Speaker 2>writing better CSS, as opposed to doing like a luncheon

433
00:21:13.759 --> 00:21:17.480
<v Speaker 2>learn on CSS, or just simply getting all the CSS

434
00:21:17.559 --> 00:21:20.519
<v Speaker 2>work from the whole team all the time so that

435
00:21:20.519 --> 00:21:23.000
<v Speaker 2>that person gets better and better but never really teaches

436
00:21:23.000 --> 00:21:25.839
<v Speaker 2>anyone else. Like, there's a whole bunch of things solved

437
00:21:25.880 --> 00:21:28.000
<v Speaker 2>at the same time with this approach, and only a

438
00:21:28.000 --> 00:21:30.160
<v Speaker 2>small part of it is writing the code exactly.

439
00:21:30.319 --> 00:21:32.359
<v Speaker 1>I think she use a different term than in the MOB.

440
00:21:34.000 --> 00:21:34.519
<v Speaker 4>That's what I want.

441
00:21:34.559 --> 00:21:37.720
<v Speaker 5>I want to flip this conversation around, like ken, I

442
00:21:37.839 --> 00:21:41.640
<v Speaker 5>think I when I started to submit talks about this topic,

443
00:21:41.759 --> 00:21:44.599
<v Speaker 5>I wanted to contrast it to the other way of

444
00:21:44.599 --> 00:21:47.200
<v Speaker 5>working the thing that we were doing before. Right, And

445
00:21:47.839 --> 00:21:49.640
<v Speaker 5>it turns out I felt like I needed to find

446
00:21:49.640 --> 00:21:52.039
<v Speaker 5>a name for it because I would have more programming.

447
00:21:52.039 --> 00:21:53.920
<v Speaker 5>That's not a particularly good name, But we talk about

448
00:21:53.920 --> 00:21:57.160
<v Speaker 5>a software team maybe sometimes which is slightly better, but

449
00:21:57.839 --> 00:21:58.920
<v Speaker 5>still a name for something.

450
00:21:59.279 --> 00:21:59.799
<v Speaker 1>How do you like it?

451
00:22:00.160 --> 00:22:01.319
<v Speaker 2>Ensemble programming.

452
00:22:02.240 --> 00:22:08.920
<v Speaker 1>That's very, very very the word area day. Yeah, yeah,

453
00:22:09.559 --> 00:22:13.000
<v Speaker 1>I like it. But yeah, group programming perhaps programming.

454
00:22:13.200 --> 00:22:16.039
<v Speaker 4>Yeah, but what's the other thing then, what's the thing

455
00:22:16.079 --> 00:22:18.240
<v Speaker 4>that most people are programming? Yeah?

456
00:22:19.319 --> 00:22:24.799
<v Speaker 5>Yeah, I like that one, and I think I like

457
00:22:24.839 --> 00:22:28.079
<v Speaker 5>even better one that we came up with in the group,

458
00:22:28.160 --> 00:22:34.240
<v Speaker 5>which was individual centered programming or development, because if we

459
00:22:34.319 --> 00:22:37.799
<v Speaker 5>have if in more programming, you take the work and

460
00:22:37.880 --> 00:22:41.680
<v Speaker 5>everyone flocks to the work and does the work. In

461
00:22:41.720 --> 00:22:45.400
<v Speaker 5>the other style, you split the work to the individuals, right, but.

462
00:22:45.359 --> 00:22:48.319
<v Speaker 2>You still have this great ritual of merging it all together.

463
00:22:48.759 --> 00:22:51.759
<v Speaker 2>But you now are oscillating between working individually and working

464
00:22:51.759 --> 00:22:54.559
<v Speaker 2>in a team where you all have to collaborate on

465
00:22:54.599 --> 00:22:56.880
<v Speaker 2>the integration cycle. Why not just be in the team

466
00:22:57.119 --> 00:22:57.839
<v Speaker 2>all the time?

467
00:22:58.039 --> 00:23:00.519
<v Speaker 1>About mono programming and polyprogram.

468
00:23:02.079 --> 00:23:04.119
<v Speaker 4>Multi threaded, single threaded, Yeah.

469
00:23:04.000 --> 00:23:08.440
<v Speaker 1>Right, remin brain goes, oh, looks like the cat is

470
00:23:08.480 --> 00:23:09.119
<v Speaker 1>taking a walk.

471
00:23:09.599 --> 00:23:13.960
<v Speaker 2>Yeah, but actually at this point about the oscillation of

472
00:23:14.079 --> 00:23:17.680
<v Speaker 2>switching modes where you go head down on your own

473
00:23:18.400 --> 00:23:21.440
<v Speaker 2>sometimes you know, in a tail spin, to try and

474
00:23:21.480 --> 00:23:23.880
<v Speaker 2>produce your portion of the work. To bring to the team,

475
00:23:23.920 --> 00:23:25.599
<v Speaker 2>and then you work as a team to do the

476
00:23:25.599 --> 00:23:30.039
<v Speaker 2>integration just seems weirder than why if you just work

477
00:23:30.079 --> 00:23:31.039
<v Speaker 2>as a team the whole time.

478
00:23:31.359 --> 00:23:33.880
<v Speaker 5>Yeah, And there's so much wasted time that is spent

479
00:23:34.119 --> 00:23:38.759
<v Speaker 5>during those synchronizations, like the stand ups, Yeah, what did

480
00:23:38.759 --> 00:23:39.640
<v Speaker 5>you do yesterday?

481
00:23:40.119 --> 00:23:41.240
<v Speaker 4>What are you going to do today?

482
00:23:41.960 --> 00:23:44.119
<v Speaker 5>And then you have long stand ups, so then you

483
00:23:44.160 --> 00:23:46.599
<v Speaker 5>spend the retrospectives talking about how should we have better

484
00:23:46.640 --> 00:23:47.119
<v Speaker 5>stand ups?

485
00:23:47.160 --> 00:23:48.519
<v Speaker 4>So first you waste the time during.

486
00:23:48.359 --> 00:23:50.759
<v Speaker 1>The stand ups, then you waste more time.

487
00:23:50.559 --> 00:23:53.440
<v Speaker 5>Than you're wasting the retrospective time talking about how you

488
00:23:53.680 --> 00:23:55.559
<v Speaker 5>can waste the time in a better way.

489
00:23:55.960 --> 00:23:56.440
<v Speaker 1>Yeah.

490
00:23:56.480 --> 00:23:58.400
<v Speaker 2>What if everybody knew what everybody was working on because

491
00:23:58.400 --> 00:24:02.480
<v Speaker 2>they all worked on it. Yeah, Yeah, suddenly this weird

492
00:24:02.559 --> 00:24:04.839
<v Speaker 2>idea seems like the normal idea, and what we've been

493
00:24:04.880 --> 00:24:05.559
<v Speaker 2>doing is weird.

494
00:24:05.599 --> 00:24:08.240
<v Speaker 1>I would think though, that in bigger projects where you

495
00:24:08.240 --> 00:24:13.319
<v Speaker 1>have multiple silos of work, it could pose more of

496
00:24:13.359 --> 00:24:15.440
<v Speaker 1>a problem, don't you What.

497
00:24:15.359 --> 00:24:17.799
<v Speaker 4>Would be some multiple silos?

498
00:24:18.000 --> 00:24:20.839
<v Speaker 1>All right, So let's say you're working on a project

499
00:24:20.839 --> 00:24:23.599
<v Speaker 1>that has a solution that has thirty or forty projects,

500
00:24:24.200 --> 00:24:27.279
<v Speaker 1>and you know they hire one person to work on

501
00:24:27.319 --> 00:24:30.039
<v Speaker 1>this one project. Because it uses a particular language or

502
00:24:30.079 --> 00:24:34.480
<v Speaker 1>technology or something, and another person is doing the data

503
00:24:34.599 --> 00:24:39.160
<v Speaker 1>the back end, another person is doing the communications, right,

504
00:24:39.200 --> 00:24:43.960
<v Speaker 1>I mean you've got a team of twenty or thirty people.

505
00:24:44.559 --> 00:24:48.480
<v Speaker 1>That seems a little bit far reaching from me.

506
00:24:48.880 --> 00:24:52.400
<v Speaker 5>No, yeah, maybe this wouldn't be the best solution for that,

507
00:24:52.519 --> 00:24:54.799
<v Speaker 5>but maybe it would be splitting up that problem.

508
00:24:55.039 --> 00:24:56.799
<v Speaker 4>Yeah, in a different way.

509
00:24:57.119 --> 00:24:59.200
<v Speaker 2>Yeah, let's come into this another angle. We kind of

510
00:24:59.240 --> 00:25:04.519
<v Speaker 2>recognize that at any given mob, any given ensemble is

511
00:25:04.559 --> 00:25:07.279
<v Speaker 2>three to five people, right, Yeah, you have a limit,

512
00:25:07.519 --> 00:25:10.440
<v Speaker 2>and so there's a cadence as fast as you can

513
00:25:10.480 --> 00:25:13.000
<v Speaker 2>produce code with that team. Even if that team works

514
00:25:13.160 --> 00:25:15.920
<v Speaker 2>flawlessly together, they're in their their space, they know what

515
00:25:15.920 --> 00:25:17.680
<v Speaker 2>they're doing. They're only going to put out so much

516
00:25:17.680 --> 00:25:20.200
<v Speaker 2>code in so much time, as efficiently as they can be.

517
00:25:20.240 --> 00:25:21.640
<v Speaker 2>And that could be a lot. A lot of projects

518
00:25:21.680 --> 00:25:24.599
<v Speaker 2>could be happily solved that way. But you have a

519
00:25:24.720 --> 00:25:28.240
<v Speaker 2>larger project with way more milestones that need to be done,

520
00:25:28.279 --> 00:25:31.200
<v Speaker 2>and you want to have more people working together. I

521
00:25:31.279 --> 00:25:34.039
<v Speaker 2>don't think you make the individual mob bigger, But now

522
00:25:34.079 --> 00:25:38.759
<v Speaker 2>you get into multiple mobs and you're back to possibly

523
00:25:38.759 --> 00:25:42.519
<v Speaker 2>fighting that synchronization problem wherever. So often those mobs need

524
00:25:42.559 --> 00:25:45.160
<v Speaker 2>to come together to synchronize their code.

525
00:25:45.160 --> 00:25:47.680
<v Speaker 1>But at least they would be working within their own

526
00:25:47.720 --> 00:25:51.200
<v Speaker 1>domain hopefully and wouldn't be crossing each other, so there'd

527
00:25:51.240 --> 00:25:54.119
<v Speaker 1>be less chances for emerged conflicts and things like that.

528
00:25:54.640 --> 00:25:56.680
<v Speaker 1>I hope, yeah, I mean would you would?

529
00:25:56.680 --> 00:25:58.640
<v Speaker 2>This is where the architect comes into play and we

530
00:25:58.759 --> 00:26:03.319
<v Speaker 2>build boundaries to say here, you know, maybe negotiate the APIs.

531
00:26:03.920 --> 00:26:06.119
<v Speaker 2>You might even have a mob of mobs here where

532
00:26:06.240 --> 00:26:09.279
<v Speaker 2>one lead from each mob gets together with the other

533
00:26:09.440 --> 00:26:11.839
<v Speaker 2>four mobs and they go through the architecture of how

534
00:26:11.839 --> 00:26:13.680
<v Speaker 2>they're going to build those interfaces.

535
00:26:13.440 --> 00:26:14.880
<v Speaker 1>Middle management mobs.

536
00:26:16.920 --> 00:26:20.440
<v Speaker 2>But now you're getting to, like you said, a twenty

537
00:26:20.519 --> 00:26:24.359
<v Speaker 2>to twenty thirty people working on a project that's a

538
00:26:24.400 --> 00:26:27.480
<v Speaker 2>lot of code like but you know, and it's really

539
00:26:27.519 --> 00:26:29.319
<v Speaker 2>a speed thing that they want a certain level of

540
00:26:29.359 --> 00:26:31.920
<v Speaker 2>deliverables in a certain amount of time. So you're going

541
00:26:32.000 --> 00:26:33.880
<v Speaker 2>to introduce complexity. There's no two ways about it. Like

542
00:26:33.920 --> 00:26:37.000
<v Speaker 2>you can't can't get twenty people sitting around one keyboard

543
00:26:37.039 --> 00:26:39.160
<v Speaker 2>and be productive. There's a threshold there.

544
00:26:39.200 --> 00:26:41.319
<v Speaker 1>But I like the multiple groups or multiple mobs or

545
00:26:41.359 --> 00:26:46.440
<v Speaker 1>multiple ensembles idea because as as these five, four or

546
00:26:46.440 --> 00:26:49.839
<v Speaker 1>five person units, they can be a lot more productive

547
00:26:49.960 --> 00:26:55.000
<v Speaker 1>in their silo than the four or five individually working well.

548
00:26:55.319 --> 00:26:57.079
<v Speaker 2>And the bigger thing is recognized. Every piece of code

549
00:26:57.079 --> 00:26:58.559
<v Speaker 2>is looked at by multiple peeple, so it tends to

550
00:26:58.599 --> 00:26:59.400
<v Speaker 2>be a higher quality.

551
00:26:59.519 --> 00:27:01.079
<v Speaker 1>Yeah, produced more rapidly.

552
00:27:01.400 --> 00:27:03.200
<v Speaker 2>Yeah, you know, because as soon as we getting the

553
00:27:03.200 --> 00:27:04.839
<v Speaker 2>mobs of mobs where now we could be back to well,

554
00:27:04.839 --> 00:27:06.559
<v Speaker 2>why don't you just have individual developers they do the

555
00:27:06.599 --> 00:27:09.920
<v Speaker 2>same consolidation because an individual makes more mistakes and a

556
00:27:10.000 --> 00:27:10.839
<v Speaker 2>group makes for your.

557
00:27:11.000 --> 00:27:14.160
<v Speaker 1>And some simple rules like those pieces that are shared

558
00:27:14.200 --> 00:27:17.799
<v Speaker 1>among all the projects that somebody has to update, you know,

559
00:27:17.960 --> 00:27:20.519
<v Speaker 1>they have to eraise their hand and tell everybody, hey,

560
00:27:20.559 --> 00:27:22.799
<v Speaker 1>I'm gonna be working on this tonight or tomorrow morning.

561
00:27:23.359 --> 00:27:26.319
<v Speaker 1>Check all your stuff in by five, and then you know,

562
00:27:26.480 --> 00:27:28.279
<v Speaker 1>have it done in a couple hours, and then we

563
00:27:28.319 --> 00:27:31.759
<v Speaker 1>can you know, just prepare. I'm not trying to say,

564
00:27:32.039 --> 00:27:35.319
<v Speaker 1>trying to prevent merch conflicts before they happen. Yeah, yeah,

565
00:27:35.519 --> 00:27:36.640
<v Speaker 1>you would hope, you would.

566
00:27:36.400 --> 00:27:39.319
<v Speaker 5>Hope if you were to have some sort of synchronization

567
00:27:39.359 --> 00:27:41.160
<v Speaker 5>in between, you can at least send any of the

568
00:27:41.200 --> 00:27:44.240
<v Speaker 5>team members from any of the mobs, because they will

569
00:27:44.240 --> 00:27:45.200
<v Speaker 5>have the same knowledge.

570
00:27:45.200 --> 00:27:47.160
<v Speaker 1>They should have all the same knowledge.

571
00:27:46.880 --> 00:27:48.880
<v Speaker 4>About their work at least delegates.

572
00:27:48.960 --> 00:27:51.039
<v Speaker 2>But just like you have somebody good at CSS, you

573
00:27:51.119 --> 00:27:53.240
<v Speaker 2>might have somebody good at persuading.

574
00:27:53.759 --> 00:27:57.640
<v Speaker 1>So you want to send it to that mob. Interesting,

575
00:27:57.839 --> 00:28:00.160
<v Speaker 1>it's not just about technology.

576
00:28:00.799 --> 00:28:03.359
<v Speaker 2>Well, it never is, right, Like, this is all about

577
00:28:03.400 --> 00:28:05.440
<v Speaker 2>how well we work together and how we come to

578
00:28:05.559 --> 00:28:09.000
<v Speaker 2>consensus on things, and how different viewpoints make for a

579
00:28:09.039 --> 00:28:13.480
<v Speaker 2>better answer when done constructively. It can be done toxically,

580
00:28:13.680 --> 00:28:15.319
<v Speaker 2>like what I what I find in you about this

581
00:28:15.480 --> 00:28:18.599
<v Speaker 2>is like, this will certainly hunt down the toxic people

582
00:28:18.599 --> 00:28:21.160
<v Speaker 2>in your group. If you can't make this team programming work,

583
00:28:21.440 --> 00:28:22.880
<v Speaker 2>it's going to show fast.

584
00:28:23.519 --> 00:28:24.079
<v Speaker 1>Yeah.

585
00:28:24.160 --> 00:28:27.160
<v Speaker 4>It requires people to be humble and to be curious

586
00:28:27.200 --> 00:28:27.960
<v Speaker 4>about other people.

587
00:28:28.039 --> 00:28:30.799
<v Speaker 2>Yeah, and to expect understand that they're they're capable, like

588
00:28:30.839 --> 00:28:31.559
<v Speaker 2>they all deliver.

589
00:28:32.119 --> 00:28:33.440
<v Speaker 4>Yeah, you have to.

590
00:28:33.480 --> 00:28:37.680
<v Speaker 5>If someone has an adverse solution to yours, you have

591
00:28:37.720 --> 00:28:41.119
<v Speaker 5>to be more curious about why would you that be

592
00:28:41.480 --> 00:28:44.480
<v Speaker 5>a good solution in your opinion? Right, rather than to

593
00:28:44.640 --> 00:28:46.960
<v Speaker 5>bash them and be sure that you win that argument.

594
00:28:47.200 --> 00:28:50.000
<v Speaker 2>Mm hmmm, well anyway, don't win any argument, right. The

595
00:28:50.039 --> 00:28:53.160
<v Speaker 2>code bench it right, Like, I'm perfectly willing and I've

596
00:28:53.200 --> 00:28:55.400
<v Speaker 2>been in that situation with two really smart people and said,

597
00:28:55.400 --> 00:28:57.119
<v Speaker 2>all right, we're both going to write and we're going

598
00:28:57.160 --> 00:28:57.839
<v Speaker 2>to have a bake off.

599
00:28:57.880 --> 00:29:01.400
<v Speaker 1>Then right, and you'll see what we That's a fun way.

600
00:29:01.880 --> 00:29:04.200
<v Speaker 2>Yeah, it's it's an approach. It has its own problems.

601
00:29:04.279 --> 00:29:07.680
<v Speaker 2>Now we talk about metrics. Actually we should break for

602
00:29:07.720 --> 00:29:14.480
<v Speaker 2>a moment for these very important messages, and we're back.

603
00:29:14.680 --> 00:29:17.160
<v Speaker 2>It's done at Rocks. I'm Richard Campell. Let's call Franklin hey,

604
00:29:17.920 --> 00:29:21.519
<v Speaker 2>and talking to our friend Luruka about mob programming for

605
00:29:21.559 --> 00:29:24.480
<v Speaker 2>the first time in a long time. But it feels

606
00:29:24.559 --> 00:29:28.000
<v Speaker 2>more mature now, like I'm maybe it's just as I'm older.

607
00:29:28.519 --> 00:29:32.319
<v Speaker 2>I'm like, duh, yeah, working together better.

608
00:29:33.079 --> 00:29:34.160
<v Speaker 1>We have more tools now.

609
00:29:34.400 --> 00:29:37.319
<v Speaker 5>Yeah, to me it feels it feels like the obvious approach.

610
00:29:37.440 --> 00:29:40.319
<v Speaker 5>But it is because I've been doing it for every

611
00:29:40.400 --> 00:29:43.559
<v Speaker 5>day for six years, so sure. To me, it feels

612
00:29:43.599 --> 00:29:45.599
<v Speaker 5>a bit odd to do it any other way, Like

613
00:29:45.680 --> 00:29:47.799
<v Speaker 5>why would you split up the work and split up?

614
00:29:47.960 --> 00:29:48.839
<v Speaker 5>May I have more risk?

615
00:29:49.599 --> 00:29:49.839
<v Speaker 1>Yeah?

616
00:29:49.960 --> 00:29:52.759
<v Speaker 2>Yeah, I mean people do pseudo mobbing anyway. The number

617
00:29:52.759 --> 00:29:54.480
<v Speaker 2>of times I've seen an organization where each person has

618
00:29:54.480 --> 00:29:56.039
<v Speaker 2>a piece of code, but they keep checking in with

619
00:29:56.160 --> 00:29:58.880
<v Speaker 2>each other about problems they're having with their code. The

620
00:29:58.960 --> 00:30:01.960
<v Speaker 2>problem is that that's an in interruption driven way to

621
00:30:02.079 --> 00:30:05.160
<v Speaker 2>do it. So that other person was focused and working,

622
00:30:05.240 --> 00:30:06.880
<v Speaker 2>and you pulled them out of that to ask them

623
00:30:06.920 --> 00:30:07.839
<v Speaker 2>a CSS question.

624
00:30:08.200 --> 00:30:10.880
<v Speaker 1>Idd interruption driven development, that's it.

625
00:30:11.200 --> 00:30:14.000
<v Speaker 5>I'm terrible at asking for help when I'm working alone.

626
00:30:14.519 --> 00:30:16.799
<v Speaker 5>I will sit and bang my head against the solution.

627
00:30:16.880 --> 00:30:21.039
<v Speaker 5>I'm trying to figure it out. Yeah, maybe this thing.

628
00:30:22.000 --> 00:30:23.799
<v Speaker 5>I'll just try this thing, then I'll ask for help.

629
00:30:24.279 --> 00:30:26.400
<v Speaker 2>Yeah, totally. And that's what I saw with Paar programmer.

630
00:30:26.440 --> 00:30:28.880
<v Speaker 2>Right away as the other person knows the moment you're

631
00:30:28.880 --> 00:30:32.400
<v Speaker 2>spinning because they're there, they've watched it happen, right, and

632
00:30:32.680 --> 00:30:35.920
<v Speaker 2>it's that coach effect of dude, you're spinning, like it's okay,

633
00:30:36.480 --> 00:30:38.880
<v Speaker 2>let's get you out of the spiral, Like let's rethink the.

634
00:30:38.920 --> 00:30:40.640
<v Speaker 1>Problem and come at it from a different direction.

635
00:30:40.839 --> 00:30:44.759
<v Speaker 2>So you no longer have to have the sort of

636
00:30:44.880 --> 00:30:47.799
<v Speaker 2>executive function to go, oh, I'm spinning here, pull yourself

637
00:30:47.839 --> 00:30:49.200
<v Speaker 2>out of it and try and find a way. There's

638
00:30:49.240 --> 00:30:50.960
<v Speaker 2>somebody there, puts the hand on the shoulder.

639
00:30:51.000 --> 00:30:55.480
<v Speaker 1>It's like, hey, the four most important words a programmer

640
00:30:55.599 --> 00:31:01.039
<v Speaker 1>can memorize and use is well, that didn't work right,

641
00:31:01.279 --> 00:31:03.279
<v Speaker 1>You've got to know when to say that and try

642
00:31:03.400 --> 00:31:06.640
<v Speaker 1>something else. Yeah, wow, wow, indeed this is normal.

643
00:31:07.119 --> 00:31:10.359
<v Speaker 2>But the remote angles interesting too, because I guess our

644
00:31:10.400 --> 00:31:12.920
<v Speaker 2>text so much better than it was in the past.

645
00:31:12.960 --> 00:31:14.480
<v Speaker 2>Time we were talking about this, like to just sit

646
00:31:14.559 --> 00:31:17.920
<v Speaker 2>in a zoom call or a team's call with all

647
00:31:17.960 --> 00:31:21.240
<v Speaker 2>the faces there, and you know, the code window and

648
00:31:21.359 --> 00:31:24.680
<v Speaker 2>handing off control for typing, and then beside that you've

649
00:31:24.720 --> 00:31:26.680
<v Speaker 2>got another window open because you're doing a little searching

650
00:31:26.799 --> 00:31:29.680
<v Speaker 2>or checking or going over docs and and a steady

651
00:31:29.720 --> 00:31:33.799
<v Speaker 2>stream of conversation about what we're writing. Doesn't even seem

652
00:31:33.839 --> 00:31:36.119
<v Speaker 2>weird now, and a few years ago that wouldn't be

653
00:31:36.160 --> 00:31:41.440
<v Speaker 2>that easy. The pandemic fixed this really pandemic. The pandemic,

654
00:31:41.759 --> 00:31:43.400
<v Speaker 2>I'm not going to go that far, but I'm saying

655
00:31:43.640 --> 00:31:50.319
<v Speaker 2>everybody's ring got better. The etiquette of online communication evolved.

656
00:31:50.920 --> 00:31:53.440
<v Speaker 2>Remember we had the stupid hat period during the pandemic

657
00:31:53.519 --> 00:31:55.400
<v Speaker 2>when everybody turned on a filter so they had the

658
00:31:55.440 --> 00:31:56.160
<v Speaker 2>digital hats on.

659
00:31:56.359 --> 00:31:57.079
<v Speaker 1>I never did that.

660
00:31:57.319 --> 00:31:59.759
<v Speaker 2>You missed all that, now, no, you missed out.

661
00:32:00.599 --> 00:32:03.920
<v Speaker 1>I guess I saw other idiots doing it, but I

662
00:32:04.079 --> 00:32:06.200
<v Speaker 1>did not did not partake of that.

663
00:32:06.480 --> 00:32:10.200
<v Speaker 2>But it literally was like a rapid incubator evolution to

664
00:32:10.400 --> 00:32:15.279
<v Speaker 2>emerge etiquettes around around online, which I mean it speaks

665
00:32:15.279 --> 00:32:18.440
<v Speaker 2>to there must be a sort of agreed upon etiquette

666
00:32:18.440 --> 00:32:21.559
<v Speaker 2>and mob programming too, like are you big on the

667
00:32:21.720 --> 00:32:22.839
<v Speaker 2>every camera on thing?

668
00:32:23.440 --> 00:32:24.799
<v Speaker 4>No, we don't actually do that.

669
00:32:26.559 --> 00:32:29.559
<v Speaker 5>I think one thing that is interesting with the combination

670
00:32:29.720 --> 00:32:32.880
<v Speaker 5>of remoting and more programming is we spend so many

671
00:32:32.920 --> 00:32:35.640
<v Speaker 5>hours a day talking to each other, right that we're

672
00:32:35.680 --> 00:32:39.440
<v Speaker 5>getting to know each other very well. Yeah, And I've

673
00:32:39.680 --> 00:32:44.960
<v Speaker 5>have onboarded people fully remotely and in a way where

674
00:32:44.960 --> 00:32:47.240
<v Speaker 5>you sort of you get to know them personally because

675
00:32:48.200 --> 00:32:50.400
<v Speaker 5>while you're working, you sort of you crack a joke

676
00:32:50.680 --> 00:32:53.079
<v Speaker 5>and then you end up having a mini break talking

677
00:32:53.119 --> 00:32:53.960
<v Speaker 5>about something else.

678
00:32:54.880 --> 00:32:58.440
<v Speaker 2>I need caffeinated beverage. Now, please do you leave on?

679
00:32:58.680 --> 00:33:01.839
<v Speaker 2>You stay on through lunch already, windy unplug.

680
00:33:02.839 --> 00:33:04.680
<v Speaker 4>No, we typically.

681
00:33:05.920 --> 00:33:09.720
<v Speaker 5>Have real lunch breaks and have uh have other breaks

682
00:33:09.720 --> 00:33:12.079
<v Speaker 5>as well, so we try to make sure to have

683
00:33:13.960 --> 00:33:18.079
<v Speaker 5>a break every hour and lunch breaks. And I'm an introvert,

684
00:33:18.160 --> 00:33:22.079
<v Speaker 5>so for me, being remote and getting a lunch by

685
00:33:22.160 --> 00:33:22.720
<v Speaker 5>my own.

686
00:33:22.799 --> 00:33:25.720
<v Speaker 1>Yeah, is actually important, is really valuable.

687
00:33:26.039 --> 00:33:27.519
<v Speaker 2>And you need to get off the screen. You need

688
00:33:27.599 --> 00:33:29.400
<v Speaker 2>to get up and move around a bit.

689
00:33:29.799 --> 00:33:33.599
<v Speaker 1>I got to feed my cat. Yeah, I'm kind of

690
00:33:33.680 --> 00:33:37.640
<v Speaker 1>chuckling because Ulrica's cat has jumped into her lap and

691
00:33:37.839 --> 00:33:39.160
<v Speaker 1>is showing us it's butt.

692
00:33:40.359 --> 00:33:44.759
<v Speaker 2>Yes, that's brilliant. You're you're keeping it together, just fine

693
00:33:44.759 --> 00:33:49.160
<v Speaker 2>and everything. Everything a great cat again. Another thing that

694
00:33:49.240 --> 00:33:52.079
<v Speaker 2>came out of the online was the pet sessions and

695
00:33:52.319 --> 00:33:56.480
<v Speaker 2>children children wandering in such as I was having a

696
00:33:56.559 --> 00:33:59.160
<v Speaker 2>long talk with a senior executive at Microsoft at one

697
00:33:59.200 --> 00:34:01.480
<v Speaker 2>point and the little girls came piling into the room

698
00:34:01.480 --> 00:34:03.480
<v Speaker 2>and she goes, really sorry. I'm like, it's all good.

699
00:34:03.680 --> 00:34:07.400
<v Speaker 2>Put on a speaker, let's chat. Tell us the story.

700
00:34:07.440 --> 00:34:08.440
<v Speaker 2>They want to tell you stories.

701
00:34:08.440 --> 00:34:09.039
<v Speaker 1>I want to hear them.

702
00:34:09.119 --> 00:34:11.559
<v Speaker 2>Let's do it, you know, to spend spend six seven

703
00:34:11.639 --> 00:34:14.159
<v Speaker 2>minutes letting the kids tell about getting home from school

704
00:34:14.159 --> 00:34:15.400
<v Speaker 2>and then they off they go again.

705
00:34:15.679 --> 00:34:16.559
<v Speaker 1>Way better answer.

706
00:34:17.079 --> 00:34:20.119
<v Speaker 2>You know, everybody's delighted you talk about, you know, connecting

707
00:34:20.199 --> 00:34:21.280
<v Speaker 2>with folks so exactly.

708
00:34:21.519 --> 00:34:24.480
<v Speaker 1>Yeah, you know, the social aspect of it. We we

709
00:34:24.800 --> 00:34:26.880
<v Speaker 1>you know, talked about it as being good, but it

710
00:34:27.039 --> 00:34:30.000
<v Speaker 1>really is good. I mean, we can't dismiss that as

711
00:34:30.159 --> 00:34:34.719
<v Speaker 1>a benefit a small benefit. It's a huge benefit. I mean,

712
00:34:34.880 --> 00:34:38.119
<v Speaker 1>you have people that connect with each other are more

713
00:34:38.199 --> 00:34:42.079
<v Speaker 1>happy in general. Well, and if they're more happy, then

714
00:34:42.119 --> 00:34:44.920
<v Speaker 1>they're going to be more productive and gonna want to

715
00:34:45.239 --> 00:34:45.920
<v Speaker 1>solve problems.

716
00:34:46.079 --> 00:34:48.840
<v Speaker 2>Teams that trust each other are more productive. Yeah, because

717
00:34:48.880 --> 00:34:52.119
<v Speaker 2>it resolves arguments faster. If I trust it, you're smart

718
00:34:52.199 --> 00:34:54.800
<v Speaker 2>and good at what you do. When you disagree with me,

719
00:34:55.159 --> 00:34:57.280
<v Speaker 2>you almost get this, I must have done something wrong,

720
00:34:57.320 --> 00:35:00.239
<v Speaker 2>like what did I miss? Rather than the defensive No,

721
00:35:00.639 --> 00:35:01.719
<v Speaker 2>you know, I know I'm right.

722
00:35:02.239 --> 00:35:02.440
<v Speaker 4>Yeah.

723
00:35:02.639 --> 00:35:05.199
<v Speaker 2>That trust makes those things fast.

724
00:35:05.639 --> 00:35:05.840
<v Speaker 4>Yeah.

725
00:35:05.960 --> 00:35:06.199
<v Speaker 1>I mean.

726
00:35:06.280 --> 00:35:08.400
<v Speaker 5>Also, we have uncovered a couple of techniques that we

727
00:35:08.559 --> 00:35:12.320
<v Speaker 5>use when we notice that we have I wouldn't see

728
00:35:12.320 --> 00:35:15.639
<v Speaker 5>a conflict, but maybe different ideas on how to solve

729
00:35:15.679 --> 00:35:18.840
<v Speaker 5>a problem. So one thing that we've done is that

730
00:35:18.920 --> 00:35:22.760
<v Speaker 5>we've actually split the team up in those cases and

731
00:35:22.880 --> 00:35:25.239
<v Speaker 5>we get to go and sit by ourselves, uh and

732
00:35:25.400 --> 00:35:29.039
<v Speaker 5>maybe draw a bit on a on a PowerPoint or

733
00:35:29.079 --> 00:35:32.000
<v Speaker 5>a Mirro or something like that, draw out your solution,

734
00:35:32.239 --> 00:35:34.599
<v Speaker 5>your idea of how we should do this, and then

735
00:35:34.639 --> 00:35:38.760
<v Speaker 5>we come together and we present those those pictures to

736
00:35:38.800 --> 00:35:42.760
<v Speaker 5>each other. Because when you are remoting and you don't

737
00:35:42.800 --> 00:35:46.280
<v Speaker 5>have the whiteboard just next to you, it can be

738
00:35:46.320 --> 00:35:48.800
<v Speaker 5>a good idea to be able to just sit by

739
00:35:48.840 --> 00:35:51.480
<v Speaker 5>yourself and get get to draw a solution, get to

740
00:35:51.519 --> 00:35:53.440
<v Speaker 5>think about the problem on your own, and then then

741
00:35:53.519 --> 00:35:56.519
<v Speaker 5>come back and talk about how should we solve it together.

742
00:35:56.599 --> 00:36:00.599
<v Speaker 2>It also resists the loudest voice effect to right or

743
00:36:00.639 --> 00:36:02.840
<v Speaker 2>the law. You know, I've often had a talker in

744
00:36:02.920 --> 00:36:04.599
<v Speaker 2>the group where it's like, hey, if I just agree

745
00:36:04.639 --> 00:36:09.239
<v Speaker 2>with you, you stop talking. You know, So to diffuse

746
00:36:09.320 --> 00:36:11.320
<v Speaker 2>that and go okay, everybody, go in your respective corners

747
00:36:11.920 --> 00:36:15.119
<v Speaker 2>and draw out your finish your idea to present back

748
00:36:15.639 --> 00:36:20.199
<v Speaker 2>equalizes the fast talker versus the quieter, more contemplative one.

749
00:36:20.400 --> 00:36:23.880
<v Speaker 2>Like that quiet person if they had thirty minutes to

750
00:36:24.039 --> 00:36:26.320
<v Speaker 2>really round out their idea and then present it with

751
00:36:26.400 --> 00:36:29.039
<v Speaker 2>everybody watching, is going to land better.

752
00:36:29.239 --> 00:36:30.239
<v Speaker 1>That's a great technique.

753
00:36:30.280 --> 00:36:33.159
<v Speaker 2>Well an, that's the you know, the amount of moderation

754
00:36:33.280 --> 00:36:34.840
<v Speaker 2>I've done over the years. It's like, how do I

755
00:36:34.920 --> 00:36:38.440
<v Speaker 2>make sure the quieter, thoughtful person gets heard and to

756
00:36:38.880 --> 00:36:41.199
<v Speaker 2>unplug the mob for a bit and let them go

757
00:36:41.360 --> 00:36:43.880
<v Speaker 2>and do that and then come back and everybody gets

758
00:36:43.920 --> 00:36:45.840
<v Speaker 2>a cycle talk through the ideas.

759
00:36:46.039 --> 00:36:49.440
<v Speaker 1>That's great. You know if in this in another case,

760
00:36:49.719 --> 00:36:53.840
<v Speaker 1>you might have three different ways to achieve the same thing,

761
00:36:54.840 --> 00:36:56.880
<v Speaker 1>and so rather than you know, and it could be

762
00:36:56.960 --> 00:37:00.400
<v Speaker 1>something relatively simple. So rather than have everybody go through

763
00:37:00.440 --> 00:37:03.559
<v Speaker 1>all three of those potential solutions all at once, you

764
00:37:03.760 --> 00:37:07.360
<v Speaker 1>have them split up for say an hour. All Right,

765
00:37:07.440 --> 00:37:09.159
<v Speaker 1>you try it this way, you try it that way,

766
00:37:09.199 --> 00:37:11.840
<v Speaker 1>you try it this way, and then we'll come make off. Yeah,

767
00:37:11.960 --> 00:37:14.159
<v Speaker 1>bake off. Right. You don't want to spend too much

768
00:37:14.199 --> 00:37:17.199
<v Speaker 1>time doing that, but you can where if you're starting

769
00:37:17.519 --> 00:37:20.679
<v Speaker 1>as a group. But if you're not starting as a group,

770
00:37:20.880 --> 00:37:23.480
<v Speaker 1>then you don't have those options. No, you might have it.

771
00:37:23.840 --> 00:37:25.840
<v Speaker 2>It might have happened privately in each room and only

772
00:37:25.880 --> 00:37:28.199
<v Speaker 2>find out an integration with people spent two weeks on it,

773
00:37:28.599 --> 00:37:31.679
<v Speaker 2>right right, to spend a couple of hours spiking it

774
00:37:32.039 --> 00:37:34.679
<v Speaker 2>and then bring the code. I mean three people go

775
00:37:34.800 --> 00:37:37.159
<v Speaker 2>off to write that code in different ways. One of

776
00:37:37.199 --> 00:37:39.039
<v Speaker 2>them's going to come back O Okay, my idea wasn't

777
00:37:39.039 --> 00:37:41.000
<v Speaker 2>that good when I actually tried to code, like nope,

778
00:37:41.920 --> 00:37:44.119
<v Speaker 2>And then the other two to come back with different approaches,

779
00:37:44.159 --> 00:37:46.719
<v Speaker 2>and it's like, okay, well let's put some insutation around this,

780
00:37:46.800 --> 00:37:49.360
<v Speaker 2>spend it up. What are we looking at? And I'll

781
00:37:49.400 --> 00:37:51.639
<v Speaker 2>bet you none of them are correct, like all of them.

782
00:37:51.679 --> 00:37:54.320
<v Speaker 2>It's like, hey, the way you did that instrumentation was

783
00:37:54.360 --> 00:37:55.960
<v Speaker 2>better than the way I did it. My code may

784
00:37:56.039 --> 00:37:58.440
<v Speaker 2>be fast, but you measure better, Like, let's borrow from

785
00:37:58.519 --> 00:38:00.679
<v Speaker 2>each other and you get a better result. I just

786
00:38:00.760 --> 00:38:02.480
<v Speaker 2>think about how people feel at the end of the

787
00:38:02.559 --> 00:38:03.880
<v Speaker 2>day after an experience like that.

788
00:38:04.199 --> 00:38:06.920
<v Speaker 4>Yeah, it's much more fun you something together.

789
00:38:07.159 --> 00:38:09.119
<v Speaker 1>Yeah, I feel like I've been at recess one day

790
00:38:09.159 --> 00:38:10.760
<v Speaker 1>with my friends in grammar school, you know.

791
00:38:10.880 --> 00:38:13.679
<v Speaker 2>But also heard also took it out for a spin.

792
00:38:14.280 --> 00:38:18.719
<v Speaker 2>Also got affirmed like that's pretty cool, and I never

793
00:38:18.800 --> 00:38:20.920
<v Speaker 2>thought of it that way. We're not doing it that way,

794
00:38:20.960 --> 00:38:25.480
<v Speaker 2>but that was pretty cool. Yeah, that seems very positive.

795
00:38:25.719 --> 00:38:29.679
<v Speaker 2>So many positive elements to this versus now you know,

796
00:38:29.800 --> 00:38:32.199
<v Speaker 2>this oscillation between working independently and trying to integrate.

797
00:38:32.280 --> 00:38:34.280
<v Speaker 5>Well, so touching on the thing that people are going

798
00:38:34.320 --> 00:38:37.079
<v Speaker 5>to be noticing if they try OUTMA programming, they are

799
00:38:37.159 --> 00:38:39.920
<v Speaker 5>going to be noticing personal conflicts in a way that

800
00:38:40.039 --> 00:38:43.920
<v Speaker 5>you didn't have before because you're used to maybe if

801
00:38:43.960 --> 00:38:47.320
<v Speaker 5>you had a different opinions in a meeting, you would

802
00:38:47.360 --> 00:38:50.000
<v Speaker 5>split up and then go to different desks, right, but

803
00:38:50.199 --> 00:38:52.760
<v Speaker 5>here you're sort of you get stuck in that those

804
00:38:52.800 --> 00:38:55.920
<v Speaker 5>different opinions. You're stuck in that moment of Okay, we're

805
00:38:55.960 --> 00:38:58.719
<v Speaker 5>not agreeing, we have to solve this, and you're going.

806
00:38:58.639 --> 00:38:59.360
<v Speaker 4>To be stuck in that.

807
00:39:01.360 --> 00:39:01.519
<v Speaker 1>Right.

808
00:39:01.639 --> 00:39:04.000
<v Speaker 4>Yeah. Different, So maybe you will notice.

809
00:39:03.800 --> 00:39:07.079
<v Speaker 5>That your retrospectives might be a bit less about how

810
00:39:07.159 --> 00:39:10.360
<v Speaker 5>do we have a faster stand up and more of okay, so,

811
00:39:11.079 --> 00:39:14.320
<v Speaker 5>how should we handle when we have different opinions?

812
00:39:14.519 --> 00:39:15.199
<v Speaker 4>What should we do?

813
00:39:15.519 --> 00:39:18.679
<v Speaker 1>It's not just that, but personality type clashes. Yes, Like

814
00:39:18.840 --> 00:39:22.400
<v Speaker 1>if you're not emotionally intelligent enough to realize that, oh,

815
00:39:23.079 --> 00:39:26.159
<v Speaker 1>that person is the direct opposite of me on the

816
00:39:27.079 --> 00:39:31.440
<v Speaker 1>the Carl Jung's spectrum or the Myers Briggs scale or

817
00:39:31.480 --> 00:39:34.760
<v Speaker 1>whatever you want to use, and you're not smart enough

818
00:39:34.800 --> 00:39:38.159
<v Speaker 1>to know that, all right, well, you know I have

819
00:39:38.360 --> 00:39:41.760
<v Speaker 1>to read past the body language and all of that

820
00:39:41.920 --> 00:39:45.039
<v Speaker 1>other stuff that I'm taking in as information and just

821
00:39:45.159 --> 00:39:48.320
<v Speaker 1>get to what they're saying. Yeah, yeah, that can be tough.

822
00:39:48.559 --> 00:39:50.519
<v Speaker 5>Yes, I think you will grow as a person in

823
00:39:50.599 --> 00:39:53.960
<v Speaker 5>that sense because you will have to to learn about

824
00:39:54.000 --> 00:39:58.719
<v Speaker 5>other people's personalities. Sure, a bit more and maybe there

825
00:39:58.880 --> 00:40:02.800
<v Speaker 5>to say I feel like comfortable when you're interrupting me,

826
00:40:04.599 --> 00:40:07.960
<v Speaker 5>can I please speak things like that that might come

827
00:40:08.039 --> 00:40:11.480
<v Speaker 5>up to the surface in a way that wouldn't come

828
00:40:11.559 --> 00:40:13.639
<v Speaker 5>up to the surface when you don't have to stick

829
00:40:13.679 --> 00:40:14.199
<v Speaker 5>in the moment.

830
00:40:14.599 --> 00:40:14.800
<v Speaker 4>Sure.

831
00:40:15.159 --> 00:40:19.840
<v Speaker 2>Yeah, I keep thinking back to who is the politician said?

832
00:40:19.880 --> 00:40:21.960
<v Speaker 2>Can I finish root?

833
00:40:22.280 --> 00:40:24.800
<v Speaker 1>There you goanage.

834
00:40:25.039 --> 00:40:27.159
<v Speaker 2>But you know, I think and you also will have

835
00:40:27.360 --> 00:40:30.239
<v Speaker 2>refereeing type personalities in there. It's like, wait, let's hear

836
00:40:30.320 --> 00:40:32.559
<v Speaker 2>this out. Yeah, I mean it gets challenging when you

837
00:40:32.559 --> 00:40:35.079
<v Speaker 2>get in a situation where we disagree on this. Somebody

838
00:40:35.119 --> 00:40:37.239
<v Speaker 2>wants to spite the code. The other one's like, why

839
00:40:37.480 --> 00:40:39.920
<v Speaker 2>we don't need to do this, Let's get moving on.

840
00:40:40.360 --> 00:40:44.119
<v Speaker 2>It's different people are different pacing. So but I think

841
00:40:44.719 --> 00:40:46.639
<v Speaker 2>he speaks Now I'm thinking in terms of it has

842
00:40:46.679 --> 00:40:48.760
<v Speaker 2>to be an uneed even number, so you don't end

843
00:40:48.840 --> 00:40:50.320
<v Speaker 2>up with a perfect splint on any position.

844
00:40:50.599 --> 00:40:52.480
<v Speaker 4>Yeah, it does help to have that.

845
00:40:53.119 --> 00:40:57.519
<v Speaker 2>Yeah, three or five, four would be problematic. Yeah, because

846
00:40:57.599 --> 00:40:59.880
<v Speaker 2>you will have that schism. So yeah, better to have

847
00:41:00.079 --> 00:41:02.880
<v Speaker 2>it and even split, so at least you can get

848
00:41:02.920 --> 00:41:07.760
<v Speaker 2>a sense of, well, the majority disagrees with you, wethough

849
00:41:07.760 --> 00:41:10.360
<v Speaker 2>hopefully they do that kindness. There's got to be a

850
00:41:10.400 --> 00:41:12.159
<v Speaker 2>lot of kindness in this. You're going to be successful.

851
00:41:12.199 --> 00:41:14.000
<v Speaker 2>It speaks to certain set of personalities.

852
00:41:14.320 --> 00:41:21.159
<v Speaker 1>Yes, indeed, challenges besides the things that we've talked about. Obviously,

853
00:41:21.480 --> 00:41:26.400
<v Speaker 1>I've brought up pushback potential, you know a few things

854
00:41:26.440 --> 00:41:29.920
<v Speaker 1>that you need to be kind of understand before you

855
00:41:30.000 --> 00:41:34.199
<v Speaker 1>pitch this kind of thing. But what are some challenges

856
00:41:34.599 --> 00:41:37.320
<v Speaker 1>or potential pitfalls that people could fall into that we

857
00:41:37.440 --> 00:41:38.480
<v Speaker 1>haven't already talked about.

858
00:41:39.239 --> 00:41:42.679
<v Speaker 5>I find a typical one that I've heard is when

859
00:41:42.719 --> 00:41:47.079
<v Speaker 5>people go, this work is not suitable for more programming.

860
00:41:47.559 --> 00:41:47.960
<v Speaker 1>Interesting.

861
00:41:48.719 --> 00:41:51.559
<v Speaker 5>Yeah, so you're doing a lot of more work and

862
00:41:51.679 --> 00:41:54.719
<v Speaker 5>then things get difficult. Maybe it's a bug that you're

863
00:41:54.760 --> 00:41:58.800
<v Speaker 5>supposed to troubleshoot, and you're a bit stressed out, and

864
00:41:58.880 --> 00:42:02.119
<v Speaker 5>then it gets a it gets difficult, and then your

865
00:42:02.239 --> 00:42:07.280
<v Speaker 5>instinct will be to retract from the difficult moment. And

866
00:42:07.400 --> 00:42:10.440
<v Speaker 5>so people have lots of opinions on this work is

867
00:42:10.519 --> 00:42:15.519
<v Speaker 5>not suitable for mobbing, And I think.

868
00:42:16.199 --> 00:42:18.199
<v Speaker 2>Is there work that's not suitable for mobbing?

869
00:42:18.760 --> 00:42:25.639
<v Speaker 5>Possibly if you're doing something very repetitive like putting changing

870
00:42:25.800 --> 00:42:28.280
<v Speaker 5>all the lines in a two hundred and fifty row file,

871
00:42:28.440 --> 00:42:29.639
<v Speaker 5>maybe something like that, that just.

872
00:42:29.679 --> 00:42:31.440
<v Speaker 2>Means that the rest of the mob is bored. The

873
00:42:31.639 --> 00:42:34.320
<v Speaker 2>typers typing as fast as they can as opposed to

874
00:42:34.960 --> 00:42:37.119
<v Speaker 2>like you, if you've got three people who can and

875
00:42:37.199 --> 00:42:41.320
<v Speaker 2>agree on something that seems very marveable, because otherwise you

876
00:42:41.320 --> 00:42:43.599
<v Speaker 2>would have found out the disagreement after the code was

877
00:42:43.599 --> 00:42:44.199
<v Speaker 2>already written.

878
00:42:44.639 --> 00:42:49.079
<v Speaker 5>Yeah, but I think situations where you are typically troubleshooting

879
00:42:49.119 --> 00:42:50.760
<v Speaker 5>situations are a bit more difficult.

880
00:42:50.960 --> 00:42:55.159
<v Speaker 4>Interesting, So what typically ends up? And this is so funny.

881
00:42:56.519 --> 00:42:59.840
<v Speaker 5>Had a colleague was a senior developer, Like we all

882
00:43:00.000 --> 00:43:02.360
<v Speaker 5>looked up to him, and he had really good solutions

883
00:43:02.400 --> 00:43:05.000
<v Speaker 5>every time. And at one point in time someone asks

884
00:43:05.039 --> 00:43:08.400
<v Speaker 5>him like, okay, so, in your opinion, what makes a

885
00:43:08.480 --> 00:43:12.679
<v Speaker 5>senior developer? And his answer was someone who reads the

886
00:43:12.800 --> 00:43:18.159
<v Speaker 5>error messages that Yeah. I was like, surely that can

887
00:43:18.639 --> 00:43:20.480
<v Speaker 5>That can't be the level that we're holding people out.

888
00:43:20.760 --> 00:43:23.559
<v Speaker 5>But if you look around, people not reading error.

889
00:43:23.400 --> 00:43:26.079
<v Speaker 4>Messages often a problem. Yeah.

890
00:43:26.440 --> 00:43:28.119
<v Speaker 5>And so if you did that in a mob situation

891
00:43:28.280 --> 00:43:31.440
<v Speaker 5>where no one actually reads the actual message and everyone

892
00:43:31.519 --> 00:43:35.400
<v Speaker 5>goes like, oh I know what this is yea, and

893
00:43:35.559 --> 00:43:37.960
<v Speaker 5>people have different ideas on what this is is.

894
00:43:40.239 --> 00:43:42.840
<v Speaker 4>And you're a bit stressed because he's a production error.

895
00:43:43.599 --> 00:43:45.679
<v Speaker 2>You let somebody, You let the person on the keyboard

896
00:43:45.760 --> 00:43:48.960
<v Speaker 2>run with their immediate age things, but my off the keyboard,

897
00:43:49.000 --> 00:43:50.800
<v Speaker 2>I would want a copy of that error message and

898
00:43:50.880 --> 00:43:53.679
<v Speaker 2>looking it up, and somebody else is searching through log

899
00:43:53.760 --> 00:43:56.599
<v Speaker 2>saying how often it's happened? Like debugging is a group.

900
00:43:56.679 --> 00:43:59.960
<v Speaker 2>Seems really powerful, but it is, but it's hard.

901
00:44:00.119 --> 00:44:01.119
<v Speaker 4>Oney, hour a bit stressed.

902
00:44:01.320 --> 00:44:04.519
<v Speaker 1>Yeah, yeah, I can see. Another challenge would be people

903
00:44:04.559 --> 00:44:08.440
<v Speaker 1>who think slower than other people. So take my wife

904
00:44:08.480 --> 00:44:12.119
<v Speaker 1>and I playing a game, for example, she can figure

905
00:44:12.159 --> 00:44:14.800
<v Speaker 1>out we play a logic game, right, and she figures

906
00:44:14.800 --> 00:44:17.119
<v Speaker 1>stuff out way before I do because I'm a programmer, right,

907
00:44:17.119 --> 00:44:21.519
<v Speaker 1>I'm methodical. All right, apply this rule, eliminate these possibilities.

908
00:44:21.519 --> 00:44:24.239
<v Speaker 1>Apply that rule, and she's like, it's there, you idiot.

909
00:44:25.360 --> 00:44:34.119
<v Speaker 2>You so, But mixing intuitive and logical processing often builds

910
00:44:34.159 --> 00:44:37.559
<v Speaker 2>great results. Yeah, you know, as long as everyone's got

911
00:44:37.559 --> 00:44:40.480
<v Speaker 2>a little patience for each other. I'm coming at this

912
00:44:40.519 --> 00:44:43.360
<v Speaker 2>from an administrator's perspective, where we've been firefighting. It four

913
00:44:43.400 --> 00:44:46.800
<v Speaker 2>of us firefighting an outage, often remote, you know, with

914
00:44:46.880 --> 00:44:49.800
<v Speaker 2>an IRC channel open, which ends up being a record

915
00:44:49.840 --> 00:44:53.280
<v Speaker 2>of us actually diagnosing the problem. And the joke is

916
00:44:53.320 --> 00:44:55.239
<v Speaker 2>every time it's like, hey, it was a six hour outage.

917
00:44:55.239 --> 00:44:58.119
<v Speaker 2>It took us one hour detect it, four hours to

918
00:44:58.239 --> 00:45:01.239
<v Speaker 2>diagnose it, and fifteen minutes to implement the fixing, get

919
00:45:01.239 --> 00:45:03.239
<v Speaker 2>it up and running again, and then another hour to

920
00:45:03.320 --> 00:45:08.960
<v Speaker 2>write it up. But everything is about diagnostics. But having

921
00:45:09.039 --> 00:45:12.760
<v Speaker 2>multiple eyes on logs and searches and so forth made

922
00:45:12.760 --> 00:45:14.320
<v Speaker 2>a huge difference for us. I never thought of it

923
00:45:14.360 --> 00:45:17.760
<v Speaker 2>as mobbing, you know, because we weren't acssarily creating anything.

924
00:45:17.800 --> 00:45:19.719
<v Speaker 2>We were just trying to put out a fire. Yeah,

925
00:45:20.000 --> 00:45:22.920
<v Speaker 2>but you know, the big rule repeating to ourselves is like,

926
00:45:23.039 --> 00:45:27.480
<v Speaker 2>don't make the hole deeper. If you're going to make

927
00:45:27.519 --> 00:45:30.039
<v Speaker 2>a change, you know what change you've made in how

928
00:45:30.079 --> 00:45:32.679
<v Speaker 2>to revert it. So, you know, often we get it

929
00:45:32.760 --> 00:45:34.880
<v Speaker 2>back up, but we've mangled six things trying to get

930
00:45:34.920 --> 00:45:37.719
<v Speaker 2>it back up because we didn't actually fully diagnose the problem.

931
00:45:38.039 --> 00:45:39.719
<v Speaker 5>And I think that's one of the situations where people

932
00:45:40.960 --> 00:45:43.519
<v Speaker 5>but it's common that people sometimes do I few them

933
00:45:43.559 --> 00:45:47.280
<v Speaker 5>up perming from time to time. They can the teams

934
00:45:47.280 --> 00:45:49.440
<v Speaker 5>can go okay, so this is really important to get right.

935
00:45:49.519 --> 00:45:52.800
<v Speaker 5>Let's do this thing together, or this is an actual outage,

936
00:45:52.880 --> 00:45:57.639
<v Speaker 5>let's do that together. But maybe they're not revert to

937
00:45:57.760 --> 00:45:59.519
<v Speaker 5>it when it comes to normal work.

938
00:45:59.760 --> 00:46:02.960
<v Speaker 2>Is to do a periodic mob programming with a team,

939
00:46:03.480 --> 00:46:07.079
<v Speaker 2>maybe as a transition from the from traditional styles.

940
00:46:07.639 --> 00:46:09.880
<v Speaker 5>I think A common one which is pretty good is

941
00:46:10.199 --> 00:46:14.719
<v Speaker 5>onboarding team members. Right, that's a good place to start

942
00:46:14.760 --> 00:46:15.599
<v Speaker 5>if you're in.

943
00:46:15.599 --> 00:46:18.840
<v Speaker 2>The mob and the mom help them big up, build

944
00:46:18.840 --> 00:46:21.480
<v Speaker 2>out their configuration, and get to check in able code.

945
00:46:22.639 --> 00:46:25.039
<v Speaker 2>Always my threshold for how many days after we hire

946
00:46:25.079 --> 00:46:27.480
<v Speaker 2>someone can they are they capable of checking in code.

947
00:46:27.840 --> 00:46:30.280
<v Speaker 2>It's not about their programming ability, it's about understanding the

948
00:46:30.320 --> 00:46:33.079
<v Speaker 2>infrastructure well enough to have gotten to the point where

949
00:46:33.079 --> 00:46:34.639
<v Speaker 2>their code can be checked in and pulled into this

950
00:46:34.840 --> 00:46:37.719
<v Speaker 2>into the pipeline. Yeah, doing that as a mob would

951
00:46:37.760 --> 00:46:40.320
<v Speaker 2>be more fun, But I'd love this statement you said, like,

952
00:46:40.400 --> 00:46:42.840
<v Speaker 2>this code's too important to do individually, so we'll do

953
00:46:42.920 --> 00:46:46.639
<v Speaker 2>it as a group. It's like, isn't all code that important?

954
00:46:48.000 --> 00:46:50.199
<v Speaker 2>As soon as you can say that, then it's like, oh,

955
00:46:50.239 --> 00:46:52.559
<v Speaker 2>this code is stupid. Let one person work on it.

956
00:46:53.039 --> 00:46:55.760
<v Speaker 1>Do you transcribe these sessions and refer back to those

957
00:46:55.800 --> 00:46:57.760
<v Speaker 1>transcripts when you have issues?

958
00:46:58.559 --> 00:46:59.559
<v Speaker 4>No, we haven't done that.

959
00:47:00.719 --> 00:47:04.039
<v Speaker 5>We can some transcry to summarize it, because it's good

960
00:47:04.119 --> 00:47:06.840
<v Speaker 5>to know why I did with this actually happen mm hmm,

961
00:47:07.800 --> 00:47:09.559
<v Speaker 5>But we haven't had any transcription so far.

962
00:47:09.880 --> 00:47:12.840
<v Speaker 2>Although let's face it, with a new ll M technology

963
00:47:12.880 --> 00:47:17.119
<v Speaker 2>of the things. Transcription has gotten way easier, transition and summarization. Yeah,

964
00:47:17.239 --> 00:47:19.880
<v Speaker 2>you know, if you're paying for the premium version of

965
00:47:20.000 --> 00:47:23.360
<v Speaker 2>teams that comes in the box now with with copil,

966
00:47:23.519 --> 00:47:27.199
<v Speaker 2>with M three ct I copilot, that every imagine every

967
00:47:28.639 --> 00:47:32.480
<v Speaker 2>you know, six seven hour programming session. At the end

968
00:47:32.519 --> 00:47:35.519
<v Speaker 2>of it, you get an everybody gets an email saying

969
00:47:35.519 --> 00:47:37.039
<v Speaker 2>this is what you did today. I don't know how

970
00:47:37.119 --> 00:47:39.719
<v Speaker 2>high quality that would be, but that's the tools we

971
00:47:39.800 --> 00:47:44.360
<v Speaker 2>have now, Like it's peaks to the whole other elevation. Interesting,

972
00:47:45.199 --> 00:47:46.880
<v Speaker 2>this may actually be getting easier.

973
00:47:47.719 --> 00:47:51.920
<v Speaker 1>Yeah, all right, So have we left any stone unturned?

974
00:47:52.320 --> 00:47:55.840
<v Speaker 1>Is there anything else that you want to talk about now?

975
00:47:56.000 --> 00:47:58.719
<v Speaker 5>I think I think with the most important thing for

976
00:47:58.840 --> 00:48:02.599
<v Speaker 5>me is how how I feel like while we're doing

977
00:48:02.719 --> 00:48:03.360
<v Speaker 5>knowledge work.

978
00:48:03.719 --> 00:48:05.360
<v Speaker 4>I think that's what we should optimize for.

979
00:48:06.920 --> 00:48:09.960
<v Speaker 5>And a knowledge work is about its about knowledge sharing

980
00:48:11.400 --> 00:48:13.960
<v Speaker 5>and learning new things and helping each other grow and

981
00:48:15.119 --> 00:48:17.639
<v Speaker 5>learning from each other. So I think I think my

982
00:48:17.800 --> 00:48:21.960
<v Speaker 5>programming is is the best fit for that, and to me,

983
00:48:22.079 --> 00:48:24.800
<v Speaker 5>it feels like it should be the normal, the normal

984
00:48:24.840 --> 00:48:27.880
<v Speaker 5>way working the team. And then there could be situations

985
00:48:27.920 --> 00:48:32.679
<v Speaker 5>where you could go for individual or solo work in

986
00:48:32.760 --> 00:48:35.880
<v Speaker 5>certain situations, perhaps, but I think the normal should be

987
00:48:37.599 --> 00:48:38.440
<v Speaker 5>working as a team.

988
00:48:38.559 --> 00:48:40.079
<v Speaker 1>M h. Great stuff.

989
00:48:40.239 --> 00:48:42.440
<v Speaker 2>So are there resources you point people to for this?

990
00:48:42.559 --> 00:48:47.360
<v Speaker 5>Alrica, I would say Woody is all the book. Software

991
00:48:47.400 --> 00:48:50.880
<v Speaker 5>teaming would be a good a good place.

992
00:48:52.320 --> 00:48:55.440
<v Speaker 1>What's next for you? What's in your inbox? H oh?

993
00:48:55.679 --> 00:48:57.599
<v Speaker 4>We are going to be.

994
00:48:59.079 --> 00:49:01.880
<v Speaker 5>Continuing on a sourcing so I was listening to your

995
00:49:02.119 --> 00:49:03.599
<v Speaker 5>last episode just today.

996
00:49:04.599 --> 00:49:06.480
<v Speaker 4>Yeah, so that's gonna be fun.

997
00:49:06.639 --> 00:49:10.159
<v Speaker 1>Yep. Good well. Thank you for bringing this topic back

998
00:49:10.280 --> 00:49:12.559
<v Speaker 1>to dot net rocks. It's been great and it's good

999
00:49:12.599 --> 00:49:15.480
<v Speaker 1>to hear that you're being successful with it, and I

1000
00:49:15.639 --> 00:49:19.960
<v Speaker 1>hope some of our listeners are also thinking about doing this.

1001
00:49:20.239 --> 00:49:22.599
<v Speaker 1>It's good stuff. Thank you, Thank you all right, and

1002
00:49:22.639 --> 00:49:25.360
<v Speaker 1>we'll talk to you next time on dot net rocks.

1003
00:49:46.159 --> 00:49:48.679
<v Speaker 1>Dot net Rocks is brought to you by Franklin's Net

1004
00:49:48.960 --> 00:49:52.880
<v Speaker 1>and produced by Pop Studios, a full service audio, video

1005
00:49:53.000 --> 00:49:57.000
<v Speaker 1>and post production facility located physically in New London, Connecticut,

1006
00:49:57.320 --> 00:50:01.519
<v Speaker 1>and of course in the cloud online it wop dot com.

1007
00:50:02.320 --> 00:50:04.360
<v Speaker 1>Visit our website at d O T N E t

1008
00:50:04.679 --> 00:50:08.679
<v Speaker 1>R O c k S dot com for RSS feeds, downloads,

1009
00:50:08.880 --> 00:50:12.519
<v Speaker 1>mobile apps, comments, and access to the full archives. Going

1010
00:50:12.599 --> 00:50:15.960
<v Speaker 1>back to show number one recorded in September two thousand

1011
00:50:16.000 --> 00:50:18.599
<v Speaker 1>and two. And make sure you check out our sponsors.

1012
00:50:18.800 --> 00:50:21.599
<v Speaker 1>They keep us in business. Now go write some code.

1013
00:50:22.159 --> 00:50:25.559
<v Speaker 1>See you next time. You got J Middle Vans

1014
00:50:27.760 --> 00:50:27.800
<v Speaker 4>And
