1
00:00:00,000 --> 00:00:07,120
I was reading one of your posts about code owners and you have an aside in there that the code owners file is basically lawful neutral.

2
00:00:07,380 --> 00:00:10,800
And I was thinking like I was I was trying to think about what is it? What does that mean?

3
00:00:10,800 --> 00:00:21,400
And so, you know, I went to go. Well, I mean, I know where it comes from, but like it's when you think about Dungeons and Dragons alignment, things aside from the extreme ends, things get a little confusing.

4
00:00:21,640 --> 00:00:26,300
I think I think everyone knows what lawful good is. Neutral is a little confusing.

5
00:00:26,640 --> 00:00:31,280
You know what chaotic good is, the one that everyone chooses. And you know what what chaotic evil is.

6
00:00:31,540 --> 00:00:34,680
Yes. And and like everything else is kind of up to interpretation.

7
00:00:34,680 --> 00:00:40,000
And so like I was realizing lawful neutral is maybe the most confusing one.

8
00:00:40,580 --> 00:00:44,440
And so like like what is your understanding of what lawful neutral is?

9
00:00:45,520 --> 00:00:52,640
Yeah, I guess like in the context of code owners, it's like having the file there is a neutral thing.

10
00:00:52,920 --> 00:00:55,760
It's like lawful, right? There's no.

11
00:00:56,000 --> 00:00:56,840
It follows the rules.

12
00:00:57,380 --> 00:01:02,860
Yeah, it follows the rules and it's not in and of itself good nor evil.

13
00:01:03,660 --> 00:01:04,660
It's just there.

14
00:01:05,880 --> 00:01:12,080
But it's all about the implementation and what you choose to do with it that takes it somewhere else.

15
00:01:13,420 --> 00:01:18,420
And, you know, I've seen teams use code owners as a form of documentation and that's all it is.

16
00:01:18,520 --> 00:01:18,820
Great.

17
00:01:20,120 --> 00:01:28,060
I've also seen teams don't they don't let anything get merged unless you have, you know, two reviews from someone in the code owners file.

18
00:01:31,200 --> 00:01:34,760
Those teams are generally a little less healthy in my observation.

19
00:01:34,760 --> 00:01:51,760
So I don't think I don't think inherently, you know, the idea of a code owners file where you're listing out, hey, this person has the most subject matter expertise about this thing or they're responsible for this component because we can dig into some like team topologies sorts of things and cognitive load.

20
00:01:51,760 --> 00:01:58,320
And, you know, is it a best practice to limit the surface area that a group of developers should cover?

21
00:01:58,580 --> 00:02:00,180
I think that's an interesting conversation.

22
00:02:00,180 --> 00:02:02,920
And I think that ties into the idea of code owners.

23
00:02:03,620 --> 00:02:11,680
But I think the way code owners is often applied is like, I'm blocking you because this is my shiny thing and I don't want you touching it.

24
00:02:12,040 --> 00:02:14,440
And that would get you more towards the evil.

25
00:02:14,800 --> 00:02:14,980
Right.

26
00:02:15,020 --> 00:02:19,940
Because in the Dungeons and Dragons alignment system, evil means selfish.

27
00:02:19,940 --> 00:02:27,240
I think it's basically like it means kind of guarding, trying to drive your own value at the expense of others.

28
00:02:27,600 --> 00:02:28,760
This is my cave.

29
00:02:28,920 --> 00:02:29,780
These are my resources.

30
00:02:29,960 --> 00:02:30,700
Please do not enter.

31
00:02:31,380 --> 00:02:31,640
Yeah.

32
00:02:31,800 --> 00:02:31,900
Yeah.

33
00:02:32,740 --> 00:02:36,600
I do see we have just over your shoulder the same D&D set.

34
00:02:37,180 --> 00:02:37,500
That's right.

35
00:02:37,500 --> 00:02:39,100
I have that one right there, right back there.

36
00:02:39,340 --> 00:02:41,000
So I'm glad that we're in good company.

37
00:02:41,060 --> 00:02:42,300
We can talk about these things.

38
00:02:42,540 --> 00:02:42,960
That's right.

39
00:02:42,960 --> 00:02:45,740
Hence, when I came across that, I was like, oh, this is interesting.

40
00:02:45,960 --> 00:02:46,920
Something to pick up on.

41
00:02:47,280 --> 00:03:01,720
I mean, I think just to close out my commentary on that, when I was thinking about it, it made me realize that there's – that's the issue with the alignment system is it doesn't – it has very simplistic understandings of moralistic behavior.

42
00:03:02,420 --> 00:03:05,120
And so, like, you know, it doesn't – there's not really a lot of latitude.

43
00:03:05,240 --> 00:03:20,700
You know, if you're in some sort of societal system in the Dungeons & Dragons world and you are following the rules to it, but those rules were kind of, like, cruel, that doesn't necessarily mean that you're evil because you could think that they're good and you're following the right way of doing things.

44
00:03:20,880 --> 00:03:21,420
So, like, it's very –

45
00:03:21,420 --> 00:03:21,940
That is true.

46
00:03:21,960 --> 00:03:22,920
It gets kind of confusing.

47
00:03:23,420 --> 00:03:24,780
It does get a little dicey in there.

48
00:03:24,780 --> 00:03:35,200
I wonder what it would be like to kind of list out all of these, you know, methodologies for measuring developer productivity or developer performance on that matrix as well.

49
00:03:36,540 --> 00:03:54,680
Because, yeah, I think there's going to be a – I think there's definitely – and maybe that's actually a nice way to describe it is, like, from the stance of the business, which metrics and ways of measurements are selfish for the business because they have something to gain from keeping tabs on everything versus what is really empowering for the developer and gives up control.

50
00:03:54,680 --> 00:03:56,400
From the business side of things.

51
00:03:56,980 --> 00:03:57,300
Yeah.

52
00:03:57,300 --> 00:04:00,540
I think that's a whole – I think that's an interesting conference talk.

53
00:04:00,700 --> 00:04:01,540
I'll just put that out there.

54
00:04:01,640 --> 00:04:01,920
Anyone?

55
00:04:02,280 --> 00:04:07,000
And I think the perspective you brought into it is good, too, right?

56
00:04:07,080 --> 00:04:15,800
Like, the – it's really – when it comes to metrics, it's the alignment of the people who use them that really matters more than the people who are being measured by them.

57
00:04:16,660 --> 00:04:24,420
And, you know, I mean, that's, like – so, we were – you wrote some stuff recently about, like, technical debt.

58
00:04:24,580 --> 00:04:30,780
Or, you know, there's all sorts of words around it, like, you know, managing your legacy software and things like that.

59
00:04:30,780 --> 00:04:47,620
And as you're getting to, right, like, what I find interesting and what you were writing about in the technical debt sort of conversation is, again, that perspective of not necessarily the teams or the developers who are dealing with it.

60
00:04:47,620 --> 00:04:51,760
Because I feel like they know, right?

61
00:04:51,900 --> 00:05:05,440
Like, like – but I find what I struggle to live with, what I struggle to kind of comprehend is, like, why – to put it in a silly way, like, why it's an issue.

62
00:05:05,700 --> 00:05:09,080
Like, it seems like such an obvious thing that you would address technical debt.

63
00:05:09,180 --> 00:05:11,520
And yet, it's a huge issue out there.

64
00:05:12,060 --> 00:05:19,180
And I think a lot of what you are addressing is kind of getting to that point of explaining it to people.

65
00:05:20,240 --> 00:05:22,340
Like, kind of letting them think through it.

66
00:05:22,400 --> 00:05:29,360
So, I'm interested to hear you, you know, kind of go over how you explain tech debt to people where it's not immediately obvious to them.

67
00:05:30,320 --> 00:05:33,180
Yeah, I mean, I think this is all rooted – I don't know.

68
00:05:33,300 --> 00:05:37,140
Can we go back to, like, cavemen era?

69
00:05:37,400 --> 00:05:42,500
Like, this is all rooted in our displeasure with delayed gratification.

70
00:05:43,200 --> 00:05:45,260
Let's get – let's just, like, zoom way out here.

71
00:05:45,820 --> 00:05:52,580
And I think that's the trouble with tech debt is that you would look around and be, like, it's obvious that we should do these things.

72
00:05:52,580 --> 00:05:56,440
But there's something else that's going to give gratification more immediately.

73
00:05:57,680 --> 00:06:07,160
And as humans, that's just always our preference or the tendency of a business is to do the thing that's going to get more immediate gratification.

74
00:06:07,560 --> 00:06:11,780
So, you know, we were talking about how your office is a storage room.

75
00:06:11,920 --> 00:06:14,140
And, of course, I have this nicely manicured backdrop.

76
00:06:14,140 --> 00:06:16,760
But you could see that there's chaos everywhere in here.

77
00:06:16,980 --> 00:06:22,100
I know that I should spend some time tidying up my office.

78
00:06:22,100 --> 00:06:29,660
And it would definitely probably make me think more clearly and, like, be less, you know, less stressful for my life.

79
00:06:29,820 --> 00:06:33,820
But I choose not to do it because I can get gratification by doing something else.

80
00:06:34,320 --> 00:06:34,720
Sure.

81
00:06:35,120 --> 00:06:39,320
And, you know, I think there's a point where my office will become so untidy.

82
00:06:39,320 --> 00:06:46,780
Or if you think about cooking a meal in your kitchen, when you don't have any more pots and pans to cook with, you need to stop and do the dishes.

83
00:06:47,420 --> 00:06:58,220
And if you go into any Michelin-starred restaurant, that kitchen is going to be immaculately clean, just beautiful, regardless of how many people are in the dining room.

84
00:06:59,020 --> 00:07:13,320
And so there's, I think there's definitely some, something to talk about, like human motivation and what we're drawn to, what businesses are drawn to, that makes technical debt something that we know we should do, but something that's easy to put off.

85
00:07:13,520 --> 00:07:30,580
And I think the key to getting it front and center, because it is annoying, it's not fun to live with, is, like, you need to be able to express the value better to the external stakeholders about why this can provide more immediate gratification than building feature X.

86
00:07:31,220 --> 00:07:42,920
Yeah, I mean, I like the avenue you have into this, because, you know, not normally, but, like, one approach would be to start with the financial outcomes, right?

87
00:07:43,020 --> 00:07:44,840
Like, or risk managing it.

88
00:07:45,260 --> 00:07:51,640
But it is, you know, it's always nice to start with a, just like a real life analogy.

89
00:07:52,900 --> 00:08:03,740
I mean, you wouldn't buy a car and never expect to have to rotate the tires or change the oil or work on the engine or charge it or whatever it is that you have to do, right?

90
00:08:04,140 --> 00:08:08,660
Everything comes with a cost of maintenance and everything comes with a cost of operation.

91
00:08:10,400 --> 00:08:14,980
But, yeah, in software, we kind of forget about that sometimes.

92
00:08:15,100 --> 00:08:22,360
Or I think some people that are not coming from a development background don't see that as part of the deal.

93
00:08:22,680 --> 00:08:24,440
When you build something, you've got to maintain it.

94
00:08:25,400 --> 00:08:28,280
Do you think, like, where do you think that comes from?

95
00:08:28,780 --> 00:08:35,940
The, I mean, I don't mean this to sound in a whatever way, but just, like, not understanding the full lifecycle of software?

96
00:08:37,140 --> 00:08:47,280
Yeah, I think, I think there's, I think that there's an education point of view, like a gap that could be closed, certainly.

97
00:08:47,460 --> 00:08:51,460
But I think it's something more, I think it's something deeper than that.

98
00:08:51,540 --> 00:08:55,880
It's just pressures of the business.

99
00:08:56,640 --> 00:09:01,580
I, one of my, I don't, I don't want to call it a hot take because it's not a hot take.

100
00:09:01,580 --> 00:09:08,800
This is just, like, this is the way that I see the world is, like, only successful companies struggle with tech debt.

101
00:09:09,680 --> 00:09:13,740
Only successful teams struggle with having crap in production that they don't want in production.

102
00:09:14,220 --> 00:09:22,920
It means that there was so much pressure on the business that your customers and your users were wanting more that you needed to deliver rapidly.

103
00:09:23,460 --> 00:09:25,600
And you're still around to talk about it.

104
00:09:26,240 --> 00:09:30,200
There's certainly a lot of companies out there that have crap in production that are going to go belly up.

105
00:09:30,540 --> 00:09:33,220
That's, that's, I'm not saying that that doesn't happen.

106
00:09:33,280 --> 00:09:35,760
That does happen in that, I mean, I guess that should happen.

107
00:09:35,840 --> 00:09:37,700
That's the, that's the game we play.

108
00:09:39,160 --> 00:09:44,240
But there's this, like, you know, I talk about always the prototype that ends up in production.

109
00:09:45,160 --> 00:09:48,920
That's not a problem that failing companies have.

110
00:09:50,100 --> 00:09:55,840
Generally, that means that there was enough business pressure and enough demand for whatever it was you're building that you needed to iterate quickly.

111
00:09:55,840 --> 00:09:59,120
And, like, you found something that was working and you just had to run with it.

112
00:09:59,120 --> 00:10:08,060
And you had pressure to build something different or give your customers what they wanted and it ended up with, you know, suboptimal stuff in, in production.

113
00:10:10,060 --> 00:10:13,820
I would also love your take on this because I was reading an article or list.

114
00:10:13,920 --> 00:10:15,100
I think I was listening to a podcast.

115
00:10:15,220 --> 00:10:16,260
I can't remember what it was.

116
00:10:17,280 --> 00:10:22,460
But that tech debt has been miscategorized.

117
00:10:22,460 --> 00:10:27,480
And right now our understanding of it is, like, suboptimal choices that we've had to make to cut corners.

118
00:10:28,200 --> 00:10:35,160
When really the definition of tech debt is, like, building something in the best way but without full understanding of the problem.

119
00:10:35,540 --> 00:10:40,860
And then when the problem fully reveals itself to you, you need to go back and rework what you did before.

120
00:10:42,140 --> 00:10:42,540
Yeah.

121
00:10:42,880 --> 00:10:47,760
That is, like, I like that thinking of it because, you know, kind of as you were saying,

122
00:10:48,420 --> 00:10:52,940
I've tried to think of tech debt and legacy software.

123
00:10:53,200 --> 00:10:54,740
I mean, obviously, I conflate them together.

124
00:10:54,980 --> 00:10:56,940
Or I put them in the same room.

125
00:10:57,160 --> 00:10:57,580
Ah, really?

126
00:10:58,160 --> 00:10:58,740
Yeah, yeah.

127
00:10:58,840 --> 00:11:04,280
And the way that I think about it is I'm always, you know, with my liberal artsy background.

128
00:11:04,420 --> 00:11:07,980
I spend too much time thinking about words and what they mean.

129
00:11:08,440 --> 00:11:14,740
And, like, whenever someone says tech debt or legacy, it means they don't like it.

130
00:11:15,020 --> 00:11:20,380
Like, no one's ever, like, boy, I'm excited to go work on that legacy software.

131
00:11:20,640 --> 00:11:23,980
I have worked with one such developer in my career.

132
00:11:24,300 --> 00:11:25,240
Sorry to interrupt you.

133
00:11:25,400 --> 00:11:25,720
Oh, no, no, no.

134
00:11:25,720 --> 00:11:26,040
Go ahead.

135
00:11:26,500 --> 00:11:33,400
When he told me, he was, like, yeah, you know, just give me that old Rails application and just, like, let me have at it.

136
00:11:33,860 --> 00:11:34,480
Yeah, totally.

137
00:11:35,020 --> 00:11:36,900
I was, like, we need more of you.

138
00:11:37,580 --> 00:11:44,080
Yeah, you know, there's totally that mode you get in where you're just, like, I want to fix stuff, right?

139
00:11:44,140 --> 00:11:46,480
Like, I want to, I like your framing.

140
00:11:46,640 --> 00:11:49,420
I want that gratification of fixing something, right?

141
00:11:49,500 --> 00:11:49,760
Yeah.

142
00:11:49,900 --> 00:11:55,560
Like, I had to replace a, well, we have those silly, we don't, what do you call them?

143
00:11:55,620 --> 00:11:56,480
They're not doorknobs.

144
00:11:56,600 --> 00:11:58,240
They're French handles or whatever.

145
00:11:58,380 --> 00:11:58,520
Oh, yeah.

146
00:11:58,520 --> 00:12:02,200
We got those everywhere, which are terrible when you have a dog because then the dog can go wherever they want.

147
00:12:02,480 --> 00:12:07,520
Like, I'd love to put, I'd love to put knobs in at some point and just confuse the dog, see what happens.

148
00:12:07,780 --> 00:12:10,260
But, so I had to replace one of those.

149
00:12:10,440 --> 00:12:15,120
And, you know, of course, we here in the household are very comfortable with tech debt.

150
00:12:16,160 --> 00:12:20,340
And it lingered for many months and you replace it and you're like, oh, that was wonderful.

151
00:12:20,340 --> 00:12:22,340
And so I imagine there's that gratification.

152
00:12:23,340 --> 00:12:28,340
But, like, you know, I often think when someone talks about legacy software, you know,

153
00:12:28,520 --> 00:12:30,260
they call it that because they don't like it.

154
00:12:30,300 --> 00:12:32,780
Otherwise, they would just call it their software, right?

155
00:12:32,820 --> 00:12:35,780
Like, you put legacy in purposely to say that you dislike it.

156
00:12:35,920 --> 00:12:42,340
But the perspective that you're getting from that I think, and you were getting to this earlier, that I like is,

157
00:12:43,380 --> 00:12:50,260
at some point, this was actually not only good enough, it was the right choice.

158
00:12:50,460 --> 00:12:50,860
Yeah.

159
00:12:51,060 --> 00:13:00,180
So, like, and in fact, having been an application developer a long time ago and, you know, still

160
00:13:00,180 --> 00:13:07,200
talking with a lot of developers, there is a bit of too much perfectionism in the way developers

161
00:13:07,200 --> 00:13:08,140
sometimes think.

162
00:13:08,680 --> 00:13:14,020
And so it could also be the case that, like, what a developer calls tech debt is actually

163
00:13:14,020 --> 00:13:17,020
great to the rest of the organization.

164
00:13:17,020 --> 00:13:23,200
Like, you know, you could think in a different domain where, like, especially for developers,

165
00:13:23,200 --> 00:13:26,780
it's easy to think that meeting could have been an email, right?

166
00:13:26,860 --> 00:13:27,680
Like, things like that.

167
00:13:27,760 --> 00:13:33,240
Whereas, like, if you are the people who's, and I mean this in a positive way, whose job

168
00:13:33,240 --> 00:13:38,260
it is to be in meetings to run the company, you could think, like, no, that meeting was perfect.

169
00:13:38,660 --> 00:13:40,040
That's exactly what we needed.

170
00:13:40,180 --> 00:13:41,380
And so, I don't know.

171
00:13:41,420 --> 00:13:44,840
I mean, I think there's a lot of perspective that comes into play.

172
00:13:44,840 --> 00:13:49,580
Yeah, well, here's the thing, you know, I didn't pay cash for my house.

173
00:13:50,100 --> 00:13:53,400
I took out a loan, as most people do.

174
00:13:54,580 --> 00:14:00,920
Because, you know, sometimes you need to take out a loan in order to be able to do things.

175
00:14:01,060 --> 00:14:06,500
And I think there is an aspect of tech debt that we can kind of directly compare to, like,

176
00:14:06,520 --> 00:14:12,320
a financial transaction where, okay, we need to get to market with this thing, with this

177
00:14:12,320 --> 00:14:16,760
milestone by X, or whatever that time pressure is, or whatever the economic pressure is.

178
00:14:16,760 --> 00:14:24,260
And so, we make a choice to borrow against our future selves in order to expedite whatever

179
00:14:24,260 --> 00:14:25,360
it is we're trying to do.

180
00:14:26,180 --> 00:14:26,200
Yeah.

181
00:14:26,280 --> 00:14:32,200
The thing, though, is I can't just not pay back the interest on my loan.

182
00:14:33,240 --> 00:14:36,400
Yeah, it's obvious, like, what you've got you taking on.

183
00:14:36,420 --> 00:14:40,040
It's obvious the boundaries of that transaction there.

184
00:14:40,220 --> 00:14:41,540
It's like, I'm taking out a loan.

185
00:14:41,700 --> 00:14:49,140
And now, every single month, I'm going to pay back that plus an extra bit of cash, which

186
00:14:49,140 --> 00:14:53,500
is now becoming, you know, not so extra with insurance rates going through the roof.

187
00:14:53,680 --> 00:14:56,860
But it's very obvious that this is an obligation now.

188
00:14:56,940 --> 00:15:03,340
And I'm signing myself up for distributed pain across a longer term in the future in order

189
00:15:03,340 --> 00:15:05,220
to be able to expedite something now.

190
00:15:06,440 --> 00:15:10,500
And I think there are definitely times, and even myself and my own team, teams, I've been

191
00:15:10,500 --> 00:15:13,020
on teams that I've led, we've made a choice to do that.

192
00:15:13,120 --> 00:15:18,800
Because the benefit of what we could get by making that choice outweighed the cost of

193
00:15:18,800 --> 00:15:20,760
having to repay that debt over time.

194
00:15:21,500 --> 00:15:22,080
Yeah, yeah.

195
00:15:22,380 --> 00:15:23,140
Yeah, that's it.

196
00:15:24,040 --> 00:15:30,680
I'm so interested in your, the connection that you have of tech debt and legacy.

197
00:15:31,260 --> 00:15:35,180
Because I always say legacy code is revenue generating code.

198
00:15:35,840 --> 00:15:36,100
For sure.

199
00:15:36,100 --> 00:15:36,780
But you're right.

200
00:15:37,280 --> 00:15:40,800
Like, saying something is legacy is a value judgment in and of itself.

201
00:15:40,800 --> 00:15:42,800
We don't call things that we think are great.

202
00:15:43,120 --> 00:15:43,640
Legacy.

203
00:15:44,060 --> 00:15:47,440
It's always a slightly negative connotation.

204
00:15:48,100 --> 00:15:48,240
Yeah.

205
00:15:48,340 --> 00:15:48,980
And you're right.

206
00:15:49,060 --> 00:15:51,260
It is the, it's the thing that makes the money.

207
00:15:52,040 --> 00:15:52,520
Yeah.

208
00:15:52,520 --> 00:15:53,920
Otherwise, it wouldn't be around, right?

209
00:15:54,180 --> 00:15:54,580
Exactly.

210
00:15:54,840 --> 00:15:55,020
Yeah.

211
00:15:55,140 --> 00:15:55,360
Yeah.

212
00:15:55,800 --> 00:16:02,780
No, and I like the, the idea of, and that's what's intriguing about, you know, like some

213
00:16:02,780 --> 00:16:07,100
of the thoughts you've had about the type of thinking you've had about, we need a way

214
00:16:07,100 --> 00:16:09,920
of quantifying this, this, this technical debt, right?

215
00:16:09,920 --> 00:16:18,240
And it's, it's, it's trying to replicate exactly what you're saying is like you and, and I, you

216
00:16:18,240 --> 00:16:19,340
have to pay the interest.

217
00:16:19,340 --> 00:16:24,140
So you, you know, depending on how much you pay attention to this stuff and you automate

218
00:16:24,140 --> 00:16:27,720
your payments, but whatever, like every month, you know, you're paying interest.

219
00:16:27,720 --> 00:16:31,340
And if you think about it too long, you're like, I'm kind of paying twice as much as

220
00:16:31,340 --> 00:16:31,720
I should.

221
00:16:31,900 --> 00:16:38,380
That's, that's crazy how compounding interest works, but like, but it's, but you're aware

222
00:16:38,380 --> 00:16:41,600
of the cost of what you're doing.

223
00:16:41,600 --> 00:16:48,500
And maybe, maybe, you know, I think one of the frustrating things with tech debt is it's

224
00:16:48,500 --> 00:16:51,780
almost like that cost isn't apparent until it's too late.

225
00:16:51,980 --> 00:16:55,080
And back to what you're saying about, you know, more instant gratification.

226
00:16:55,080 --> 00:17:00,720
It's hard to, if you don't have to pay a bill, it's hard to express to people that there's

227
00:17:00,720 --> 00:17:07,360
a problem and like, and, and the thing I struggle with, with not struggle with, but that I find

228
00:17:07,360 --> 00:17:14,400
unsatisfying about tech debt conversations is when you try to come up with, you know, I'll

229
00:17:14,400 --> 00:17:20,740
use the word anyways, but a fake or a synthetic number that represents that tech debt, because

230
00:17:20,740 --> 00:17:23,620
it's kind of like, yeah, but you just made that up.

231
00:17:24,180 --> 00:17:29,320
And, and like the, the only, the only thing that is maybe hopeful that I can think of is I'm always

232
00:17:29,320 --> 00:17:35,480
very envious of like security people, because I feel like they're dealing with a very similar thing

233
00:17:35,480 --> 00:17:38,480
where they're like, nothing has happened yet, but it could.

234
00:17:39,020 --> 00:17:39,860
But it could, yeah.

235
00:17:39,940 --> 00:17:42,320
And when it does, it's going to be very expensive.

236
00:17:43,000 --> 00:17:43,400
Exactly.

237
00:17:43,520 --> 00:17:45,440
Much less expensive than fixing it now.

238
00:17:45,820 --> 00:17:50,620
And I feel like there's something we could not learn, but expressing the,

239
00:17:50,620 --> 00:17:53,900
the cost of tech debt feels like something similar.

240
00:17:54,060 --> 00:17:55,140
I'm, I'm, I'm not sure.

241
00:17:56,260 --> 00:17:56,360
Yeah.

242
00:17:56,380 --> 00:17:58,700
I think about it in, in a, in a lot of ways.

243
00:17:58,700 --> 00:18:01,380
I think at the end of the day, businesses speak money.

244
00:18:01,720 --> 00:18:07,440
And so if I'm working with a leader, coaching them to try to help advocate for tech debt

245
00:18:07,440 --> 00:18:12,580
project or tech debt time, one of the first things that I actually coach them to do is

246
00:18:12,580 --> 00:18:17,180
to stop using the word tech debt, because to an external stakeholder, to someone that you

247
00:18:17,180 --> 00:18:24,200
need to convince to spend time working on this stuff, tech debt just feels like, well, I don't

248
00:18:24,200 --> 00:18:24,820
like it.

249
00:18:24,820 --> 00:18:26,420
And I want a do over.

250
00:18:27,140 --> 00:18:31,800
It doesn't have great connotation in, uh, in a lot of contexts.

251
00:18:31,800 --> 00:18:34,560
It's hard to understand what's, what's meant by it.

252
00:18:34,560 --> 00:18:36,800
And the business value isn't clear.

253
00:18:37,120 --> 00:18:42,860
I guarantee you every other department, every other person has stuff in their daily working

254
00:18:42,860 --> 00:18:46,860
life that they would love a do over and they don't get to do it because there's business

255
00:18:46,860 --> 00:18:48,180
pressure and they need to move on.

256
00:18:48,780 --> 00:18:55,420
And what can come across as very unfair or even entitled from development teams is when,

257
00:18:55,700 --> 00:19:00,520
when there's this presentation of tech debt of like, well, I know better because I'm in

258
00:19:00,520 --> 00:19:02,160
the code, this is really bothersome.

259
00:19:02,160 --> 00:19:03,140
We need to fix it.

260
00:19:03,200 --> 00:19:04,020
Just trust me.

261
00:19:04,120 --> 00:19:09,420
And we don't expect them to come up with the same metrics, goals, outcomes that we would

262
00:19:09,420 --> 00:19:11,240
expect anyone else in the company.

263
00:19:11,680 --> 00:19:14,660
Um, and that's a disconnect that just needs to be resolved immediately.

264
00:19:14,660 --> 00:19:20,040
If we're going to make progress toward carving out time for these projects that are very important

265
00:19:20,040 --> 00:19:22,080
because they do affect developer experience.

266
00:19:22,080 --> 00:19:24,040
They add drag to development.

267
00:19:24,380 --> 00:19:28,080
You know, it's not fun to work in an environment that's full of broken windows.

268
00:19:28,180 --> 00:19:28,820
People will quit.

269
00:19:29,100 --> 00:19:30,460
It's expensive to rehire them.

270
00:19:30,960 --> 00:19:33,360
Um, there's a lot of business value to fixing these things.

271
00:19:33,540 --> 00:19:35,420
We just got to get better at talking about it.

272
00:19:35,820 --> 00:19:36,220
Yeah.

273
00:19:36,400 --> 00:19:38,040
I mean, you may be, I don't know.

274
00:19:38,040 --> 00:19:42,100
I mean, tell me what you think, but maybe one, one cool trick, so to speak, just like

275
00:19:42,100 --> 00:19:47,600
is to wait for urgency to make an uninvited call.

276
00:19:47,960 --> 00:19:48,360
Right.

277
00:19:48,360 --> 00:19:55,600
Like essentially like at some, at some point you might need to like implement as an organization,

278
00:19:55,600 --> 00:19:58,140
you might need to implement some feature or make some change.

279
00:19:58,140 --> 00:20:03,080
And at that point, if, uh, if there's a lot of tech debt, then it will become very apparent.

280
00:20:03,080 --> 00:20:05,400
You'll say like, oh yeah, well, we got to do this.

281
00:20:05,500 --> 00:20:06,160
We got to do that.

282
00:20:06,160 --> 00:20:12,100
Like there's all these things that we either, we either need to fix because we made compromises

283
00:20:12,100 --> 00:20:17,200
or we need to, I mean, there's another type of, I don't know if it's tech debt, but there's

284
00:20:17,200 --> 00:20:24,220
sort of like lack of agility that, that I think, I think, especially whenever you do, uh, I don't

285
00:20:24,220 --> 00:20:29,340
know what your experience is, but I feel like, especially during like the pandemic, this came

286
00:20:29,340 --> 00:20:32,980
up a lot, but even before that there was this desire to have like omni-channel retail.

287
00:20:33,140 --> 00:20:33,580
Right.

288
00:20:33,580 --> 00:20:37,580
And I remember like Gartner had like maybe eight combinations.

289
00:20:38,020 --> 00:20:42,560
If you take how you buy something, how you pick something up and how you return something.

290
00:20:42,800 --> 00:20:48,120
I think there's like, there's several combinations you can have of that from like in-store curbside

291
00:20:48,120 --> 00:20:49,380
online, blah, blah, blah.

292
00:20:49,520 --> 00:20:49,720
Right.

293
00:20:49,740 --> 00:20:50,800
Like all this kind of stuff.

294
00:20:50,940 --> 00:20:57,600
And so if you wanted to actually, as a grocery store, anyone selling physical items, which

295
00:20:57,600 --> 00:21:01,460
is what a delightful way to make money selling three additional objects.

296
00:21:01,460 --> 00:21:08,300
But like, if you try to apply that to your current way of doing stuff, I think you end up exposing

297
00:21:08,300 --> 00:21:12,460
a lot of lack of agility debt or something like that.

298
00:21:12,520 --> 00:21:17,360
And maybe at that point, it's good to say like, aha, tech debt, right?

299
00:21:17,480 --> 00:21:19,420
Like, and now let's start quantifying it.

300
00:21:20,040 --> 00:21:20,120
Yeah.

301
00:21:20,220 --> 00:21:26,740
I think that, that drag, and that's, I think a good, a good way to think about it is just

302
00:21:26,740 --> 00:21:27,740
like, it's friction.

303
00:21:27,920 --> 00:21:33,320
And it feels like you're just pulling a boat over like dry land sometimes, you know, and

304
00:21:33,320 --> 00:21:36,920
the water has been drained and you got to fill the water back in.

305
00:21:37,820 --> 00:21:43,900
But that loss of efficiency and effectiveness can be a really compelling way to advocate for

306
00:21:43,900 --> 00:21:50,180
projects that, you know, might also be resolving scalability, reliability issues, security issues,

307
00:21:50,260 --> 00:21:57,940
whatever it is, but also help accelerate development on the, you know, the feature side of things.

308
00:21:58,000 --> 00:21:59,360
I think that's always a compelling thing.

309
00:21:59,360 --> 00:22:05,540
I say, you know, everything comes down to money, but often time is a more compelling thing because

310
00:22:05,540 --> 00:22:11,680
even for, even for features that are brand new greenfield, it can be very difficult to articulate

311
00:22:11,680 --> 00:22:16,300
and to quantify and calculate how much, you know, revenue that that's going to bring, unless

312
00:22:16,300 --> 00:22:21,200
you have, you know, it's Amazon and you're fixing performance on the checkout page by however

313
00:22:21,200 --> 00:22:21,980
many milliseconds.

314
00:22:21,980 --> 00:22:27,280
And you can tell from your like, you know, terabytes of telemetry data that that's going

315
00:22:27,280 --> 00:22:29,820
to improve revenue by X percent or whatever.

316
00:22:30,180 --> 00:22:37,960
Most of us don't have that kind of data and most of our forecasts or calculations are, it's more

317
00:22:37,960 --> 00:22:42,440
than a hunch, no doubt there's data informed, but a lot of it is back of the napkin math that we can

318
00:22:42,440 --> 00:22:44,300
just hope is going to, going to play out.

319
00:22:44,680 --> 00:22:52,460
So if I can say, oh, this, you know, if we refactor this part of our, um, application and we're touching

320
00:22:52,460 --> 00:22:59,580
this thing, you know, once every month and it takes on average twice as long, I, I, maybe you can say

321
00:22:59,580 --> 00:23:03,460
that's going to save us 20 grand in developer hours.

322
00:23:03,940 --> 00:23:09,900
Um, but it's might even be more compelling if I say that's going to free up three extra days of

323
00:23:09,900 --> 00:23:14,920
development time per whatever cycle, what can you do in three extra days?

324
00:23:15,040 --> 00:23:18,320
Does that mean we get three extra days to improve quality?

325
00:23:18,540 --> 00:23:23,700
Or does that mean you get your, your stuff three days faster, but that's every month then now from

326
00:23:23,700 --> 00:23:25,800
this point forward, three days faster.

327
00:23:26,160 --> 00:23:31,120
And then it doesn't take long until now we're a week or a month or months ahead of schedule.

328
00:23:31,120 --> 00:23:32,860
And we've gotten efficiency gains.

329
00:23:33,080 --> 00:23:38,540
Um, I find that argument to be much more compelling when we're looking at opportunity costs, because

330
00:23:38,540 --> 00:23:41,560
really it's the call of doing it now versus when it's an emergency.

331
00:23:42,360 --> 00:23:46,500
Um, and trying to convince someone to do it now is always better.

332
00:23:46,920 --> 00:23:47,980
I, I like that a lot.

333
00:23:48,060 --> 00:23:52,360
I think, I think that probably is a good idea to start talking about friction or like if you

334
00:23:52,360 --> 00:23:55,400
use the metaphor of pipelines, the pipelines clogged, right?

335
00:23:55,440 --> 00:23:58,240
It's just like, you got to go in there, whatever, whatever it may be.

336
00:23:58,240 --> 00:24:02,920
But, you know, with so many of these terms, like, like the, the, the biggest term of all

337
00:24:02,920 --> 00:24:06,380
like agile, it's almost like, you should probably not use it.

338
00:24:06,840 --> 00:24:11,680
You should like, you should use a different word because it's got so much, like so much

339
00:24:11,680 --> 00:24:12,240
lore.

340
00:24:12,240 --> 00:24:14,940
And like, I guess the word would be baggage.

341
00:24:14,940 --> 00:24:16,000
The metaphor you would do.

342
00:24:16,320 --> 00:24:16,780
Baggage, scar tissue.

343
00:24:17,280 --> 00:24:19,960
I think just define it with whatever audience.

344
00:24:20,220 --> 00:24:26,280
Um, and you know, that is a, a crucial step that I think we often forget to do or just

345
00:24:26,280 --> 00:24:32,600
don't do because it's not a habit is like when you come into the, this conversation, not everyone

346
00:24:32,600 --> 00:24:34,040
is operating with the same dictionary.

347
00:24:34,700 --> 00:24:40,480
And when I say something is agile, that might be wildly, I might have this like, you know,

348
00:24:40,500 --> 00:24:44,740
idea from all of my previous experiences of what agile is.

349
00:24:44,740 --> 00:24:46,800
And you have a very different experience of that.

350
00:24:46,820 --> 00:24:50,560
And we're just going to end up talking past each other, or maybe we agree.

351
00:24:50,560 --> 00:24:55,500
And then it looks like we disagree because we're just not using the same terms, um, productivity,

352
00:24:56,120 --> 00:24:57,000
efficiency, effectiveness.

353
00:24:57,000 --> 00:25:02,200
These are all things that quite honestly, I think very widely depending on the organization

354
00:25:02,200 --> 00:25:06,980
and their goals, um, because organizations value different things based on how they make

355
00:25:06,980 --> 00:25:11,800
money and based on their engineering culture and just getting on the same page with people

356
00:25:11,800 --> 00:25:17,820
for these kinds of conversations, for example, what is tech that when does maintenance become

357
00:25:17,820 --> 00:25:18,580
technical debt?

358
00:25:19,680 --> 00:25:25,140
This is a question that I ask when I, uh, in, in some of my coaching programs.

359
00:25:25,620 --> 00:25:29,960
And honestly, I don't have a great, great answer.

360
00:25:30,180 --> 00:25:35,400
I can't tell you, Oh, it's after this amount of time that maintenance tasks become tech debt.

361
00:25:35,400 --> 00:25:39,900
Um, but it's interesting to see how different companies that I've worked with have categorized

362
00:25:39,900 --> 00:25:43,420
make regular routine maintenance tasks, updating dependencies as tech debt.

363
00:25:44,100 --> 00:25:48,480
Other companies, as you said, legacy code is tech debt.

364
00:25:48,480 --> 00:25:52,320
And that requires a lot more effort to, to course correct on.

365
00:25:52,840 --> 00:25:53,560
Um, yeah.

366
00:25:53,840 --> 00:25:57,020
So usually a bigger chunk, usually a bigger chunk.

367
00:25:57,440 --> 00:26:00,920
Um, but there's just wildly different definitions here.

368
00:26:01,260 --> 00:26:05,120
So, so there, you know, you, you brought up a few more things, some, some areas that I

369
00:26:05,120 --> 00:26:09,620
think, uh, uh, it'd be, it'd be great to, to, to, to talk with you about, but first, why

370
00:26:09,620 --> 00:26:10,540
don't you introduce yourself?

371
00:26:10,540 --> 00:26:14,280
You've mentioned a few things that you do here and there, but, but, uh, what's, what's

372
00:26:14,280 --> 00:26:14,680
your deal?

373
00:26:14,880 --> 00:26:15,360
Who are you?

374
00:26:15,420 --> 00:26:16,960
Hi, I'm Laura taco.

375
00:26:17,200 --> 00:26:18,720
Uh, I'm CTO at DX.

376
00:26:18,720 --> 00:26:20,620
We're a developer insights platform.

377
00:26:21,060 --> 00:26:27,620
Um, we help improve developer experience by figuring out what to change, um, from the

378
00:26:27,620 --> 00:26:29,060
source, which is your development team.

379
00:26:29,660 --> 00:26:34,200
So, um, aside from that, I'm also an, uh, an executive leadership coach for engineering

380
00:26:34,200 --> 00:26:34,560
leaders.

381
00:26:34,800 --> 00:26:39,360
I've been coaching for about two and a half years now, formally as kind of like, you know,

382
00:26:39,360 --> 00:26:40,660
a big part of my job.

383
00:26:40,660 --> 00:26:47,920
And I've worked with, um, you know, 300, I think now plus companies, um, either through

384
00:26:47,920 --> 00:26:54,300
coaching or through a course that I do on measuring development team performance to help them

385
00:26:54,300 --> 00:26:59,280
increase effectiveness, increase, increase efficiency, be, become better leaders.

386
00:26:59,920 --> 00:27:07,080
Um, and yeah, we know each other because of our good friend, Betty, who I know from way

387
00:27:07,080 --> 00:27:08,260
back in the day.

388
00:27:08,860 --> 00:27:14,600
Um, cause I was involved heavily in Docker and the Docker ecosystem when it was just a tiny

389
00:27:14,600 --> 00:27:20,900
little baby, a container was just a, a thing like that no one knew about.

390
00:27:20,900 --> 00:27:23,480
And then, um, now they're everywhere.

391
00:27:23,480 --> 00:27:25,800
They're everywhere to the point where we don't even think about them anymore.

392
00:27:26,220 --> 00:27:30,740
I, I, I hear, uh, there's, there's, uh, I hear someone's writing a book about all sorts

393
00:27:30,740 --> 00:27:34,920
of startups they worked at and including Docker and, and you, which, which should be interesting.

394
00:27:34,920 --> 00:27:38,440
We'll see if it ever comes out, but it is like there, there's certain companies that

395
00:27:38,440 --> 00:27:41,140
like many people have passed through and had experiences with.

396
00:27:41,140 --> 00:27:43,160
And, uh, I think, I think that's, that's one of them.

397
00:27:43,220 --> 00:27:48,520
Like, I remember at the time I was working, uh, in, in MNA at Dell back when I was in Austin.

398
00:27:49,020 --> 00:27:53,740
And, uh, I remember someone like kind of went over, man, I'm drawing a blank blank now.

399
00:27:53,780 --> 00:27:56,700
It used to be called something else, but they, they went over what it was and they were like,

400
00:27:56,720 --> 00:27:58,200
you should check out these container things.

401
00:27:58,200 --> 00:27:58,740
They're wild.

402
00:27:59,540 --> 00:28:03,380
And, and like, like at the time I was just kind of like, eh, I don't know, whatever.

403
00:28:03,380 --> 00:28:05,080
And I just kind of moved on from it.

404
00:28:05,120 --> 00:28:07,640
Then years later it was like containers, they're wild.

405
00:28:08,120 --> 00:28:08,160
Right.

406
00:28:08,820 --> 00:28:09,180
Containers.

407
00:28:09,320 --> 00:28:10,220
They do everything.

408
00:28:10,640 --> 00:28:11,040
Yeah.

409
00:28:11,160 --> 00:28:11,320
Yeah.

410
00:28:11,360 --> 00:28:16,420
But it's, it's a good, uh, it's a good little nexus point in the, uh, the, the history of,

411
00:28:16,560 --> 00:28:17,860
of time going through things.

412
00:28:17,860 --> 00:28:23,120
And, you know, I was, as you were describing the, uh, uh, the, uh, the DX work, I was,

413
00:28:23,200 --> 00:28:26,900
it was, it was making me chuckle a little bit because like you, you kind of, I think you,

414
00:28:26,900 --> 00:28:31,980
you, you put in a, you made a good litmus test for doing any sort of consulting or introducing

415
00:28:31,980 --> 00:28:38,240
some new thing is like, unless it's telling you something to change, why are you doing this?

416
00:28:38,660 --> 00:28:41,540
I had this deep thought this morning actually.

417
00:28:41,540 --> 00:28:45,640
Um, cause I'm, I'm working on a long blog post, which maybe by the time this episode

418
00:28:45,640 --> 00:28:49,620
is out, the blog post is out and we'll link it in the show notes or whatever.

419
00:28:49,620 --> 00:28:50,480
I'll send it to you.

420
00:28:50,940 --> 00:28:55,180
Um, but it's about just the, the fallacy of unobtrusive measurement.

421
00:28:55,800 --> 00:29:01,380
And I get questioned a lot, this question a lot, how can I measure, can I collect Dora

422
00:29:01,380 --> 00:29:01,760
metrics?

423
00:29:01,760 --> 00:29:04,500
Can I collect all these measurements about my team unobtrusively?

424
00:29:04,500 --> 00:29:06,420
Cause you know, I don't want to bother them.

425
00:29:06,880 --> 00:29:12,940
But then I thought in any other, any other avenue of life, if someone was collecting data

426
00:29:12,940 --> 00:29:19,360
about you unobtrusively, we would like press charges against them, you know, it wouldn't

427
00:29:19,360 --> 00:29:21,240
be categorized as like a good thing.

428
00:29:21,240 --> 00:29:23,620
I'm like, thank you for doing that for me.

429
00:29:24,140 --> 00:29:26,960
Um, it would be like, what are you doing?

430
00:29:26,960 --> 00:29:27,180
Yeah.

431
00:29:27,320 --> 00:29:29,920
You would call it spying.

432
00:29:29,920 --> 00:29:31,260
We would call it spying.

433
00:29:31,700 --> 00:29:36,540
And I think that is for me, that is such a deep rooted belief in a conviction that I

434
00:29:36,540 --> 00:29:38,280
hold that you should measure for change.

435
00:29:39,080 --> 00:29:44,220
And if you're not measuring for change and you're measuring for surveillance, for spying,

436
00:29:44,780 --> 00:29:47,040
uh, that's not healthy in general.

437
00:29:47,200 --> 00:29:52,740
I think there are times that you measure things that you don't take immediate action on and

438
00:29:52,740 --> 00:29:53,200
that's fine.

439
00:29:53,200 --> 00:29:59,660
Like health metrics, for example, we want to just keep, um, keep tabs on our cycle time

440
00:29:59,660 --> 00:30:04,720
or keep tabs on how many times we're deploying whatever, but it should be transparent, uh,

441
00:30:04,760 --> 00:30:06,220
and publicly available.

442
00:30:06,220 --> 00:30:09,540
And it should be known who's collect, who's collecting the data, why it's being collected,

443
00:30:09,660 --> 00:30:12,920
what they're doing with the data, who's seeing the data, all of those things.

444
00:30:13,040 --> 00:30:17,820
And, you know, maybe in some people's definition of unobtrusive, that is still true.

445
00:30:17,820 --> 00:30:19,660
And I think that's, you know, that's fine.

446
00:30:19,660 --> 00:30:23,960
We have a little wiggle room there, but, um, you know, this idea of like, well, I just

447
00:30:23,960 --> 00:30:25,740
don't want to bother the development team.

448
00:30:26,220 --> 00:30:29,240
So I would just like to collect this data, like kind of without them knowing.

449
00:30:29,400 --> 00:30:33,700
So that I could just see the state of things, um, to me as a smell.

450
00:30:34,460 --> 00:30:34,660
Yeah.

451
00:30:35,180 --> 00:30:36,520
What, what, what do you think?

452
00:30:36,660 --> 00:30:40,000
You know, I, I, uh, this is several months ago now, but you know, I love it when there's

453
00:30:40,000 --> 00:30:44,640
a big nerd fight, uh, about, about when there, when there's like a big and a specific type

454
00:30:44,640 --> 00:30:50,940
of nerd fight, when there's a, basically some large organization that mostly does consultative

455
00:30:50,940 --> 00:30:57,060
stuff that isn't kind of a big part of the, uh, the Gabby tech community.

456
00:30:57,060 --> 00:31:01,560
I know exactly where you're going when, when, when they come out with a PDF and, and people

457
00:31:01,560 --> 00:31:02,240
get very upset.

458
00:31:02,240 --> 00:31:06,900
And the first time this happened that I really paid attention to it was years ago when Gartner

459
00:31:06,900 --> 00:31:08,940
came out with this idea of bimodal it.

460
00:31:09,440 --> 00:31:14,540
And what they were saying there was basically like, you know, with the it estates you have,

461
00:31:14,540 --> 00:31:19,580
and we, we even talked about this at some point, uh, in our conversation here, like you

462
00:31:19,580 --> 00:31:24,460
have stuff that's running in a quote unquote old way and it's fine.

463
00:31:25,100 --> 00:31:27,340
And then you have stuff where you want to run in a DevOps way.

464
00:31:27,340 --> 00:31:31,580
And then of course the DevOps people are all like, you know, just burn it to the ground.

465
00:31:33,580 --> 00:31:38,540
Like if, if there's a, if there's, if there's an optimal way of working, you should apply it

466
00:31:38,540 --> 00:31:43,740
universally and not relegate these, uh, these, these other people to the terrible way of doing

467
00:31:43,740 --> 00:31:44,700
things or whatever.

468
00:31:44,700 --> 00:31:47,260
And like, it was, it was a, it was wonderful.

469
00:31:47,260 --> 00:31:53,500
Like from a, you know, it wasn't wonderful from, uh, uh, advancing the state of knowledge,

470
00:31:54,700 --> 00:31:58,300
but it was, it was entertaining, I guess, you know, uh, in that way.

471
00:31:58,300 --> 00:32:00,940
And then, and then of course, like, yes, as, as you well know, right.

472
00:32:00,940 --> 00:32:05,580
Like the most recent nerd fight was all about like McKinsey comes out with like, how,

473
00:32:07,660 --> 00:32:09,580
how, and it's, it's, it's kind of interesting.

474
00:32:09,580 --> 00:32:13,660
It has, to me, it has, it has a similar structure of the Gartner thing where it's like,

475
00:32:14,300 --> 00:32:18,940
maybe we should give them the benefit of the doubt and see where they're coming with this,

476
00:32:18,940 --> 00:32:21,100
um, and help them modify it along the way.

477
00:32:21,100 --> 00:32:24,380
Because I think they were, they were trying to do something exactly like we were talking

478
00:32:24,380 --> 00:32:27,260
about is like, how do we quantify this?

479
00:32:27,980 --> 00:32:28,220
Right.

480
00:32:28,220 --> 00:32:34,940
Like if I'm not a technical person, but yeah, I, I feel like the error and, and you were kind

481
00:32:34,940 --> 00:32:35,740
of going over this.

482
00:32:35,740 --> 00:32:41,980
I think maybe the lesson we learned from that is once you measure an individual in some way,

483
00:32:42,780 --> 00:32:46,220
that's dangerous for, for advancing your cause.

484
00:32:46,220 --> 00:32:49,260
Like it becomes political.

485
00:32:49,260 --> 00:32:51,820
It becomes lawful evil at that point.

486
00:32:53,260 --> 00:32:53,660
Yeah.

487
00:32:53,660 --> 00:32:58,140
I think, uh, first and foremost, software development is a team sport.

488
00:32:59,100 --> 00:33:07,660
And I think taking measurements on a team level is appropriate at times trying to quantify someone's

489
00:33:10,060 --> 00:33:17,340
country contributions, looking at things like workflow data alone is incredibly misguided.

490
00:33:17,340 --> 00:33:22,060
And I think if you asked any staff engineer out there and there've actually been quite some studies,

491
00:33:22,060 --> 00:33:25,900
and I think I saw a couple on at least one on LinkedIn that was looking at,

492
00:33:26,460 --> 00:33:30,460
you know, the, the 10 X engineer on this team, the staff engineer was spending,

493
00:33:31,340 --> 00:33:34,700
you know, all of their time coding and doing all of this stuff.

494
00:33:35,420 --> 00:33:39,740
But the only way they were able to do that was because the senior engineers on their team were

495
00:33:39,740 --> 00:33:42,620
doing all the planning and all the coordination and all the other stuff.

496
00:33:43,260 --> 00:33:48,860
And so it's so unfair to try to compare them because one enables another, and you can't

497
00:33:48,860 --> 00:33:51,260
just take them in isolation and apply the same.

498
00:33:53,740 --> 00:33:56,620
Rubric to whatever they're doing and get a fair outcome.

499
00:33:57,180 --> 00:34:01,020
So I will say this about McKinsey and I think this has been right.

500
00:34:01,020 --> 00:34:09,500
Nerd, nerd fought in, in public for long enough, but I think that McKin, the McKinsey came because

501
00:34:09,500 --> 00:34:14,940
we don't up until now have great benchmarks for things like developer productivity.

502
00:34:14,940 --> 00:34:21,180
We have Dora, which is, I call it the tomato of productivity because, you know, tomatoes are

503
00:34:21,180 --> 00:34:23,260
not a vegetable, but we treat them like a vegetable.

504
00:34:23,900 --> 00:34:25,980
Dora metrics are not productivity metrics.

505
00:34:25,980 --> 00:34:30,540
They measure capability, but at this point, everyone treats them as productivity metrics.

506
00:34:31,100 --> 00:34:33,420
So it's like, is ketchup a vegetable?

507
00:34:33,420 --> 00:34:34,220
I don't know.

508
00:34:34,220 --> 00:34:35,180
I don't know about that.

509
00:34:36,220 --> 00:34:40,380
But I think for a lot of intents and purposes, although the intention of Dora is to be capability

510
00:34:40,380 --> 00:34:46,620
metrics, everyone uses them as productivity metrics and it would, I can sit here and be

511
00:34:46,620 --> 00:34:49,980
like, well, that's not what they were intended for, but it's the reality of how they're being

512
00:34:49,980 --> 00:34:50,940
talked about and used.

513
00:34:50,940 --> 00:34:53,420
And so I have to, you know, meet people where they're at.

514
00:34:54,860 --> 00:35:00,460
But we don't have the equivalent of that sort of that industry-wide benchmarking on the developer

515
00:35:00,460 --> 00:35:01,340
productivity side.

516
00:35:01,340 --> 00:35:06,700
And that is what McKinsey offered with their DBI, their velocity index.

517
00:35:07,500 --> 00:35:13,020
So, I mean, I get the economic pressure and sort of like the draw.

518
00:35:13,020 --> 00:35:17,740
There's so many C-level executives that just want whatever it is McKinsey selling.

519
00:35:19,340 --> 00:35:24,780
And oddly enough, there was a great Last Week Tonight episode about McKinsey.

520
00:35:25,660 --> 00:35:29,180
I think it aired like in late November.

521
00:35:30,380 --> 00:35:34,380
Not at all about developer productivity metrics, just an interesting consequence.

522
00:35:35,180 --> 00:35:36,460
But check that out, brief aside.

523
00:35:37,340 --> 00:35:43,260
I will say this, my summed up position on McKinsey is like, I think there are actually a lot of

524
00:35:43,260 --> 00:35:44,460
good things in that article.

525
00:35:44,860 --> 00:35:49,580
It's calling for executives to better understand software development.

526
00:35:49,580 --> 00:35:53,340
It's saying, hey, we have to measure this like multi-dimensionally.

527
00:35:53,340 --> 00:35:59,180
I think those things are great, but the parts of it that are bad are really bad.

528
00:35:59,180 --> 00:36:05,660
Like, you know, equating developer productivity to just writing code and not understanding the

529
00:36:05,660 --> 00:36:07,980
subtleties and the nuances of a team sport.

530
00:36:07,980 --> 00:36:13,820
I think that it's sort of, you know, I was like, oh, this is not so, this is maybe okay.

531
00:36:13,820 --> 00:36:18,300
And then it was just like, oh, I really don't agree with this to the point where it sort of

532
00:36:18,300 --> 00:36:22,300
overshadows all the morsels of goodness that were in the article.

533
00:36:22,300 --> 00:36:23,180
Yeah.

534
00:36:23,180 --> 00:36:23,260
Yeah.

535
00:36:23,260 --> 00:36:23,500
Yeah.

536
00:36:23,500 --> 00:36:32,700
No, I, and I think I, I, I like, I like the idea of, of Dora match measuring, not measuring

537
00:36:32,700 --> 00:36:37,980
is even the wrong word, being an indicator of the capabilities that you have.

538
00:36:37,980 --> 00:36:38,460
Right.

539
00:36:38,460 --> 00:36:39,260
Like, yeah.

540
00:36:39,260 --> 00:36:44,060
And essentially, and it kind of, it touches on a lot of what we talked about here, where

541
00:36:44,060 --> 00:36:50,540
I don't even, I'm, I'm, I don't even really know how to articulate it despite knowing software,

542
00:36:50,540 --> 00:37:00,540
but like, it's almost like doing software development isn't really about productivity.

543
00:37:00,540 --> 00:37:05,020
It's about having capabilities available.

544
00:37:05,020 --> 00:37:10,220
And I'm purposely avoiding using the word flow because that's another like crazy blown

545
00:37:10,220 --> 00:37:11,180
up word at this point.

546
00:37:11,180 --> 00:37:16,940
But like, it's knowing that you can do something and you probably are going to want to do something,

547
00:37:16,940 --> 00:37:25,180
but like having the option, having the option to actually execute it and do it in a reliable

548
00:37:25,180 --> 00:37:27,580
way is like what ultimately is valuable.

549
00:37:27,580 --> 00:37:32,940
Like, like I was, I was doing something, I was talking about something, you know, to the

550
00:37:32,940 --> 00:37:34,060
camera yesterday.

551
00:37:34,060 --> 00:37:39,660
And I was thinking like, you know, I mean, if you're like a pharmacy or a chemist or whatever

552
00:37:39,660 --> 00:37:43,900
you want to call it, like, you probably don't really need to change your software every week.

553
00:37:43,900 --> 00:37:47,980
I mean, you only need to change it when you really need to change it.

554
00:37:47,980 --> 00:37:50,140
And then you got to change it, right?

555
00:37:50,140 --> 00:37:55,180
Like, and, and, and so like, if you, even if you were to look at the Dora metrics, like,

556
00:37:55,820 --> 00:37:59,980
again, if you were to look at the Dora metrics as, do you have the potential and the ability,

557
00:37:59,980 --> 00:38:01,740
the capability to release every week?

558
00:38:01,740 --> 00:38:02,940
That's great.

559
00:38:02,940 --> 00:38:06,940
But if you're measuring, are you releasing every week for like a pharmacy?

560
00:38:06,940 --> 00:38:09,100
It's kind of like, uh, who cares?

561
00:38:09,100 --> 00:38:09,740
Do you need to?

562
00:38:09,740 --> 00:38:10,060
Yeah.

563
00:38:10,060 --> 00:38:10,220
Yeah.

564
00:38:10,220 --> 00:38:13,580
Like, like, is that, is that capability

565
00:38:13,580 --> 00:38:16,460
giving you a competitive edge in your business?

566
00:38:16,460 --> 00:38:21,100
And like, you know, we can, for that particular one, we can talk about decoupling deployments

567
00:38:21,100 --> 00:38:25,420
and releases and like the subtleties between them and feature flagging and all this stuff.

568
00:38:25,420 --> 00:38:26,700
But you're absolutely right.

569
00:38:26,700 --> 00:38:33,660
It's like, um, you know, the difference between did we build the thing right versus did we build

570
00:38:33,660 --> 00:38:34,300
the right thing?

571
00:38:35,340 --> 00:38:39,740
There's going to come a time when you have the right thing to build and you want to make sure that

572
00:38:39,740 --> 00:38:40,860
you build that thing, right.

573
00:38:40,860 --> 00:38:40,860
Right.

574
00:38:40,860 --> 00:38:42,860
And that's where the capabilities come in.

575
00:38:42,860 --> 00:38:46,780
And that's where Dora and the benchmarks can be very helpful because if you have the right thing to

576
00:38:46,780 --> 00:38:50,220
build, but you can't build the thing, right, you're not going to get anywhere.

577
00:38:50,220 --> 00:38:53,100
And so there needs to be both.

578
00:38:53,100 --> 00:38:59,980
I think where a lot of the, the discussions about developer productivity and efficiency and

579
00:38:59,980 --> 00:39:06,540
effectiveness start to sort of get into dicey territory or sort of just lack clarity is when

580
00:39:06,540 --> 00:39:12,380
we talk about to what ends, like, you know, the name of the book is called accelerate.

581
00:39:13,420 --> 00:39:19,980
But the question I ask is like accelerating where, because I, I've worked with a lot of companies

582
00:39:19,980 --> 00:39:24,940
and I've worked at companies before that were elite right out of the gate, according to Dora.

583
00:39:24,940 --> 00:39:30,460
And I think honestly, if you're a new company or even in like the last, I don't know, post

584
00:39:30,460 --> 00:39:37,340
container post post DevOps world that your, your team was grounded or your, your founded grounded.

585
00:39:37,900 --> 00:39:38,300
I don't know.

586
00:39:38,300 --> 00:39:39,420
That's the German word.

587
00:39:39,420 --> 00:39:40,220
What did we say in English?

588
00:39:40,220 --> 00:39:40,860
I don't remember.

589
00:39:42,220 --> 00:39:45,900
Or the, you know, your team or your company.

590
00:39:45,900 --> 00:39:50,060
And I think it's hard to not be elite right away.

591
00:39:50,060 --> 00:39:50,940
If you're just using.

592
00:39:51,660 --> 00:39:52,060
Yeah.

593
00:39:52,060 --> 00:39:52,300
Yeah.

594
00:39:52,300 --> 00:39:53,820
You don't, you don't have all the baggage.

595
00:39:53,820 --> 00:39:57,420
You don't have any baggage, you know, it's like, oh, I'll just click, you know,

596
00:39:57,420 --> 00:40:02,540
circle CI check deploying to AWS, whatever, and just set up your, your workflow that way.

597
00:40:02,540 --> 00:40:05,500
And it's very easy to be elite continuously shipping stuff.

598
00:40:05,500 --> 00:40:08,780
If you have good engineering culture, of course, there's the people component to it.

599
00:40:10,540 --> 00:40:11,580
But what are you building?

600
00:40:11,580 --> 00:40:15,660
Because if you're building something very quickly that no one wants, it doesn't matter

601
00:40:15,660 --> 00:40:20,140
how fast, how many times you're deploying, because no one's going to buy it and your business

602
00:40:20,140 --> 00:40:21,580
is still going to fail.

603
00:40:21,580 --> 00:40:26,220
And I think there's a conflation of like, if we are elite in Dora, that means our business

604
00:40:26,220 --> 00:40:29,820
is good and successful and really building the thing right.

605
00:40:29,820 --> 00:40:32,300
And building the right thing are very different things.

606
00:40:32,300 --> 00:40:36,940
And often engineering is not even responsible for building the right thing.

607
00:40:36,940 --> 00:40:38,140
They don't get to make that call.

608
00:40:38,940 --> 00:40:39,260
Yeah.

609
00:40:39,260 --> 00:40:41,420
Yeah, that's, that's, that's, I mean, you're touching on it.

610
00:40:41,420 --> 00:40:47,020
I haven't gone and looked at the last, I don't know, three, four years in detail of those reports.

611
00:40:47,020 --> 00:40:52,380
But I, I was always curious to see, like, I want to see the spreadsheet where, where they relate

612
00:40:52,380 --> 00:40:56,460
higher performing to making money or, or whatever it may be, right?

613
00:40:56,460 --> 00:41:01,340
Like, I mean, I'm even forcing what I want to see in the spreadsheet, but it is, there is some

614
00:41:01,340 --> 00:41:05,980
relationship there, as you were just pointing out that, like, I never find in the, you know,

615
00:41:05,980 --> 00:41:11,740
the last four pages of in the methodology part, that would be, be fun to see just if only because

616
00:41:11,740 --> 00:41:14,700
it would be instructive to help answer what you're talking about, right?

617
00:41:14,700 --> 00:41:21,340
Like the, the, the, the car that efficiently drives, but ends up going nowhere is car commercial.

618
00:41:22,300 --> 00:41:22,620
Yeah.

619
00:41:22,620 --> 00:41:22,780
Yeah.

620
00:41:22,780 --> 00:41:23,020
Yeah.

621
00:41:23,980 --> 00:41:25,580
Well, it's fun, fun to drive.

622
00:41:25,580 --> 00:41:25,980
I'm sure.

623
00:41:26,460 --> 00:41:27,100
Yeah, exactly.

624
00:41:27,100 --> 00:41:30,940
You know, but before we wrap up, so like, uh, yeah, there's, you have, you have a lot of,

625
00:41:30,940 --> 00:41:34,460
uh, uh, a great articles on, on, on your blog to, to read through.

626
00:41:34,460 --> 00:41:40,300
And one of them, one of the themes that came up a lot that, that I, I was trying to boil

627
00:41:40,300 --> 00:41:45,820
down as much as possible is I don't know if I have the number right, but I feel like a lot,

628
00:41:45,820 --> 00:41:51,500
one of the common things that you're saying is like, probably 80 to 90% of meetings shouldn't exist.

629
00:41:52,620 --> 00:41:52,860
Right.

630
00:41:53,580 --> 00:41:57,260
Like, like, and, and, you know, you've got to, you've got a good position of like,

631
00:41:58,140 --> 00:42:04,140
when people do say this meeting could, could have been an email, they're probably right.

632
00:42:05,420 --> 00:42:09,420
Like there's a lot of things we do that we don't really need to do anymore.

633
00:42:09,420 --> 00:42:14,380
Uh, yeah, it's like the information is available somewhere else.

634
00:42:14,380 --> 00:42:17,820
And then you have a meeting just to check that the information is still available somewhere else.

635
00:42:17,820 --> 00:42:19,820
Um, right, right.

636
00:42:19,820 --> 00:42:26,140
Any meeting that doesn't have anything at stake where there's nothing of substance being decided

637
00:42:26,140 --> 00:42:30,140
or of substance being discussed that hasn't already been discussed asynchronously.

638
00:42:30,140 --> 00:42:34,940
And you've decided that you need to have an asynchronous conversation because it's so

639
00:42:34,940 --> 00:42:37,660
complex or nuanced that you just need the people talking to each other.

640
00:42:37,660 --> 00:42:40,620
Um, most of those meetings don't need to happen.

641
00:42:40,620 --> 00:42:46,060
Um, I think the, the little caveat I would put there is, you know, I've worked remotely

642
00:42:46,060 --> 00:42:56,540
since 2012, um, primarily remotely, and it is nice to have face time with a team to build rapport.

643
00:42:56,540 --> 00:43:02,060
And so that is a consideration if like, if it is an important team ceremony to have everyone together

644
00:43:02,060 --> 00:43:07,660
once a week during a planning, just to like get the energy up and get feel united on a common goal.

645
00:43:07,980 --> 00:43:11,020
That's a very, that is a very fine reason to have a meeting.

646
00:43:11,420 --> 00:43:13,180
Um, but just make sure that that's clear.

647
00:43:13,580 --> 00:43:17,420
It's not like, I don't trust that whatever you put in JIRA is accurate.

648
00:43:17,980 --> 00:43:21,980
Um, it's like, no, we're going to just like come together and see each other's faces so

649
00:43:21,980 --> 00:43:23,980
that we can work together effectively as a team.

650
00:43:24,620 --> 00:43:25,980
Um, that's part of the deal.

651
00:43:26,620 --> 00:43:31,740
And so no, that meeting can't be an email because we miss out on that human time.

652
00:43:31,740 --> 00:43:35,020
Yeah, a lot of meetings can be emails.

653
00:43:35,020 --> 00:43:36,540
I like that categorization.

654
00:43:36,540 --> 00:43:42,860
Like one, if, if you're not, if, if there's not a decision that is going to be made,

655
00:43:42,860 --> 00:43:45,100
then you probably don't need to have the meeting, right?

656
00:43:45,100 --> 00:43:51,100
Like the point, like that's definitely one type of meeting and probably a lot of them.

657
00:43:51,100 --> 00:43:52,700
And then, and then exactly your point.

658
00:43:52,700 --> 00:43:57,500
There's the, the, this is another phrase that would be good to have a better one for,

659
00:43:57,500 --> 00:44:01,580
but there's the team building get together, right?

660
00:44:01,580 --> 00:44:06,860
And, and, and like just talking with someone, especially if you're remote, like, you know,

661
00:44:06,860 --> 00:44:11,100
you kind of get that if you just go out to with, to lunch with people all the time,

662
00:44:11,100 --> 00:44:13,420
or like, you know, you, you have those meetings in the hallway.

663
00:44:13,820 --> 00:44:15,020
There's no hallways anymore.

664
00:44:15,020 --> 00:44:18,620
I think the last time I really worked in an office, we actually had offices in the hallways.

665
00:44:18,620 --> 00:44:22,860
It was a glorious time, but like, uh, so there's that.

666
00:44:22,860 --> 00:44:30,060
And there's almost like, like, I, I guess there's a third type there's, and they become not meetings.

667
00:44:30,060 --> 00:44:33,900
There's like, you know, a workshop where you're actually a decision isn't made,

668
00:44:33,900 --> 00:44:36,780
but you're like working on something collaboratively.

669
00:44:36,780 --> 00:44:42,460
But again, I mean, I really like your, it's like those other two things like are almost not meetings.

670
00:44:42,460 --> 00:44:47,980
And, and really a meeting, a capital M meeting is like, we're here to make something happen.

671
00:44:47,980 --> 00:44:55,980
Yeah. Yeah. We're not here just to fill space. And this full circle back to your point of like

672
00:44:55,980 --> 00:45:00,380
developers saying, oh, this meeting was really unimportant. I didn't need to attend versus

673
00:45:00,380 --> 00:45:03,820
the person who called the meeting being like, that was the best meeting ever. It was so important.

674
00:45:05,100 --> 00:45:09,900
You know, knowing what you want to get out of that time together is really crucial.

675
00:45:10,780 --> 00:45:15,420
Here's a quick tip for anyone who finds themselves in the position of needing to

676
00:45:15,980 --> 00:45:18,300
organize meetings or facilitate them for any reason.

677
00:45:19,740 --> 00:45:22,300
There's a difference between a decision meeting and a discussion meeting.

678
00:45:23,180 --> 00:45:27,580
Decision meetings should be made clear. We're deciding this thing. And as soon as the decision

679
00:45:27,580 --> 00:45:31,100
is made and the meeting, you don't need to go the whole half hour or the whole hour.

680
00:45:31,100 --> 00:45:35,340
If you come to your conclusion in the first 10 minutes, it's fine. Just say, bye, everybody.

681
00:45:36,300 --> 00:45:39,740
Maybe get better at estimating how much time you need in the future, but that's fine.

682
00:45:40,460 --> 00:45:46,860
Discussion meetings should only happen if you've already done an async discussion and you figured

683
00:45:46,860 --> 00:45:51,820
like this just isn't enough. We need to address this point, this point, and this point.

684
00:45:52,860 --> 00:45:56,540
And have it clear that it's a discussion meeting and that no decisions will be made because then

685
00:45:56,540 --> 00:46:01,100
people are just going to leave unsatisfied if they're expecting a decision from a discussion meeting.

686
00:46:01,100 --> 00:46:02,860
Yeah, that's really good. I like that.

687
00:46:02,860 --> 00:46:04,460
Super easy. Super easy.

688
00:46:05,020 --> 00:46:08,940
And you're also building in motivation for people to come to a decision.

689
00:46:09,900 --> 00:46:10,220
Totally.

690
00:46:10,780 --> 00:46:16,060
I was thinking a jokey way in my mind. Someone made a decision here because they wanted to get to lunch.

691
00:46:19,020 --> 00:46:24,140
They just had a reason to finally get a decision, but that's great. Well, I mean,

692
00:46:24,140 --> 00:46:29,420
speaking of, if people want to check out your blog and stuff like that and other things you're up to,

693
00:46:29,420 --> 00:46:31,820
your coaching and courses, where would you send them to?

694
00:46:32,380 --> 00:46:38,540
Just go to laurataco.com. T-A-C-H-O is how you spell my version of taco.

695
00:46:40,220 --> 00:46:45,900
Head there. I have courses blog. I'm working on some new self-paced courses

696
00:46:46,700 --> 00:46:50,780
for anyone who's finding themselves in an engineering leadership position and thinking,

697
00:46:50,780 --> 00:46:53,500
oh, well, I never learned how to do any of this stuff.

698
00:46:54,700 --> 00:46:57,340
I know you're all very busy, so I'm making kind of an express

699
00:46:58,780 --> 00:47:03,500
self-paced leadership course that should be coming out in the next couple of months. So check that out.

700
00:47:04,380 --> 00:47:07,900
Yeah. Well, great. Well, it was really fun talking with you. I appreciate you being on.

701
00:47:08,620 --> 00:47:10,140
Yeah. It was a great conversation.

702
00:47:10,780 --> 00:47:15,900
Yeah. And I'll put links to that stuff if you want to find them. If you're watching a video,

703
00:47:15,900 --> 00:47:21,180
they'll just be below somewhere. That'd be odd in the future if they move links to somewhere else.

704
00:47:21,180 --> 00:47:24,540
And there's like, you know, 20 years of people saying you should click below.

705
00:47:24,540 --> 00:47:29,260
Yeah. But maybe by that time, they'll just be AI that can go fix everything.

706
00:47:29,260 --> 00:47:33,740
Yeah. It'll just be deep fakes. Someone can like deep fake this conversation and update it.

707
00:47:33,740 --> 00:47:36,620
It'd be great. Exactly. And if you're listening to it or otherwise,

708
00:47:36,620 --> 00:47:41,180
you can always go to tanzutalk.com and search around and find the episode. And with that,

709
00:47:41,180 --> 00:47:42,620
We'll see everyone next time.

710
00:47:42,720 --> 00:47:43,260
Bye-bye.

711
00:47:43,620 --> 00:47:43,980
Bye.
