1
00:00:00,000 --> 00:00:02,430
Technical debt is not really a 
technical problem. 

2
00:00:02,460 --> 00:00:04,890
It sounds as if it is, because 
it's got the word technical in 

3
00:00:04,890 --> 00:00:08,157
there and it's got this debt. 
But really what it is, is it's a

4
00:00:08,157 --> 00:00:10,625
problem about trade-offs. 
Today's guest is Andrew Richard 

5
00:00:10,625 --> 00:00:13,410
Brown, the author of Taming Your
Dragon: Addressing Your 

6
00:00:13,410 --> 00:00:15,800
Technical Debt. 
He has spent over two decades 

7
00:00:15,800 --> 00:00:17,744
uncovering the hidden human 
factors behind technical 

8
00:00:17,744 --> 00:00:20,320
problems that challenge how we 
think about technical debt, 

9
00:00:20,320 --> 00:00:23,010
risk, and project estimation. 
I always find it quite 

10
00:00:23,010 --> 00:00:25,399
fascinating, because we all hate
technical debt, but every time, 

11
00:00:25,399 --> 00:00:27,100
either consciously or 
unconsciously, we are also 

12
00:00:27,100 --> 00:00:28,480
creating technical debt 
ourselves. 

13
00:00:28,480 --> 00:00:31,210
The way we make any decisions is
we use our emotions. 

14
00:00:31,330 --> 00:00:34,240
We may think we use logic, but 
actually we use our emotions. 

15
00:00:34,240 --> 00:00:36,924
If you look at the technical 
debt, potentially you're gonna 

16
00:00:36,924 --> 00:00:40,830
have to repay some debt in the 
future. 

17
00:00:40,860 --> 00:00:44,240
Something that is in the future,
it's gonna appeal to your logic.

18
00:00:44,300 --> 00:00:46,700
That's principally why the 
technical debt does badly. 

19
00:00:46,730 --> 00:00:49,682
From all these layers, technical
aspect is just a small part of 

20
00:00:49,682 --> 00:00:51,962
the technical debt. 
There are so many other things 

21
00:00:51,962 --> 00:00:54,410
like organizational system, the 
bias thinking, the emotion. 

22
00:00:54,440 --> 00:00:57,005
How can an organization start 
managing their technical debt 

23
00:00:57,005 --> 00:00:59,100
better? 
What you really need to be doing

24
00:00:59,100 --> 00:01:01,715
is avoiding creating the 
technical debt that you can 

25
00:01:01,715 --> 00:01:04,149
avoid creating. 
You can't do development really,

26
00:01:04,149 --> 00:01:06,095
really fast. 
And then when you become 

27
00:01:06,095 --> 00:01:08,675
completely tired, now we will 
slow down to a sustainable rate.

28
00:01:08,675 --> 00:01:10,745
It's a bit too late. 
You need to make an arguments 

29
00:01:10,745 --> 00:01:13,475
that are appealing to people's 
emotions, not to their logic. 

30
00:01:13,655 --> 00:01:15,845
You can sort of paint a picture.
You can tell a story. 

31
00:01:15,935 --> 00:01:18,331
If you're coming at it from the 
viewpoint of we need to manage 

32
00:01:18,331 --> 00:01:20,865
this technical debt or burn it 
down, you are almost starting 

33
00:01:20,865 --> 00:01:22,949
too late. 
Once you do that, it's almost as

34
00:01:22,949 --> 00:01:24,968
if you've given the business 
permission to create this 

35
00:01:24,968 --> 00:01:27,275
technical debt, because you can 
just pay it down later. 

36
00:01:43,618 --> 00:01:45,143
Hello, guys. 
Welcome back to another new 

37
00:01:45,143 --> 00:01:46,888
episode of the Tech Lead Journal
podcast. 

38
00:01:46,888 --> 00:01:50,494
Today, I'm very excited to have 
Dr. Andrew Richard Brown, or 

39
00:01:50,494 --> 00:01:53,218
I'll call him Andrew Brown in 
this episode. 

40
00:01:53,488 --> 00:01:57,152
So Andrew is the author of a 
book titled Taming Your Dragon. 

41
00:01:57,452 --> 00:02:00,943
Um, so it's a book about 
tackling or managing technical 

42
00:02:00,943 --> 00:02:04,317
debt, which I'm sure all the 
engineers here, uh, know about 

43
00:02:04,317 --> 00:02:06,879
technical debt. 
Uh, we hate technical debt, but 

44
00:02:06,879 --> 00:02:10,107
also at the same time, sometimes
we create technical debt 

45
00:02:10,107 --> 00:02:12,471
ourselves. 
So today we are going to learn 

46
00:02:12,471 --> 00:02:15,986
what is actually technical debt 
and how can we manage it much, 

47
00:02:15,986 --> 00:02:19,128
much better from Dr. Andrew. 
So Andrew, uh, looking forward 

48
00:02:19,128 --> 00:02:21,450
for this conversation. 
Thank you so much for this 

49
00:02:21,450 --> 00:02:23,634
opportunity. 
Thank you for inviting me on. 

50
00:02:24,753 --> 00:02:26,923
Right. 
Andrew, in the very, uh, 

51
00:02:26,923 --> 00:02:29,868
beginning, I'd always love to 
invite my guest to share a 

52
00:02:29,868 --> 00:02:31,230
little bit more about yourself, 
right? 

53
00:02:31,230 --> 00:02:33,843
Maybe you can use like career 
turning points that you can 

54
00:02:33,843 --> 00:02:35,370
share so that we can learn from 
you. 

55
00:02:36,224 --> 00:02:39,156
Yeah, sure. 
So, um, yeah, so I think that it

56
00:02:39,156 --> 00:02:41,822
was perhaps about three career 
turning points for myself 

57
00:02:41,822 --> 00:02:45,044
really. 
So the first one was I did a PhD

58
00:02:45,044 --> 00:02:47,444
in semiconductors. 
And so I had a plan. 

59
00:02:47,834 --> 00:02:51,019
And my plan was to have a career
in semiconductors because I 

60
00:02:51,019 --> 00:02:53,194
could see that as a bright 
future. 

61
00:02:53,194 --> 00:02:55,984
And there was gonna be a big 
future in semiconductors there. 

62
00:02:56,602 --> 00:03:00,756
But when I graduated, the 
semiconductor industry was in 

63
00:03:00,756 --> 00:03:04,167
recession and it remained in 
recession for about two years or

64
00:03:04,167 --> 00:03:07,552
so. 
And so I think then that, that 

65
00:03:07,552 --> 00:03:10,990
basically, that taught me a, an 
important lesson right at the 

66
00:03:10,990 --> 00:03:13,449
start of my career, which was 
that actually, although you may 

67
00:03:13,449 --> 00:03:16,689
have flat plans, you are gonna 
have to be flexible about those 

68
00:03:16,689 --> 00:03:20,153
plans. 
And so I looked around and 

69
00:03:20,153 --> 00:03:24,724
eventually I got another job at 
a, in a different industry, 

70
00:03:24,724 --> 00:03:26,931
which was in scientific 
instruments. 

71
00:03:27,171 --> 00:03:30,911
And I traveled around the world 
actually as an engineer 

72
00:03:30,911 --> 00:03:33,386
installing these machines. 
So they were pretty big 

73
00:03:33,386 --> 00:03:34,989
machines. 
They were called mass 

74
00:03:34,989 --> 00:03:37,389
spectrometers. 
They were about the size of a 

75
00:03:37,389 --> 00:03:40,314
car, weighed a couple of tons, 
and they cost about half a 

76
00:03:40,314 --> 00:03:42,921
million pounds, and they took 
about three months to install. 

77
00:03:42,921 --> 00:03:46,251
So you're spending a lot of time
in foreign countries there. 

78
00:03:46,491 --> 00:03:50,234
So I saw a lot of different 
countries, a lot of different 

79
00:03:50,234 --> 00:03:52,506
cultures, and that sort of woke 
you up as well too. 

80
00:03:52,656 --> 00:03:54,917
Things could be different, 
equally valid there. 

81
00:03:55,579 --> 00:03:59,089
And actually that's where I met 
my wife or my late wife. 

82
00:03:59,179 --> 00:04:04,130
Um, I was working in Japan and I
then met her whilst I was 

83
00:04:04,130 --> 00:04:07,562
working out there. 
And again, that came to another 

84
00:04:07,562 --> 00:04:10,700
big career decision and I 
decided to move to Japan so that

85
00:04:10,700 --> 00:04:13,924
we could be together. 
And so I moved to Japan. 

86
00:04:13,924 --> 00:04:17,108
We had a nice time and then 
eventually we came back and we 

87
00:04:17,108 --> 00:04:18,784
lived and settled down in 
England there. 

88
00:04:19,488 --> 00:04:23,046
The other big change or the big 
career turning point was that 

89
00:04:23,046 --> 00:04:25,684
when I started, I was in a lot 
of hardware there. 

90
00:04:26,334 --> 00:04:29,452
And I resisted. 
I could see that software was 

91
00:04:29,452 --> 00:04:31,884
increasing, but I resisted going
into it. 

92
00:04:32,244 --> 00:04:36,060
And part of the reason was that 
I could see that I knew some 

93
00:04:36,060 --> 00:04:38,714
friends and they'd been in 
software development. 

94
00:04:39,258 --> 00:04:42,048
But the technology had moved on.
The languages they were using 

95
00:04:42,048 --> 00:04:45,684
had gone out of fashion and they
were out of a job and they found

96
00:04:45,684 --> 00:04:48,984
it very difficult. 
And so I was very reluctant to 

97
00:04:48,984 --> 00:04:52,030
get into an industry where they 
just threw people out of work 

98
00:04:52,030 --> 00:04:54,669
like that. 
But actually, eventually, I went

99
00:04:54,669 --> 00:04:58,366
in there and I'm glad I did 
because although, and I have 

100
00:04:58,366 --> 00:05:00,905
been thrown out of work a couple
of times. 

101
00:05:01,205 --> 00:05:04,058
Actually, so long as you're 
keeping your skills up to date, 

102
00:05:04,058 --> 00:05:06,275
and that's a really important 
thing in software. 

103
00:05:06,545 --> 00:05:09,754
If you keep your skills up to 
date so you've got something 

104
00:05:09,754 --> 00:05:13,174
marketable, you may lose one job
but there will be another job 

105
00:05:13,174 --> 00:05:15,205
there somewhere that you can get
into. 

106
00:05:15,865 --> 00:05:20,087
And so I would say that that was
an important lesson there really

107
00:05:20,087 --> 00:05:23,830
of making sure that you always 
stay up to date and current or 

108
00:05:23,830 --> 00:05:26,595
you are learning something new. 
Always, always be learning 

109
00:05:26,595 --> 00:05:27,275
something new. 
Yeah. 

110
00:05:28,226 --> 00:05:29,846
Oh, thank you for sharing your 
story. 

111
00:05:29,846 --> 00:05:32,744
I think it's very insightful and
very timely as well in this kind

112
00:05:32,744 --> 00:05:35,822
of a time, right, where people, 
maybe some of us are feeling a 

113
00:05:35,822 --> 00:05:38,126
little bit concerned about our 
jobs, our career. 

114
00:05:38,366 --> 00:05:41,302
Maybe because of the AI 
disruption, maybe because of the

115
00:05:41,302 --> 00:05:44,002
economical situations and so 
many changes, uh, happening 

116
00:05:44,002 --> 00:05:46,126
globally. 
So I think, uh, I really love 

117
00:05:46,126 --> 00:05:48,506
the first point as well where 
you should be flexible. 

118
00:05:48,506 --> 00:05:52,658
I think many people career, 
right, doesn't go as planned in 

119
00:05:52,658 --> 00:05:54,820
the very beginning, right? 
We always love to plan, oh, I 

120
00:05:54,820 --> 00:05:57,530
wanna do this, I wanna stay on 
this career track, to climb the 

121
00:05:57,530 --> 00:06:00,806
ladder or something like that. 
But most of the people that I've

122
00:06:00,806 --> 00:06:03,480
talked to actually said that 
their career plan actually are 

123
00:06:03,480 --> 00:06:06,329
different than what they used to
think about in the very 

124
00:06:06,329 --> 00:06:08,860
beginning. 
Before we continue, I want to 

125
00:06:08,860 --> 00:06:11,990
tell you about our sponsor 
Jellyfish, who helps engineering

126
00:06:11,990 --> 00:06:14,782
teams measure the real impact of
AI adoption. 

127
00:06:15,172 --> 00:06:18,930
Let's hear what they have to 
say. 90% of engineering teams 

128
00:06:18,930 --> 00:06:23,042
use AI, but few can measure its 
actual impact. 

129
00:06:26,192 --> 00:06:27,962
It doesn't have to be a guessing
game. 

130
00:06:29,252 --> 00:06:32,460
Jellyfish gives you a 
comprehensive view across your 

131
00:06:32,460 --> 00:06:37,544
AI development activity. 
Know where AI hurts, where it 

132
00:06:37,544 --> 00:06:41,162
helps, and how to guide your 
team with confidence. 

133
00:06:41,942 --> 00:06:48,533
Learn more at jellyfish.co/ai. 
And now let's get back to our 

134
00:06:48,533 --> 00:06:50,352
episode. 
So I think maybe, uh, let's 

135
00:06:50,352 --> 00:06:53,824
touch on a little bit on this. 
So for people who are maybe in 

136
00:06:53,824 --> 00:06:57,015
lots of concerns these days or 
whatever situation that they are

137
00:06:57,015 --> 00:07:00,009
in. 
So maybe looking back, what kind

138
00:07:00,009 --> 00:07:04,733
of, um, confidence, that made 
you, you know, brave enough to 

139
00:07:04,733 --> 00:07:07,490
take those kind of, uh, risky 
moves, maybe back then, right? 

140
00:07:07,490 --> 00:07:10,034
Because you just said your 
friends, you know, got out of a 

141
00:07:10,034 --> 00:07:11,810
job because programming language
changed and things like that. 

142
00:07:11,810 --> 00:07:14,725
So maybe people can get some 
inspiration from your journey as

143
00:07:14,725 --> 00:07:16,028
well. 
Yeah. 

144
00:07:16,028 --> 00:07:20,504
So I would, I would say that in 
terms of, uh, making risky 

145
00:07:20,504 --> 00:07:23,895
moves, yeah, it's something that
actually people talk about 

146
00:07:23,895 --> 00:07:28,190
afterwards, but at the time, 
they're not actually as risky or

147
00:07:28,190 --> 00:07:32,436
you make it as- as un-risky, at 
least risky as possible. 

148
00:07:32,646 --> 00:07:37,507
So for example, if AI's coming 
along, it would be madness to 

149
00:07:37,507 --> 00:07:41,086
leave your job and start 
learning AI or something like 

150
00:07:41,086 --> 00:07:43,417
that. 
You should be continuing in what

151
00:07:43,417 --> 00:07:45,037
you are, seeing what is 
happening. 

152
00:07:45,037 --> 00:07:49,571
And most of us can read fairly 
clearly that big things are 

153
00:07:49,571 --> 00:07:53,632
happening in AI. 
And you can actually then start 

154
00:07:53,632 --> 00:07:58,164
to learn about AI and get some 
skills there that are marketable

155
00:07:58,164 --> 00:08:00,484
in the environment and in the 
industry. 

156
00:08:01,084 --> 00:08:04,319
'Cause one of the, you know, 
terrific things about the 

157
00:08:04,319 --> 00:08:08,461
internet is that so much 
knowledge, so much information, 

158
00:08:08,461 --> 00:08:12,375
firstly, is available, and 
secondly, so much of it's 

159
00:08:12,375 --> 00:08:15,224
available for free. 
You don't have to be paying lots

160
00:08:15,224 --> 00:08:16,829
and lots of money for these 
things. 

161
00:08:16,829 --> 00:08:20,074
You can do it, and there's 
people out there that are happy 

162
00:08:20,074 --> 00:08:24,124
to take your money off you, but 
there's enormous amounts that is

163
00:08:24,124 --> 00:08:27,238
free. 
And a lot of it's from very, 

164
00:08:27,238 --> 00:08:30,490
very good institutions like the 
MIT, Massachusetts Institute of 

165
00:08:30,490 --> 00:08:34,339
Technology, is giving away loads
and loads of its online courses 

166
00:08:34,339 --> 00:08:38,019
for free there. 
So look for education that's 

167
00:08:38,019 --> 00:08:42,729
free and get yourself skilled up
before you need to be skilled 

168
00:08:42,729 --> 00:08:45,676
up. 
Yeah, I think it's always, uh, 

169
00:08:45,676 --> 00:08:48,641
very useful to always keep 
yourself kind of like hungry for

170
00:08:48,641 --> 00:08:50,862
knowledge, right? 
Keep learning as and when new 

171
00:08:50,862 --> 00:08:52,977
technology coming in. 
Uh, definitely we have fears. 

172
00:08:52,977 --> 00:08:56,515
I also have fear about, you 
know, how AI is gonna disrupt my

173
00:08:56,515 --> 00:08:58,584
role. 
But I guess, um, depending on 

174
00:08:58,584 --> 00:09:01,301
your passion, depending on your 
interests as well, you can 

175
00:09:01,301 --> 00:09:04,127
always keep that hunger to 
always learn, upskill yourself 

176
00:09:04,127 --> 00:09:06,915
and make yourself marketable, 
that which is something that is 

177
00:09:06,915 --> 00:09:10,438
very important as well. 
So, Andrew, today we are going 

178
00:09:10,438 --> 00:09:13,363
to talk about your book, Taming 
Your Dragon: Addressing 

179
00:09:13,363 --> 00:09:16,055
Technical Debt. 
So in the first place, maybe 

180
00:09:16,055 --> 00:09:18,798
let's go to the definition of 
technical debt, because many 

181
00:09:18,798 --> 00:09:21,052
people in the engineering, 
software engineering industry 

182
00:09:21,052 --> 00:09:24,957
would have used technical debt 
as a term, maybe quite loosely. 

183
00:09:25,647 --> 00:09:28,377
Um, so maybe in the first place,
what do you mean by technical 

184
00:09:28,377 --> 00:09:32,065
debt? 
Okay, so I think that I would be

185
00:09:32,065 --> 00:09:34,765
fairly conventional with what I 
mean by technical debt. 

186
00:09:35,082 --> 00:09:39,411
I would take technical debt to 
be the additional work which you

187
00:09:39,411 --> 00:09:44,964
will or someone will need to do 
in the future as a result of 

188
00:09:44,964 --> 00:09:49,446
choosing to a solution which is 
expedient in the short term, but

189
00:09:49,446 --> 00:09:52,281
is going to cause you longer 
term issues there. 

190
00:09:53,121 --> 00:09:56,199
So, I would say it's no more 
than that really. 

191
00:09:58,305 --> 00:10:00,274
Wow. 
This is, uh, quite a very 

192
00:10:00,274 --> 00:10:02,486
interesting definition because, 
uh, yeah, you can see that 

193
00:10:02,486 --> 00:10:04,270
there's kind of like a trade off
here, right? 

194
00:10:04,270 --> 00:10:08,814
So long-term kind of problems, 
but a very maybe short, fast 

195
00:10:08,814 --> 00:10:11,194
delivery, right? 
Uh, it's kind of like taking 

196
00:10:11,194 --> 00:10:13,507
shortcut in a sense. 
So I think I like that 

197
00:10:13,507 --> 00:10:15,415
definition, right? 
So, because many people 

198
00:10:15,415 --> 00:10:18,118
associate technical debt in 
software engineering, especially

199
00:10:18,118 --> 00:10:21,001
with financial debt. 
So, you know, thinking about, 

200
00:10:21,001 --> 00:10:23,697
okay, we take some debt here 
maybe for our loans, mortgage, 

201
00:10:23,697 --> 00:10:26,706
whatever that is, right, and 
we'll kind of like repay them 

202
00:10:26,706 --> 00:10:29,837
back sometime in the future. 
So I know in your book you 

203
00:10:29,837 --> 00:10:32,696
mentioned about this kind of 
analogy maybe is broken in some 

204
00:10:32,696 --> 00:10:34,633
ways. 
So maybe tell us why financial 

205
00:10:34,633 --> 00:10:37,448
debt may be not a good 
association with technical debt.

206
00:10:38,102 --> 00:10:40,304
Yeah, so certainly. 
I think that, well, the first 

207
00:10:40,304 --> 00:10:44,086
thing to say about the analogy 
to financial debt is that it's 

208
00:10:44,086 --> 00:10:46,421
given us tremendous benefits 
there. 

209
00:10:46,761 --> 00:10:51,010
And because first and foremost, 
everybody understands financial 

210
00:10:51,010 --> 00:10:54,287
debt. 
So everybody has taken out a 

211
00:10:54,287 --> 00:10:58,526
loan of or owed money in some 
way, and so they understand 

212
00:10:58,526 --> 00:11:00,578
that. 
They understand the benefits and

213
00:11:00,578 --> 00:11:01,598
they understand the 
consequences. 

214
00:11:01,598 --> 00:11:03,930
So they understand that perhaps 
if they take on some debt, they 

215
00:11:03,930 --> 00:11:06,388
can do things that they couldn't
otherwise do. 

216
00:11:06,838 --> 00:11:09,788
And that's the benefits of it. 
So, you know, you, if you, um, 

217
00:11:09,788 --> 00:11:13,786
you want a job in the next city,
but you need a car to get there,

218
00:11:13,786 --> 00:11:17,440
then you take out a car loan. 
And so that's a good debt to 

219
00:11:17,440 --> 00:11:19,940
take out. 
And you also understand that 

220
00:11:19,940 --> 00:11:22,946
you're going to have to continue
paying that after you've 

221
00:11:22,946 --> 00:11:25,951
received the benefits. 
It's very useful in that way 

222
00:11:25,951 --> 00:11:29,246
because it gets people to 
understand it very, very well. 

223
00:11:29,246 --> 00:11:33,879
So it allows people very quickly
to understand the essence of it.

224
00:11:34,504 --> 00:11:38,512
The problem with the analogy of 
technical debt is that it isn't 

225
00:11:38,512 --> 00:11:42,711
an exact analogy. 
And so technical debt is, it 

226
00:11:42,711 --> 00:11:48,556
would be like you took out a car
loan in order to get this job, 

227
00:11:48,556 --> 00:11:51,993
but you don't know what your 
interest rate is, and you don't 

228
00:11:51,993 --> 00:11:53,723
know when you're gonna have to 
repay it. 

229
00:11:54,143 --> 00:11:56,003
And maybe you're never gonna 
have to repay it. 

230
00:11:56,003 --> 00:11:58,911
Maybe somebody else is gonna 
have to repay it, you know, in 

231
00:11:58,911 --> 00:12:00,413
which case we'll take out some 
more. 

232
00:12:01,066 --> 00:12:05,129
And you don't know exactly all 
these details of it and you 

233
00:12:05,129 --> 00:12:06,847
don't know what the interest 
rate is. 

234
00:12:07,390 --> 00:12:09,885
And you don't know the 
repayments or anything like 

235
00:12:09,885 --> 00:12:12,166
that. 
And also, perhaps the most scary

236
00:12:12,166 --> 00:12:15,634
thing is that at the same time 
you're taking out this technical

237
00:12:15,634 --> 00:12:18,911
debt, perhaps someone is handing
out lots and lots of credit 

238
00:12:18,911 --> 00:12:22,599
cards to that account there. 
And all these other people, 

239
00:12:22,599 --> 00:12:26,339
including your daughter, spend 
thrift daughter, she can then go

240
00:12:26,339 --> 00:12:30,167
out and rack up lots and lots of
debt on this debt to get 

241
00:12:30,167 --> 00:12:32,629
benefits for herself, which you 
are gonna have to pay out. 

242
00:12:33,079 --> 00:12:36,427
So that's perhaps a closer 
analogy to what the technical 

243
00:12:36,427 --> 00:12:39,492
debt really is. 
It's a very scary, very strange 

244
00:12:39,492 --> 00:12:42,498
kind of financial debt there. 
Right. 

245
00:12:42,498 --> 00:12:45,141
So I love that you mentioned 
that we don't know the interest 

246
00:12:45,141 --> 00:12:47,933
rate that is gonna be 
accumulated if you don't pay, 

247
00:12:47,933 --> 00:12:50,061
repay the debt, so to speak, 
right? 

248
00:12:50,301 --> 00:12:53,233
And you kinda also don't know 
when you should repay the debt 

249
00:12:53,233 --> 00:12:55,818
fully, right? 
So I think that's a very good, 

250
00:12:55,818 --> 00:12:57,741
uh, reminder, right? 
Because when we talk about 

251
00:12:57,741 --> 00:13:00,117
financial debt, usually it comes
up with all this commitments, 

252
00:13:00,117 --> 00:13:02,901
you know, contract, whatever 
that is, right, upfront. 

253
00:13:03,208 --> 00:13:05,923
But when we incur technical 
debt, probably we don't know how

254
00:13:05,923 --> 00:13:09,163
to answer some of those. 
So you mentioned about, for 

255
00:13:09,163 --> 00:13:11,513
example, people take technical 
debt for shortcut. 

256
00:13:11,723 --> 00:13:15,434
Um, some of these are really not
just technical kind of decision,

257
00:13:15,434 --> 00:13:17,476
right? 
But in your book you mentioned 

258
00:13:17,476 --> 00:13:20,790
it could be organizational issue
or some kind of human bias. 

259
00:13:20,850 --> 00:13:24,018
So tell us these two elements. 
Why is it also important to 

260
00:13:24,018 --> 00:13:26,494
actually put in place when you 
want to understand technical 

261
00:13:26,494 --> 00:13:29,952
debt? 
So, I think the first thing to 

262
00:13:29,952 --> 00:13:32,729
understand about technical debt 
is that it's not really a 

263
00:13:32,729 --> 00:13:35,582
technical problem. 
It sounds as if it is, because 

264
00:13:35,582 --> 00:13:37,707
it's got the word technical in 
there and it's got this debt. 

265
00:13:38,007 --> 00:13:42,087
But really what it is is it's a 
problem about trade-offs. 

266
00:13:42,507 --> 00:13:46,347
So nobody takes on technical 
debt just for the fun of it. 

267
00:13:46,952 --> 00:13:48,912
We take on technical debt for a 
reason. 

268
00:13:49,462 --> 00:13:53,017
And usually, we take on the 
technical debt because we want 

269
00:13:53,017 --> 00:13:57,008
to be able to do something that 
we couldn't otherwise do if we 

270
00:13:57,008 --> 00:14:00,583
didn't take on that debt. 
So it's usually, it's going to 

271
00:14:00,583 --> 00:14:03,439
be something like we want 
additional features there. 

272
00:14:04,249 --> 00:14:08,461
So for example, the product 
manager might, they know that 

273
00:14:08,461 --> 00:14:12,001
they that this technical debt is
gonna be bad for the product 

274
00:14:12,001 --> 00:14:14,904
long term, but they need to 
squeeze this extra feature in. 

275
00:14:15,574 --> 00:14:19,292
Or perhaps it is for a project 
manager, it is, they know that 

276
00:14:19,292 --> 00:14:22,713
piling up technical debt is 
going to be a problem, but they 

277
00:14:22,713 --> 00:14:26,133
need to get this project in and 
they are being measured by that.

278
00:14:26,523 --> 00:14:30,670
So it's technical debt is just a
consequence of a trade off that 

279
00:14:30,670 --> 00:14:32,920
people have made. 
So they've made it there. 

280
00:14:33,576 --> 00:14:36,120
That then leads to an 
interesting point because 

281
00:14:36,120 --> 00:14:39,571
practically every company you go
into, they will say, we've got 

282
00:14:39,571 --> 00:14:43,075
too much technical debt. 
So then you've really gotta ask,

283
00:14:43,075 --> 00:14:44,769
well, what does that mean, you 
know? 

284
00:14:45,254 --> 00:14:48,758
It must mean that you've made 
trade-offs that now you are 

285
00:14:48,758 --> 00:14:52,398
regretting, in which case then 
you have to ask, well, what has 

286
00:14:52,398 --> 00:14:55,938
caused you to make trade-offs 
that you now regret there? 

287
00:14:55,968 --> 00:14:59,520
And then that gets into the 
technical debt, the trade-off 

288
00:14:59,520 --> 00:15:01,922
there. 
So really, if you want to 

289
00:15:01,922 --> 00:15:04,756
understand why you've got too 
much technical debt, you've 

290
00:15:04,756 --> 00:15:08,415
really gotta understand how your
mind makes trade-offs and how 

291
00:15:08,415 --> 00:15:12,333
you trade one thing for another 
and why it is that technical 

292
00:15:12,333 --> 00:15:15,280
debt comes off so badly in that 
trade off, really. 

293
00:15:16,333 --> 00:15:18,526
Yeah. 
So I always find it quite 

294
00:15:18,526 --> 00:15:21,088
fascinating because I personally
also have this kind of thinking,

295
00:15:21,088 --> 00:15:23,128
right? 
So we all hate technical debt. 

296
00:15:23,158 --> 00:15:25,284
Every time we go to 
organizations, seeing any kind 

297
00:15:25,284 --> 00:15:28,659
of code base, we can point out 
really, really, fast that, okay,

298
00:15:28,659 --> 00:15:30,914
this is not good. 
This design probably doesn't 

299
00:15:30,914 --> 00:15:32,802
scale well. 
It's a technical debt here and 

300
00:15:32,802 --> 00:15:35,154
there. 
But every time we create, for 

301
00:15:35,154 --> 00:15:37,884
example, new code, develop 
something new, conscious, either

302
00:15:37,884 --> 00:15:41,550
consciously or unconsciously, we
are also creating technical debt

303
00:15:41,550 --> 00:15:43,456
ourselves. 
I think also maybe because this 

304
00:15:43,456 --> 00:15:45,477
is the nature of software 
development, where you can't 

305
00:15:45,477 --> 00:15:48,224
always, you know, create a 
perfect design since the very 

306
00:15:48,224 --> 00:15:50,682
beginning, right? 
So maybe tell us this kind of, 

307
00:15:50,682 --> 00:15:52,522
uh, I would say is a paradox, 
right? 

308
00:15:52,522 --> 00:15:54,517
Sometimes you hate technical 
debt, but you're always 

309
00:15:54,517 --> 00:15:58,316
incurring it no matter what. 
What do you think will be a good

310
00:15:58,316 --> 00:16:01,432
mindset for software engineers 
out there to have a healthier 

311
00:16:01,432 --> 00:16:02,776
relationship with technical 
debt? 

312
00:16:03,876 --> 00:16:07,217
I think that really, to have a 
healthier relationship with 

313
00:16:07,217 --> 00:16:12,039
technical debt, what they need 
to be doing is the engineers 

314
00:16:12,039 --> 00:16:16,219
need to be moving beyond 
thinking of technical debt as 

315
00:16:16,219 --> 00:16:20,376
this technical problem there. 
It's actually because it's a 

316
00:16:20,376 --> 00:16:23,707
trade-off problem, almost 
certainly, they are only gonna 

317
00:16:23,707 --> 00:16:26,041
be partially involved in making 
that trade-off. 

318
00:16:26,961 --> 00:16:28,821
Often, it's gonna be the 
stakeholders. 

319
00:16:29,601 --> 00:16:33,321
And so the stakeholders, they're
going to want this project in or

320
00:16:33,321 --> 00:16:34,731
they're gonna want these 
features. 

321
00:16:35,383 --> 00:16:39,179
And they are prepared to put up 
with, either put up with this 

322
00:16:39,179 --> 00:16:42,149
technical debt or they are 
unaware of the long-term 

323
00:16:42,149 --> 00:16:47,443
consequences of it. 
So it's really, it's having that

324
00:16:47,443 --> 00:16:52,170
conversation and uncovering and 
surfacing these contradictions 

325
00:16:52,170 --> 00:16:55,368
there. 
And basically between the 

326
00:16:55,368 --> 00:16:58,710
technical debt, balancing 
technical debt and balancing 

327
00:16:58,710 --> 00:17:04,106
whatever those business needs 
are, because if you built 

328
00:17:04,106 --> 00:17:06,723
software so there was no 
technical debt, it would be 

329
00:17:06,723 --> 00:17:09,369
delivered so late that it had no
business purpose there. 

330
00:17:09,849 --> 00:17:14,226
So there has to be some kind of 
trade-off, and it's probably, 

331
00:17:14,226 --> 00:17:16,339
it's gonna have to be made by 
the business. 

332
00:17:17,030 --> 00:17:20,334
But the business aren't 
sufficiently well informed about

333
00:17:20,334 --> 00:17:24,273
the technical consequences of 
this that they can make a fully 

334
00:17:24,273 --> 00:17:26,573
informed decision. 
So it's having those 

335
00:17:26,573 --> 00:17:30,546
conversations there with the 
business around it so they can 

336
00:17:30,546 --> 00:17:33,856
do a better balancing act there.
Right. 

337
00:17:34,126 --> 00:17:36,472
I think it's a very good 
reminder because, uh, sometimes 

338
00:17:36,472 --> 00:17:39,331
technical people, software 
engineers, we love to make 

339
00:17:39,331 --> 00:17:42,196
decisions solely, purely from 
technical point of view, right? 

340
00:17:42,460 --> 00:17:45,725
But I think you just put up a 
good reminder, uh, because you 

341
00:17:45,725 --> 00:17:48,319
need to communicate. 
You need to un-surface, uncover 

342
00:17:48,319 --> 00:17:52,449
this kind of a potential issues,
if let's say you take a certain 

343
00:17:52,449 --> 00:17:54,464
decisions. 
I would say it's more like an 

344
00:17:54,464 --> 00:17:56,919
informed trade off rather than, 
you know, purely just technical 

345
00:17:56,919 --> 00:17:58,789
basis, uh, kind of like a 
trade-off. 

346
00:17:59,149 --> 00:18:02,262
And sometimes also when we 
develop, we know that it's going

347
00:18:02,262 --> 00:18:05,909
to go into certain direction, 
uh, and we just assume, many 

348
00:18:05,909 --> 00:18:09,019
assumption in our head that, 
okay, this will go this way. 

349
00:18:09,319 --> 00:18:11,424
But actually, if you talk about 
it, maybe with your team, maybe 

350
00:18:11,424 --> 00:18:14,163
with the stakeholders, I mean it
could turn out to different 

351
00:18:14,163 --> 00:18:15,859
direction. 
Maybe different trade-off will 

352
00:18:15,859 --> 00:18:19,786
be taken altogether, right? 
So maybe speaking of which, um, 

353
00:18:19,786 --> 00:18:22,463
for putting a healthier 
relationship, I know that you 

354
00:18:22,463 --> 00:18:25,547
also come up with this technical
debt onion model, which is kind 

355
00:18:25,547 --> 00:18:29,328
of like framework or maybe 
perspectives how we should, I 

356
00:18:29,328 --> 00:18:32,132
don't know, like uncover 
different layers of technical 

357
00:18:32,132 --> 00:18:34,673
debt. 
So tell me, uh, well first of 

358
00:18:34,673 --> 00:18:36,668
all, the idea of this onion 
model. 

359
00:18:37,708 --> 00:18:41,435
So the idea about the onion was 
that, well the first part was I 

360
00:18:41,435 --> 00:18:44,111
had this realization that 
technical debt is not a 

361
00:18:44,111 --> 00:18:46,955
technical problem. 
It's this trade-off problem. 

362
00:18:46,955 --> 00:18:52,517
And then understanding that. 
But then I gradually, I realized

363
00:18:52,517 --> 00:18:58,330
that even if you address the 
trade-off problem there, so in 

364
00:18:58,330 --> 00:19:02,028
other words, if you understood 
how we make trade offs there. 

365
00:19:02,598 --> 00:19:05,658
And the way that we make 
trade-offs is, or in fact the 

366
00:19:05,658 --> 00:19:08,898
way we make any decisions, is we
use our emotions. 

367
00:19:09,378 --> 00:19:12,618
We may think we use logic but 
actually we use our emotions. 

368
00:19:12,978 --> 00:19:16,984
And what we use in our logic is 
it's just post-decision 

369
00:19:16,984 --> 00:19:19,260
rationalization. 
We use the logic to rationalize 

370
00:19:19,260 --> 00:19:20,838
the decision that our emotions 
made. 

371
00:19:21,619 --> 00:19:24,877
In which case then you've gotta 
understand, well, why in that 

372
00:19:24,877 --> 00:19:27,810
emotional decision does 
technical debt fared so badly? 

373
00:19:28,392 --> 00:19:30,542
I look at that in the book then 
and talk about that. 

374
00:19:31,102 --> 00:19:35,103
But then what I realized was 
that even if you address those 

375
00:19:35,103 --> 00:19:38,262
problems there and you know that
this technical debt is bad, and 

376
00:19:38,262 --> 00:19:41,822
you know and you understand that
emotionally, what happens is 

377
00:19:41,822 --> 00:19:47,390
that actually you are not making
your decision as an isolated 

378
00:19:47,390 --> 00:19:50,009
individual. 
You are making your decision as 

379
00:19:50,009 --> 00:19:54,236
a role in an organization. 
And in that role, you've got 

380
00:19:54,236 --> 00:19:56,534
some responsibilities, some 
demands that are made upon you. 

381
00:19:56,534 --> 00:20:00,354
So if as the project manager you
are making that trade-off 

382
00:20:00,374 --> 00:20:03,265
decision about technical debt, 
you may know that it's really 

383
00:20:03,265 --> 00:20:05,174
bad for the company to take this
on. 

384
00:20:06,134 --> 00:20:09,902
But also you are being measured 
by getting this project in 

385
00:20:09,902 --> 00:20:11,770
you've gotta getting it in on 
time. 

386
00:20:12,220 --> 00:20:14,900
And that's what you're being 
measured by, not by the 

387
00:20:14,900 --> 00:20:18,704
technical debt. 
So you are acting in your own 

388
00:20:18,704 --> 00:20:23,660
best interests, and you are 
acting actually as the company 

389
00:20:23,660 --> 00:20:28,612
is pointing you with its 
incentives and its rewards and 

390
00:20:28,612 --> 00:20:32,120
its punishments there. 
So you are, you are doing what 

391
00:20:32,120 --> 00:20:33,974
is appropriate for that role 
there. 

392
00:20:34,244 --> 00:20:38,487
So you need to understand how 
decisions in systems are made. 

393
00:20:38,487 --> 00:20:43,704
So you really need to understand
systems thinking as well for two

394
00:20:43,704 --> 00:20:45,348
reasons. 
The first is that these 

395
00:20:45,348 --> 00:20:48,138
decisions in a system will be 
made differently from 

396
00:20:48,138 --> 00:20:51,688
individuals. 
But secondly, you need to also 

397
00:20:51,688 --> 00:20:56,262
understand how things work when 
you have them in a system there 

398
00:20:56,262 --> 00:21:01,445
and how, for example, by piling 
up technical debt, you can get a

399
00:21:01,445 --> 00:21:05,311
runaway effect there of suddenly
too much technical debt causes 

400
00:21:05,311 --> 00:21:08,833
the development to really slow 
down from which you cannot 

401
00:21:08,833 --> 00:21:11,976
recover. 
So you really need to understand

402
00:21:11,976 --> 00:21:15,339
these systems as well. 
And then what I realized from 

403
00:21:15,339 --> 00:21:18,599
there was actually, if you're 
talking about individuals making

404
00:21:18,599 --> 00:21:22,918
decisions within a system, 
essentially that's their 

405
00:21:22,918 --> 00:21:24,999
economics. 
That's what economics is. 

406
00:21:25,539 --> 00:21:29,808
And so then I looked at, well, 
what can economists teach us? 

407
00:21:29,878 --> 00:21:33,583
And economists have been looking
at problems similar to this for 

408
00:21:33,583 --> 00:21:37,810
hundreds of years. 
So they've got a whole series of

409
00:21:37,810 --> 00:21:40,757
problems that they have 
highlighted and addressed. 

410
00:21:41,567 --> 00:21:44,353
And the really good thing about 
looking at it from the economist

411
00:21:44,353 --> 00:21:47,921
point of view is that, firstly, 
that they, they've studied it 

412
00:21:47,921 --> 00:21:50,193
already, so you don't need to 
reinvent the wheel. 

413
00:21:51,083 --> 00:21:54,938
But secondly, they are talking 
the language of business very 

414
00:21:54,938 --> 00:21:57,785
often. 
So very often we, we find it 

415
00:21:57,785 --> 00:21:59,423
difficult to engage with the 
business. 

416
00:21:59,423 --> 00:22:02,033
And we may talk about technical 
debt and we may talk about these

417
00:22:02,033 --> 00:22:05,486
risks and this and that. 
But all the business people here

418
00:22:05,486 --> 00:22:07,678
is ya-ya-ya-ya.. 
And it doesn't really go in. 

419
00:22:08,398 --> 00:22:11,698
Whereas if you start talking 
about externalities or the 

420
00:22:11,818 --> 00:22:15,298
principal-agent problem there, 
it's likely that it's something 

421
00:22:15,298 --> 00:22:16,598
that they met at business 
school. 

422
00:22:17,208 --> 00:22:20,098
And so straightaway, you are 
talking their language. 

423
00:22:20,428 --> 00:22:24,515
So that's an advantage of this, 
looking at the economics layer. 

424
00:22:25,335 --> 00:22:29,159
And then underneath that I put a
final layer, which was around 

425
00:22:29,159 --> 00:22:32,980
wicked problems. 
And so really, technical debt, 

426
00:22:32,980 --> 00:22:37,161
and in fact all, every, 
practically everything that we 

427
00:22:37,161 --> 00:22:40,215
do in software development is a 
wicked problem. 

428
00:22:40,913 --> 00:22:43,823
And so I talk about wicked 
problems and tame problems. 

429
00:22:44,273 --> 00:22:49,042
And so tame problem is it's a 
problem like chess or a game of 

430
00:22:49,042 --> 00:22:53,757
some sort that has some rules 
and there is a single solution 

431
00:22:53,757 --> 00:22:57,135
or there's a solution which 
everyone will agree is better 

432
00:22:57,135 --> 00:23:01,284
than another solution there. 
Whereas in a wicked problem, 

433
00:23:01,284 --> 00:23:03,176
it's got several 
characteristics. 

434
00:23:03,817 --> 00:23:07,343
Uh, one of which is that 
different people may have 

435
00:23:07,343 --> 00:23:09,457
different opinions about what is
the best solution there. 

436
00:23:09,457 --> 00:23:13,235
So for example, on that of the 
road I live on, perhaps there's 

437
00:23:13,235 --> 00:23:16,807
a bit of noise. 
And my best solution is that 

438
00:23:16,807 --> 00:23:19,485
there's no noise at night. 
Whereas for the young people 

439
00:23:19,485 --> 00:23:21,712
that are coming back from the 
pub, there's a better solution 

440
00:23:21,712 --> 00:23:24,599
which is that there's a bit of 
noise as they come back from the

441
00:23:24,599 --> 00:23:26,377
pub. 
And... but it's all quiet by 

442
00:23:26,377 --> 00:23:28,961
three o'clock. 
And so you can see that's one 

443
00:23:28,961 --> 00:23:31,545
thing that you could have there 
is that there's different people

444
00:23:31,545 --> 00:23:33,705
may have different opinions 
about what the solution is. 

445
00:23:34,433 --> 00:23:37,926
But another thing as well, which
is very highly relevant for 

446
00:23:37,926 --> 00:23:42,045
software development, more so 
than any, most other types of 

447
00:23:42,045 --> 00:23:45,958
engineering problems, is that a 
wicked problem, very often, you 

448
00:23:45,958 --> 00:23:49,827
will not know the, um, you will 
not know the solution until you 

449
00:23:49,827 --> 00:23:52,915
find the solution. 
So you won't understand the 

450
00:23:52,915 --> 00:23:54,637
problem until you develop the 
solution. 

451
00:23:55,167 --> 00:23:58,707
And very often for us, we don't 
know what the software is going 

452
00:23:58,707 --> 00:24:00,871
to be because it's part of the 
exploration. 

453
00:24:01,081 --> 00:24:04,845
We think we are building one 
thing and it ends up we tell 

454
00:24:04,845 --> 00:24:08,295
people we are building something
else, and in the end it ends up 

455
00:24:08,295 --> 00:24:12,215
as something entirely different.
Whereas if you looked at say, 

456
00:24:12,215 --> 00:24:15,231
civil engineering, say 
constructing a bridge, you're 

457
00:24:15,231 --> 00:24:18,176
pretty sure what you're gonna 
end up with before you even 

458
00:24:18,176 --> 00:24:20,809
start. 
But that's not true in software 

459
00:24:20,809 --> 00:24:22,735
development. 
So very often we, we don't 

460
00:24:22,735 --> 00:24:25,152
understand the problem until we 
got to a solution. 

461
00:24:25,152 --> 00:24:29,112
So that's sort of a part of this
wicked, wickedness of the world 

462
00:24:29,112 --> 00:24:32,757
that we live in there. 
Wow, thanks for kind of like 

463
00:24:32,757 --> 00:24:35,410
walkthrough of all the layers. 
Just to recap, right, so you 

464
00:24:35,410 --> 00:24:37,988
have kind of like five layers. 
It's kind of like an onion 

465
00:24:37,988 --> 00:24:39,292
model, right? 
Layers by layers. 

466
00:24:39,562 --> 00:24:42,172
The inside, maybe the core, 
maybe it's technical layer. 

467
00:24:42,172 --> 00:24:43,732
And then you have the trade-off 
layer. 

468
00:24:44,062 --> 00:24:46,672
You have the systems layer, kind
of like the systems thinking 

469
00:24:46,672 --> 00:24:49,664
aspect that you mentioned. 
Then you have the economics of 

470
00:24:49,664 --> 00:24:52,762
game theory layer, and the last 
one is the wicked problems 

471
00:24:52,762 --> 00:24:56,033
layer. 
So maybe let's try to peel it 

472
00:24:56,033 --> 00:24:57,894
slightly, um, smaller layer, 
right? 

473
00:24:58,184 --> 00:25:01,259
So maybe I won't go deep into 
technical layer because I think 

474
00:25:01,259 --> 00:25:03,671
for software engineers, it's 
kind of like assumed we know 

475
00:25:03,671 --> 00:25:06,315
what kind of technical problems.
Maybe the design, scale, you 

476
00:25:06,315 --> 00:25:08,366
know, lack of tests and all 
that. 

477
00:25:08,366 --> 00:25:11,371
We'll just skip it all together.
But let's go to the trade off 

478
00:25:11,371 --> 00:25:13,726
layer, because I think this is 
quite important as an 

479
00:25:13,726 --> 00:25:16,016
individual, right? 
Whenever we make decisions, we 

480
00:25:16,016 --> 00:25:19,604
sometimes make a lot of 
trade-off, either knowingly or 

481
00:25:19,604 --> 00:25:21,527
unknowingly. 
So what are some of the 

482
00:25:21,527 --> 00:25:24,080
interesting aspects of the trade
off layer that you want to 

483
00:25:24,080 --> 00:25:27,105
remind us or you wanna kind of 
like advise us today? 

484
00:25:28,194 --> 00:25:31,614
So essentially, yeah. 
So the trade-off layer, when 

485
00:25:31,614 --> 00:25:35,042
you're making trade-offs, it's 
important to fully understand 

486
00:25:35,042 --> 00:25:39,950
how you make trade-offs, which I
said is we use our emotions. 

487
00:25:40,280 --> 00:25:46,009
And although we might talk about
logic and rationality, most of 

488
00:25:46,009 --> 00:25:49,734
the time the rationality comes 
in afterwards, and we just use 

489
00:25:49,734 --> 00:25:52,180
it to justify the decision that 
we've made. 

490
00:25:53,061 --> 00:25:57,621
And so you've really gotta 
understand what it is, how you 

491
00:25:57,621 --> 00:26:03,160
make decisions using emotions. 
Essentially you use something 

492
00:26:03,160 --> 00:26:08,061
called the effect heuristic, 
which is, it's like you're a 

493
00:26:08,061 --> 00:26:11,643
sort of, it's like your- an 
emotional sort of gauge there. 

494
00:26:12,243 --> 00:26:18,302
And what that does is it guides 
you in the decisions that you 

495
00:26:18,302 --> 00:26:20,508
make. 
And there's several important 

496
00:26:20,508 --> 00:26:24,962
things to realize. 
One of which is that this 

497
00:26:24,962 --> 00:26:26,822
process is entirely 
subconscious. 

498
00:26:27,272 --> 00:26:32,672
So you don't understand why you 
make these, um, decisions. 

499
00:26:32,822 --> 00:26:35,924
Although you will be able to 
justify it, you'll be able to 

500
00:26:35,924 --> 00:26:40,137
give a good reason, but that 
reason will be, uh, somewhat 

501
00:26:40,137 --> 00:26:42,882
spurious. 
And so they've done quite a lot 

502
00:26:42,882 --> 00:26:46,367
of experiments on people making 
decisions or having preferences.

503
00:26:46,952 --> 00:26:50,916
So one of which was, um, they 
took some, I would call them 

504
00:26:50,916 --> 00:26:53,598
kanji characters, but that's 
because I'm coming from a 

505
00:26:53,598 --> 00:26:56,636
Japanese background there. 
But it would be the Chinese 

506
00:26:56,636 --> 00:26:59,529
characters, and they would flash
this, uh, they'd have this 

507
00:26:59,529 --> 00:27:01,200
Chinese character up on the 
screen. 

508
00:27:01,440 --> 00:27:05,219
This is to Western people who 
don't, who cannot read, uh, the 

509
00:27:05,219 --> 00:27:07,671
Chinese characters. 
And they would ask them to make 

510
00:27:07,671 --> 00:27:09,147
a preference. 
Which one do you prefer? 

511
00:27:10,010 --> 00:27:13,200
Now what they didn't know was 
that although they were looking 

512
00:27:13,200 --> 00:27:17,350
at a screen there, it was a 
special screen and it had a very

513
00:27:17,350 --> 00:27:20,501
fast refresh rate. 
And so what they were doing was 

514
00:27:20,501 --> 00:27:23,659
they were putting up onto the 
screen, every so often they were

515
00:27:23,659 --> 00:27:26,695
putting up a picture of a happy 
face or an angry face. 

516
00:27:27,695 --> 00:27:32,124
And what people did was they had
a preference for this character,

517
00:27:32,124 --> 00:27:33,834
and they would give a reason 
why. 

518
00:27:34,044 --> 00:27:37,332
Because it was a, you know, it 
had smooth curves or it did this

519
00:27:37,332 --> 00:27:40,218
or did that. 
But what it actually was, was 

520
00:27:40,218 --> 00:27:43,329
that behind their flickering too
fast for them to see, there was 

521
00:27:43,329 --> 00:27:46,476
a happy face. 
They didn't like the other one 

522
00:27:46,476 --> 00:27:49,761
because it had an angry face, 
but they never realized this 

523
00:27:49,761 --> 00:27:53,737
because it was so fast. 
So our emotions or our decision 

524
00:27:53,737 --> 00:27:57,427
making, it happens so fast that 
it's outside of our 

525
00:27:57,427 --> 00:28:00,149
consciousness, which makes it 
very difficult then to control 

526
00:28:00,149 --> 00:28:03,241
really. 
But we do need to be able to 

527
00:28:03,241 --> 00:28:05,033
control it and we can control 
it. 

528
00:28:05,575 --> 00:28:09,385
And an example here would be, so
there's a, there's an analogy 

529
00:28:09,385 --> 00:28:11,457
which is quite close to 
technical debt. 

530
00:28:12,401 --> 00:28:16,321
So technical debt, it's you're 
trading off between a feature 

531
00:28:16,321 --> 00:28:19,831
and taking the debt on. 
So the characteristics of the 

532
00:28:19,831 --> 00:28:22,279
te- the feature are, it's gonna 
be a media. 

533
00:28:22,309 --> 00:28:25,629
You're gonna get the feature as 
soon as it's coded, it's gonna 

534
00:28:25,629 --> 00:28:27,823
be concrete. 
You get the feature or you 

535
00:28:27,823 --> 00:28:29,836
don't. 
So it's gonna be those things 

536
00:28:29,836 --> 00:28:31,589
there. 
Immediate, it's gonna be, uh, 

537
00:28:31,589 --> 00:28:34,681
concrete there. 
Whereas if you look at the 

538
00:28:34,681 --> 00:28:37,927
technical debt it's gonna, 
potentially you're gonna have to

539
00:28:37,927 --> 00:28:42,019
repay some debt in the future. 
But you don't know when, you 

540
00:28:42,019 --> 00:28:45,662
don't know how much, you don't 
even know what it's gonna be in 

541
00:28:45,662 --> 00:28:48,347
there. 
It's very indefinite. 

542
00:28:48,706 --> 00:28:52,527
It's very abstract there. 
And so you can see that 

543
00:28:52,527 --> 00:28:54,812
something that's concrete and 
immediate, it's gonna appeal to 

544
00:28:54,812 --> 00:28:58,576
your emotions. 
Something that is in the future 

545
00:28:58,576 --> 00:29:02,503
and indefinite and in abstract, 
it's gonna appeal to your logic,

546
00:29:02,503 --> 00:29:06,054
but not your emotions. 
And so that's principally why 

547
00:29:06,054 --> 00:29:10,994
the technical debt does badly. 
And a useful analogy is to 

548
00:29:10,994 --> 00:29:14,588
smoking. 
So in smoking, most of our 

549
00:29:14,588 --> 00:29:18,139
governments, they realized 
several, many decades ago that 

550
00:29:18,139 --> 00:29:19,828
smoking is bad for the 
populations. 

551
00:29:19,828 --> 00:29:22,640
They wanted to stop it. 
And so one of the things they 

552
00:29:22,640 --> 00:29:25,240
did was they decided to put, um,
health warnings on the cigarette

553
00:29:25,240 --> 00:29:27,856
packets. 
And the, um, the tobacco 

554
00:29:27,856 --> 00:29:29,929
manufacturers, they fiercely 
resisted this, and they fought 

555
00:29:29,929 --> 00:29:31,981
it through the courts, but 
eventually they had to put the 

556
00:29:31,981 --> 00:29:34,702
warnings on there. 
But they didn't need to worry 

557
00:29:34,702 --> 00:29:37,537
because what happened was, if 
you look and you read that 

558
00:29:37,537 --> 00:29:39,817
warning, it appeals to your 
logic. 

559
00:29:39,847 --> 00:29:43,973
It's talking about a potential 
future hazard to your health, 

560
00:29:43,973 --> 00:29:46,597
which may or may not happen in 
the future. 

561
00:29:47,177 --> 00:29:50,104
And that appeals to your logic, 
whereas if you looked at the 

562
00:29:50,104 --> 00:29:53,112
cigarette packets, you had 
packets of pictures of sexy 

563
00:29:53,112 --> 00:29:57,477
cowboys and things like that. 
So as a teenager, that was 

564
00:29:57,477 --> 00:30:00,951
appealing to your emotions. 
And so they put these warnings 

565
00:30:00,951 --> 00:30:02,737
on that and it had very little 
effect. 

566
00:30:03,574 --> 00:30:06,732
Whereas if you look now at a, in
certainly in our country, I'm 

567
00:30:06,732 --> 00:30:09,655
not sure about yours, you cannot
get packets of cigarette like 

568
00:30:09,655 --> 00:30:12,938
that. 
They're all plain branded, so 

569
00:30:12,938 --> 00:30:15,823
the manufacturers cannot affect 
your emotions. 

570
00:30:16,733 --> 00:30:20,033
What they've done in our country
is they've put horrific 

571
00:30:20,033 --> 00:30:23,983
photographs of damaged body 
parts, damaged by smoking, which

572
00:30:23,983 --> 00:30:27,156
of course, appeals very strongly
to your emotions there. 

573
00:30:27,856 --> 00:30:31,656
And so now it's been switched 
over that the health 

574
00:30:31,656 --> 00:30:33,871
authorities, they are 
controlling their message 

575
00:30:33,871 --> 00:30:36,818
through the emotions. 
And it's not the only reason, 

576
00:30:36,818 --> 00:30:40,444
but it's part of the reason that
smoking rates have gone down in 

577
00:30:40,444 --> 00:30:44,535
many countries there. 
So that's like a clue of what 

578
00:30:44,535 --> 00:30:46,895
you need to be doing with 
technical debt. 

579
00:30:47,315 --> 00:30:51,467
If you've got, or you want to 
change the level of that 

580
00:30:51,467 --> 00:30:55,026
technical debt, you need to make
an arguments that are appealing 

581
00:30:55,026 --> 00:30:57,199
to people's emotions, not to 
their logic. 

582
00:30:57,602 --> 00:31:00,552
I talk a bit about this in the 
book where I say there's several

583
00:31:00,552 --> 00:31:03,396
ways you can do it. 
So one is you can sort of paint 

584
00:31:03,396 --> 00:31:06,459
a picture. 
You can tell a story and you 

585
00:31:06,459 --> 00:31:10,133
could put together a scenario of
you wanted to do some 

586
00:31:10,133 --> 00:31:12,701
development, but you're 
prevented from doing so by this 

587
00:31:12,701 --> 00:31:15,440
technical debt there. 
So that would be one thing 

588
00:31:15,440 --> 00:31:18,102
there. 
There's other things as well you

589
00:31:18,102 --> 00:31:21,024
can do to affect the way that 
you make decisions. 

590
00:31:21,204 --> 00:31:24,294
So one is something called a 
Ulysses contract. 

591
00:31:25,104 --> 00:31:28,554
And a Ulysses contract, that's 
where you commit to something 

592
00:31:28,554 --> 00:31:32,064
that you cannot later reverse 
that commitment. 

593
00:31:32,844 --> 00:31:35,994
They're used quite a lot in, um,
they're like living wills. 

594
00:31:36,174 --> 00:31:40,502
So if you come to the end of 
your life and you are losing 

595
00:31:40,502 --> 00:31:44,252
your faculties, you can put in 
this Ulysses contract so that at

596
00:31:44,252 --> 00:31:47,751
a certain stage you won't be 
able to reverse those decisions 

597
00:31:47,751 --> 00:31:50,775
there, and somebody else will be
making those decisions. 

598
00:31:51,255 --> 00:31:55,545
So you can put in a Ulysses 
contract for, say, technical 

599
00:31:55,545 --> 00:32:00,233
debt where a project agrees to 
take on this technical debt, but

600
00:32:00,233 --> 00:32:05,250
if they do that, then they have 
to apportion part of the 

601
00:32:05,250 --> 00:32:09,980
project, uh, funding to 
addressing that debt at a later 

602
00:32:09,980 --> 00:32:12,613
stage. 
So there's a few things that you

603
00:32:12,613 --> 00:32:16,807
can do like that, yeah. 
Yeah, so I think it's very, um. 

604
00:32:16,982 --> 00:32:19,699
Interesting the way you explain 
about these kind of a trade-off 

605
00:32:19,699 --> 00:32:21,810
analysis, right? 
Because sometimes we think it's 

606
00:32:21,810 --> 00:32:24,394
very kind of like simplistic, 
uh, mindset, right? 

607
00:32:24,394 --> 00:32:27,212
Like we think, oh, we take this 
debt simply because we want to 

608
00:32:27,212 --> 00:32:29,529
go faster. 
But sometimes it's more beyond 

609
00:32:29,529 --> 00:32:31,831
that, right? 
So you mentioned about emotions,

610
00:32:31,831 --> 00:32:33,868
right? 
It could be maybe also that day 

611
00:32:33,868 --> 00:32:37,159
when you make the decision, you 
kind of like not in a good mood 

612
00:32:37,159 --> 00:32:39,607
and sometimes you take a 
shortcut simply because, I 

613
00:32:39,607 --> 00:32:42,390
dunno, like you just wanna 
finish things faster. 

614
00:32:42,699 --> 00:32:45,312
Could also be the trade-off that
we mentioned in the very 

615
00:32:45,312 --> 00:32:46,479
beginning, right, with business,
right? 

616
00:32:46,479 --> 00:32:49,579
Business always wants, you know,
things to get delivered faster, 

617
00:32:49,579 --> 00:32:52,344
many features. 
Project deadline that gets set 

618
00:32:52,344 --> 00:32:55,404
without, you know, being asked 
from the engineers, right? 

619
00:32:55,674 --> 00:32:58,104
So those kind of things 
definitely make trade-offs, um, 

620
00:32:58,104 --> 00:33:02,164
kind of like more complex than 
what we think about when we take

621
00:33:02,164 --> 00:33:04,481
technical debt. 
And another thing you also 

622
00:33:04,481 --> 00:33:06,905
mentioned about kind of a few 
solutions, right, that we can 

623
00:33:06,905 --> 00:33:08,923
do. 
Maybe painting the pictures, uh,

624
00:33:08,923 --> 00:33:12,923
trying to kind of like put the 
kind of like the story. 

625
00:33:12,953 --> 00:33:15,346
If let's say we take too much 
technical debt, what would 

626
00:33:15,346 --> 00:33:16,978
happen? 
Maybe in the business terms 

627
00:33:16,978 --> 00:33:20,110
could be, yeah, we couldn't 
scale beyond x number of users, 

628
00:33:20,110 --> 00:33:23,569
uh, or we couldn't process 
transactions, uh, you know, 

629
00:33:23,569 --> 00:33:25,973
beyond whatever number of RPS 
and things like that. 

630
00:33:26,063 --> 00:33:28,883
And Ulysses contract I think is 
very interesting. 

631
00:33:28,883 --> 00:33:31,853
I'm not sure like how many 
people have that in their 

632
00:33:31,853 --> 00:33:34,013
day-to-day team, uh, kind of 
like contract, right? 

633
00:33:34,203 --> 00:33:38,034
So maybe in your life exp, yeah,
in your life experience, have 

634
00:33:38,034 --> 00:33:41,242
you seen this Ulysses contract 
kind of like implemented? 

635
00:33:41,862 --> 00:33:46,630
I've advocated for it, but at 
the organizations where I've 

636
00:33:47,020 --> 00:33:50,766
advocated and put it forwards, 
it hasn't been taken on there. 

637
00:33:51,119 --> 00:33:57,527
But yeah, so I think, yeah, I 
think like most of the time when

638
00:33:57,527 --> 00:33:59,654
I've been advocating, I've 
probably been a bit too late. 

639
00:33:59,962 --> 00:34:03,272
We've already starting to hit 
crisis point, at which point it 

640
00:34:03,272 --> 00:34:05,933
really doesn't matter what you 
suggest, it is just gonna have 

641
00:34:05,933 --> 00:34:09,014
to try and get out the door and 
worry about everything later, 

642
00:34:09,014 --> 00:34:12,587
yeah. 
So maybe one implementation of 

643
00:34:12,587 --> 00:34:15,722
Ulysses contract that I can 
think some teams actually 

644
00:34:15,722 --> 00:34:17,717
implement. 
So maybe it's, for example, 

645
00:34:17,717 --> 00:34:20,205
three sprints of, you know, 
business technical features 

646
00:34:20,205 --> 00:34:22,996
more, and then you spend one 
sprint just to focus on 

647
00:34:22,996 --> 00:34:24,827
technical improvements, 
technical debt. 

648
00:34:25,007 --> 00:34:27,935
That could be a simple contract 
that any teams, I believe could 

649
00:34:27,935 --> 00:34:29,569
actually implement in their day 
to day. 

650
00:34:29,569 --> 00:34:33,364
Yes, that-that, yep. 
That's a way of looking at a 

651
00:34:33,364 --> 00:34:36,100
Ulysses contract. 
But in some ways you'd need to 

652
00:34:36,100 --> 00:34:39,402
be a little, you'd also could be
a bit more granular in that if 

653
00:34:39,402 --> 00:34:43,366
you get two solutions, right, we
can... and I can think here of 

654
00:34:43,366 --> 00:34:47,431
when I used to work at HMV. 
There, we had a particular 

655
00:34:47,431 --> 00:34:51,518
problem in that we wanted to 
display a product in two places 

656
00:34:51,518 --> 00:34:53,993
at the same time, which is 
understandable. 

657
00:34:54,628 --> 00:34:59,429
And basically in order to do 
that, to do it properly was a 

658
00:34:59,429 --> 00:35:01,619
big, big rewrite of the 
database. 

659
00:35:01,979 --> 00:35:04,589
And we couldn't possibly do it 
before Christmas. 

660
00:35:04,589 --> 00:35:07,104
And Christmas was really 
important for HMV, because about

661
00:35:07,104 --> 00:35:10,589
a quarter of all of their sales 
are just at Christmas time. 

662
00:35:10,979 --> 00:35:14,257
So you are never allowed to do 
anything that messes up 

663
00:35:14,257 --> 00:35:18,495
Christmas for HMV. 
And so what we worked out was 

664
00:35:18,495 --> 00:35:21,819
there was a quick and dirty 
solution, which was we could 

665
00:35:21,819 --> 00:35:24,542
create a duplicate of the 
database so you could put this 

666
00:35:24,542 --> 00:35:28,919
product in two places at once. 
But then you had a lot of 

667
00:35:28,919 --> 00:35:30,988
maintenance. 
So anything that needed to be 

668
00:35:30,988 --> 00:35:34,690
updated or you had any feeds in,
all had to be duplicated. 

669
00:35:35,537 --> 00:35:38,431
The company with the business 
agreed yes, we'll do the quick 

670
00:35:38,431 --> 00:35:40,085
and dirty. 
We'd get it in before Christmas,

671
00:35:40,085 --> 00:35:43,427
and the first project that we 
will do after Christmas is we 

672
00:35:43,427 --> 00:35:46,254
will undo this and we'll do it 
properly. 

673
00:35:47,144 --> 00:35:49,604
I'd like to say that's what 
happened, but it isn't. 

674
00:35:49,844 --> 00:35:53,131
The first project is when we 
came to it actually, we realized

675
00:35:53,131 --> 00:35:57,015
that so many code fixes had gone
in during the Christmas period 

676
00:35:57,015 --> 00:36:01,114
there, that all of a sudden it 
was much, much more difficult to

677
00:36:01,114 --> 00:36:03,093
actually go back and redo it 
properly. 

678
00:36:03,483 --> 00:36:07,032
So they decided not to do it and
they were doing any future 

679
00:36:07,032 --> 00:36:10,239
project and they kept on putting
it back until eventually I left 

680
00:36:10,239 --> 00:36:12,527
the company and it had all got 
it had all gone on. 

681
00:36:12,797 --> 00:36:14,363
Yeah. 
Right. 

682
00:36:14,663 --> 00:36:17,749
Yeah, I was about to say 
sometimes, yeah, we got this, I 

683
00:36:17,749 --> 00:36:19,433
dunno, like promise, right, in 
the very beginning. 

684
00:36:19,433 --> 00:36:21,361
Yeah. 
We will let you do, you know, 

685
00:36:21,361 --> 00:36:24,364
like repay your technical debt 
and all that, but sometimes, uh,

686
00:36:24,364 --> 00:36:27,616
because of whatever business 
situations, we may never get it 

687
00:36:28,036 --> 00:36:31,710
fully repaid after all, right ? 
Thanks for sharing that personal

688
00:36:31,710 --> 00:36:34,195
story. 
So let's move on to the next 

689
00:36:34,195 --> 00:36:36,117
layer, which is, uh, you call 
this systems layer. 

690
00:36:36,117 --> 00:36:39,010
So you kind of like associate 
this with systems thinking a 

691
00:36:39,010 --> 00:36:41,473
little bit. 
So what interesting thing that 

692
00:36:41,473 --> 00:36:44,887
you wanna share about systems 
thinking or maybe systems layer 

693
00:36:44,887 --> 00:36:47,065
that could actually affect 
technical debt? 

694
00:36:47,877 --> 00:36:51,569
I would say. 
So, yeah, I mean, so in terms of

695
00:36:51,569 --> 00:36:55,160
systems, in software development
and IT, we're actually starting 

696
00:36:55,160 --> 00:36:58,872
from an advantage, because we 
already have a fairly good 

697
00:36:58,872 --> 00:37:01,383
understanding of systems. 
Because practically every 

698
00:37:01,383 --> 00:37:04,464
project that we work on is 
within a system. 

699
00:37:04,469 --> 00:37:08,525
And if we are putting in a big 
project, say like an ERP system 

700
00:37:08,525 --> 00:37:12,529
or something that's really big, 
almost certainly there'll be one

701
00:37:12,529 --> 00:37:16,623
or several people looking at the
problem and looking at it from a

702
00:37:16,623 --> 00:37:20,703
systems point of view. 
So we've got that understanding 

703
00:37:20,703 --> 00:37:24,145
there of systems. 
So we have an intuitive or it's 

704
00:37:24,145 --> 00:37:28,021
more than an intuitive. 
We have a specific, um, and a 

705
00:37:28,021 --> 00:37:29,473
concrete understanding of 
systems. 

706
00:37:30,503 --> 00:37:35,176
But really that's IT systems and
that's like physical systems 

707
00:37:35,176 --> 00:37:38,786
there. 
As well as the physical system, 

708
00:37:38,786 --> 00:37:42,522
which is important, there's also
the social system that we are 

709
00:37:42,522 --> 00:37:45,386
working within, and that's where
these decisions are made. 

710
00:37:46,076 --> 00:37:52,016
And so what you'll see, an 
important thing about social 

711
00:37:52,016 --> 00:37:56,630
systems or living systems, not 
just social systems, is that 

712
00:37:56,630 --> 00:38:00,185
different parts of the 
subsystem, they can develop 

713
00:38:00,185 --> 00:38:04,235
their own sub-goals and they can
pursue their own sub goals, 

714
00:38:04,235 --> 00:38:08,189
which may be in conflict with 
the goals of the whole 

715
00:38:08,189 --> 00:38:11,342
organization there. 
And that's something you don't 

716
00:38:11,342 --> 00:38:14,585
normally get that in physical 
systems because the designers 

717
00:38:14,585 --> 00:38:18,295
will have... you won't get in a 
well-designed physical system. 

718
00:38:18,838 --> 00:38:21,888
And mostly you won't get it 
because it's been thought about.

719
00:38:22,678 --> 00:38:27,134
Whereas when we're putting in or
we're working in software 

720
00:38:27,134 --> 00:38:29,974
development, the testers, they 
can have their goals. 

721
00:38:30,364 --> 00:38:33,064
The software developments, they 
may have their goals, and of 

722
00:38:33,064 --> 00:38:35,134
course, business will have very 
different goals there. 

723
00:38:35,724 --> 00:38:40,294
And they can be clashing there. 
And so this can lead to 

724
00:38:40,294 --> 00:38:45,095
unexpected developments there. 
And so I mean the, one of the 

725
00:38:45,095 --> 00:38:48,733
most famous ones is you've 
probably heard of Prohibition in

726
00:38:48,733 --> 00:38:51,802
the United States. 
The banning of alcohol is about,

727
00:38:51,802 --> 00:38:54,304
about a hundred back, it was 
about a hundred years ago. 

728
00:38:55,096 --> 00:38:58,996
Beginning of the 19, of the 20th
century, a lot of countries had 

729
00:38:58,996 --> 00:39:02,843
a lot of problems around 
increasing rates of alcohol 

730
00:39:02,843 --> 00:39:04,914
consumption. 
There's various reasons for 

731
00:39:04,914 --> 00:39:06,139
that. 
People were getting a lot more 

732
00:39:06,139 --> 00:39:07,548
money. 
They were working in factories, 

733
00:39:07,548 --> 00:39:09,991
they were getting better paid 
and they were going out and 

734
00:39:09,991 --> 00:39:11,316
drinking. 
That's what happened. 

735
00:39:11,616 --> 00:39:14,556
But this was causing lots and 
lots of social problems. 

736
00:39:15,366 --> 00:39:18,008
And so different governments 
tried to deal with it in 

737
00:39:18,008 --> 00:39:20,850
different ways. 
And the United States, they 

738
00:39:20,850 --> 00:39:24,396
decided they were going to use 
prohibition, which was just ban 

739
00:39:24,396 --> 00:39:27,452
all alcohol. 
But what they hadn't realized 

740
00:39:27,452 --> 00:39:30,573
was that, or they hadn't 
considered the system inside 

741
00:39:30,573 --> 00:39:33,728
which the alcohol is sold and 
consumed there. 

742
00:39:33,728 --> 00:39:37,878
And so they banned alcohol. 
And so all the bars closed down.

743
00:39:37,878 --> 00:39:40,812
All those breweries and 
distilleries, they all closed 

744
00:39:40,812 --> 00:39:41,838
down. 
Everything. 

745
00:39:42,108 --> 00:39:46,056
Everything like that stopped. 
But you still had people that 

746
00:39:46,056 --> 00:39:49,068
they used to be drinking and 
they want to continue drinking. 

747
00:39:50,118 --> 00:39:53,286
And so anybody who's done 
economics, economics 101 is 

748
00:39:53,286 --> 00:39:57,352
gonna tell you if you have a 
demand for something and you 

749
00:39:57,352 --> 00:40:00,545
suddenly cut off the supply, 
there's gonna be a substitute 

750
00:40:00,545 --> 00:40:04,967
supply from somewhere. 
And this substitute supply came 

751
00:40:04,967 --> 00:40:09,433
from criminal organizations. 
It actually, it came from 

752
00:40:09,433 --> 00:40:12,671
criminals who actually then 
became organized because they 

753
00:40:12,671 --> 00:40:14,267
weren't particularly well 
organized before that. 

754
00:40:14,906 --> 00:40:18,716
So then it, this led to lots and
lots of problems in Prohibition.

755
00:40:18,866 --> 00:40:21,626
So you had a rising crime, a lot
of violence. 

756
00:40:22,117 --> 00:40:25,564
You had enormous wealth being 
generated for these criminals 

757
00:40:25,564 --> 00:40:29,678
who then, they would then use it
to bribe the police, bribe the 

758
00:40:29,678 --> 00:40:31,682
courts, whole series of things 
like this. 

759
00:40:32,072 --> 00:40:35,522
And they built up these very, 
very strong organizations there.

760
00:40:36,265 --> 00:40:40,834
And so one of the longest 
lasting effect of Prohibition in

761
00:40:40,834 --> 00:40:44,720
the United States was something 
that was entirely unexpected or 

762
00:40:44,720 --> 00:40:47,216
unanticipated and highly 
undesirable, which was the 

763
00:40:47,216 --> 00:40:49,914
growth of organized crime in the
United States. 

764
00:40:50,438 --> 00:40:53,144
In our country, we tackled it in
a different way and we didn't 

765
00:40:53,144 --> 00:40:55,164
get those gangs building up 
because of that. 

766
00:40:56,227 --> 00:40:58,117
Wow. 
Quite fascinating story, right? 

767
00:40:58,117 --> 00:41:01,841
So I think many of us could 
relate with this kind of like 

768
00:41:01,841 --> 00:41:04,661
social system aspect, uh, 
especially if we work in a 

769
00:41:04,661 --> 00:41:07,825
bigger organization, right? 
So things could be also like 

770
00:41:07,825 --> 00:41:09,373
political reasons, hierarchies, 
right? 

771
00:41:09,703 --> 00:41:13,513
Or silo teams that work, you 
know, quite independently 

772
00:41:13,513 --> 00:41:17,207
without talking to each other. 
It could be so many other things

773
00:41:17,207 --> 00:41:19,656
like incentive system, reward 
system, punishment system, 

774
00:41:19,656 --> 00:41:22,313
right? 
So those kind of things, maybe 

775
00:41:22,313 --> 00:41:26,447
from one small perspective point
of view, it seems could solve a 

776
00:41:26,447 --> 00:41:29,351
particular problem, right? 
But unconsciously, you can 

777
00:41:29,351 --> 00:41:32,486
create unprecedented effect in 
some other parts of the system, 

778
00:41:32,486 --> 00:41:34,535
right? 
So I think this is where systems

779
00:41:34,535 --> 00:41:37,172
thinking kind of a mindset is 
very, very important, especially

780
00:41:37,172 --> 00:41:39,287
for us who are working in 
software engineering. 

781
00:41:39,647 --> 00:41:43,691
So never kind of like focus or 
invest too much on one 

782
00:41:43,691 --> 00:41:45,947
particular solution, but 
thinking holistically how it 

783
00:41:45,947 --> 00:41:49,505
could affect the other parts of 
the systems as well, I think, is

784
00:41:49,505 --> 00:41:53,036
very important. 
So yeah, let's move on, yeah, to

785
00:41:53,036 --> 00:41:55,283
the next layer, like economics 
game theory. 

786
00:41:55,283 --> 00:41:58,793
You mentioned about using this 
model so that we can communicate

787
00:41:58,793 --> 00:42:02,621
with the business much better. 
Um, maybe some of examples of 

788
00:42:02,621 --> 00:42:06,380
economics or system, uh, or game
theory layer here that you could

789
00:42:06,380 --> 00:42:09,284
advocate for us to use next time
we talk to our stakeholders? 

790
00:42:10,280 --> 00:42:13,808
I would say in, right, in terms 
of that layer there, there's 

791
00:42:13,808 --> 00:42:18,315
lots of very fascinating things 
in there, and it's very tempting

792
00:42:18,315 --> 00:42:22,721
and very easy to become 
completely embroiled in it and 

793
00:42:22,721 --> 00:42:25,430
look at some fascinating aspect 
of it. 

794
00:42:25,920 --> 00:42:29,484
But I'd say perhaps the, two, if
there were, if I was to choose 

795
00:42:29,484 --> 00:42:32,730
two things, it would be, 
firstly, you don't need to 

796
00:42:32,730 --> 00:42:34,532
communicate this to the bosses, 
but... 

797
00:42:35,298 --> 00:42:39,208
Actually, it wouldn't hurt to 
communicate it, but it's the 

798
00:42:39,208 --> 00:42:43,402
principal-agent problem, which 
is that it's a problem where 

799
00:42:43,402 --> 00:42:48,191
basically the principle so that 
the boss or whoever has the 

800
00:42:48,191 --> 00:42:52,411
money, you are paying or 
rewarding somebody else to do 

801
00:42:52,411 --> 00:42:56,012
something of your bidding there.
And that's essentially when 

802
00:42:56,012 --> 00:43:00,357
we're working in the company, we
are the agents and then the 

803
00:43:00,357 --> 00:43:01,740
organization itself is the 
principal. 

804
00:43:02,490 --> 00:43:05,530
And so if you look at the 
principal-agent problem, what 

805
00:43:05,530 --> 00:43:09,736
you will have is that, they may 
have different goals and they 

806
00:43:09,736 --> 00:43:11,351
may have different motivations 
there. 

807
00:43:11,711 --> 00:43:16,233
And so what you should always be
aware of and thinking about is 

808
00:43:16,233 --> 00:43:20,365
how do their goals line up? 
You're going to be most 

809
00:43:20,365 --> 00:43:24,266
successful if the principal's 
and the agent's goals line up or

810
00:43:24,266 --> 00:43:27,956
coincide there. 
If, and you should also 

811
00:43:27,956 --> 00:43:31,379
understand that you'll be 
unsuccessful to the extent that 

812
00:43:31,379 --> 00:43:35,545
those goals don't line up there.
And it's of course, it's not 

813
00:43:35,545 --> 00:43:38,924
just the employees, but you've 
got an added complication in 

814
00:43:38,924 --> 00:43:43,492
most organizations in that they 
will often, they will bring an 

815
00:43:43,492 --> 00:43:46,486
external help to manage large 
projects. 

816
00:43:46,906 --> 00:43:50,883
And what you have to realize is 
that perhaps the goals of those 

817
00:43:50,883 --> 00:43:54,650
outside organizations, the 
consultancies, may not be very 

818
00:43:54,650 --> 00:43:58,537
well aligned with the 
organization that they're 

819
00:43:58,537 --> 00:44:02,072
working for. 
And certainly, I've been on a 

820
00:44:02,072 --> 00:44:06,382
lot of projects - I imagine you 
have as well - and you will have

821
00:44:06,382 --> 00:44:09,812
seen some of the antics and the 
activities that some of these 

822
00:44:09,812 --> 00:44:13,443
consultants will get up to 
which, and not necessarily 

823
00:44:13,443 --> 00:44:17,719
helpful for the client there. 
And here I'm thinking of things 

824
00:44:17,719 --> 00:44:20,038
like perhaps rivalry between 
organizations there. 

825
00:44:20,488 --> 00:44:23,986
Another one might be that 
actually one of the things that 

826
00:44:23,986 --> 00:44:27,393
perhaps some of the less ethical
consultancies might do is as 

827
00:44:27,393 --> 00:44:32,576
soon as they go in, is to try 
and remove all of the capability

828
00:44:32,576 --> 00:44:36,716
of the organization so that the 
organization is now dependent 

829
00:44:36,716 --> 00:44:39,421
upon the consultancy. 
So the whole series of things 

830
00:44:39,421 --> 00:44:41,591
like that. 
So there's this principal-agent 

831
00:44:41,591 --> 00:44:45,383
problem there, which I think 
people should be aware of there.

832
00:44:45,807 --> 00:44:49,671
That's gonna play out in the 
technical debt there of that the

833
00:44:49,671 --> 00:44:52,803
company may want lower, low 
levels of technical debt. 

834
00:44:53,283 --> 00:44:57,288
But the principal, if the 
principal is the, if the project

835
00:44:57,288 --> 00:45:00,487
manager who is going to be 
perhaps moving to a different 

836
00:45:00,487 --> 00:45:04,260
organization at the end of the 
project and their goal is to get

837
00:45:04,260 --> 00:45:07,286
the project in or peer in, and 
it doesn't matter to them how 

838
00:45:07,286 --> 00:45:10,054
much technical debt there is, 
you've got that principal-agent 

839
00:45:10,054 --> 00:45:13,210
problem there. 
So I'd say there's the principal

840
00:45:13,210 --> 00:45:17,679
agent problem that is there. 
And a second thing that I think 

841
00:45:17,679 --> 00:45:21,153
that I would also highlight to 
the business, because they won't

842
00:45:21,153 --> 00:45:24,900
be so well aware of this, is the
problem of externalities. 

843
00:45:25,870 --> 00:45:32,404
So an externality is, basically 
it's where one party can impose 

844
00:45:32,404 --> 00:45:36,720
a cost or a benefit. 
But usually it's a cost. 

845
00:45:36,750 --> 00:45:41,040
You don't worry about benefits. 
They can impose a cost on 

846
00:45:41,040 --> 00:45:47,475
another party and the other 
party has no say whatever in 

847
00:45:47,475 --> 00:45:49,365
whether they accept that cost or
not. 

848
00:45:50,161 --> 00:45:54,601
And the most commonly cited 
example is pollution. 

849
00:45:55,399 --> 00:45:59,257
If you drive your car into the 
city and you are there perhaps 

850
00:45:59,257 --> 00:46:03,741
to pick up your wife and she's 
out shopping, and so you sat on 

851
00:46:03,741 --> 00:46:07,205
the side of the road there 
waiting for it to come out the 

852
00:46:07,205 --> 00:46:08,897
shop there, And you had your 
engine idling. 

853
00:46:09,487 --> 00:46:12,863
Well, you are creating all this 
externalities in terms of the 

854
00:46:12,863 --> 00:46:16,877
pollution that you're creating. 
But you're seen in your car and 

855
00:46:16,877 --> 00:46:18,413
you are not suffering that 
externality. 

856
00:46:18,413 --> 00:46:19,883
It's others that are suffering 
it there. 

857
00:46:20,993 --> 00:46:25,719
And that's very much what 
happens on projects there, where

858
00:46:25,719 --> 00:46:30,937
projects may be making decisions
around how much technical debt 

859
00:46:30,937 --> 00:46:34,635
they are piling up. 
But they're not necessarily 

860
00:46:34,635 --> 00:46:36,638
gonna be the ones that pay off 
that debt. 

861
00:46:36,938 --> 00:46:38,468
Perhaps it's gonna be the 
support team. 

862
00:46:39,372 --> 00:46:43,057
I mean, this was brought home to
me once when I was at, um, or 

863
00:46:43,057 --> 00:46:46,947
not once, many, many times, 
irritatingly many times when I 

864
00:46:46,947 --> 00:46:49,812
worked at HMV. 
We had a project manager there. 

865
00:46:50,592 --> 00:46:53,766
And whenever he caused a problem
that affected a problem, that 

866
00:46:53,766 --> 00:46:56,442
affected another project or 
support, he would just turn 

867
00:46:56,442 --> 00:46:59,539
around and someone said, oh, 
right, you, what you've done now

868
00:46:59,539 --> 00:47:01,714
has done this. 
And there he would turn around 

869
00:47:01,714 --> 00:47:03,700
and he would say, that's not my 
problem. 

870
00:47:04,840 --> 00:47:08,980
And say, he was just saying 
effectively, he was saying, I am

871
00:47:09,100 --> 00:47:12,457
putting an externality on you. 
And the structure of our 

872
00:47:12,457 --> 00:47:14,800
organization is, I don't care 
whether I do that or not. 

873
00:47:15,040 --> 00:47:17,740
And the company doesn't care and
I'm getting away with it. 

874
00:47:18,440 --> 00:47:22,862
And technical debt is very much,
very often it's an externality. 

875
00:47:23,252 --> 00:47:25,883
'Cause the people that are 
making the decisions about it 

876
00:47:25,883 --> 00:47:28,672
very often are not the ones that
are gonna end up paying that 

877
00:47:28,672 --> 00:47:32,210
back at the end there. 
So those are the two things that

878
00:47:32,210 --> 00:47:35,552
I think, that I would take from 
economics to technical debt. 

879
00:47:35,862 --> 00:47:38,112
Principal-agent and 
externalities. 

880
00:47:39,143 --> 00:47:42,325
Wow, I think now that you are 
kind of like explaining and 

881
00:47:42,325 --> 00:47:45,072
giving examples, right? 
I'm sure some of us kind of like

882
00:47:45,072 --> 00:47:47,360
laughing, you know, hearing 
those examples because we could 

883
00:47:47,360 --> 00:47:50,840
actually realize it's happening 
to all of us, uh, in our career,

884
00:47:50,840 --> 00:47:53,152
right? 
So I think definitely this kind 

885
00:47:53,152 --> 00:47:54,500
of principal-agent problem, 
right? 

886
00:47:54,500 --> 00:47:57,068
Externalities where someone 
makes decision without actually 

887
00:47:57,068 --> 00:48:00,182
taking the responsibilities 
later on is kind of like quite 

888
00:48:00,182 --> 00:48:03,308
common, especially in software 
projects where you kind of like 

889
00:48:03,308 --> 00:48:05,830
engage consultants, third 
parties, or project basis rather

890
00:48:05,830 --> 00:48:09,200
than product basis, right? 
So I think, uh, we can see it in

891
00:48:09,200 --> 00:48:11,463
real life. 
And let's go to the next one, 

892
00:48:11,463 --> 00:48:14,040
which is the wicked problem. 
You kind of like, um, touch on a

893
00:48:14,040 --> 00:48:16,125
little bit earlier, right? 
In that wicked problem is 

894
00:48:16,125 --> 00:48:18,495
something that maybe you don't 
even know in the very beginning,

895
00:48:18,495 --> 00:48:19,665
what could the solution look 
like? 

896
00:48:19,665 --> 00:48:22,068
You can always explore, 
experiment until the solution 

897
00:48:22,068 --> 00:48:24,904
actually comes out. 
This is so much evident in 

898
00:48:24,904 --> 00:48:27,215
software, right? 
Because we'll iterate, right? 

899
00:48:27,215 --> 00:48:30,543
So we'll come up with a very 
simplistic design that could 

900
00:48:30,543 --> 00:48:32,764
maybe solve the problem, the 
features. 

901
00:48:33,034 --> 00:48:35,658
Show it to people, people will 
ask for more, and then we 

902
00:48:35,658 --> 00:48:38,685
continue evolve it until it gets
to a different kind of solution 

903
00:48:38,685 --> 00:48:40,588
altogether. 
So why do you think wicked 

904
00:48:40,588 --> 00:48:44,044
problem is kind like the outer 
layer, which I assume is gonna 

905
00:48:44,044 --> 00:48:46,606
be the most complex thing to 
consider. 

906
00:48:46,846 --> 00:48:50,116
Um, so what kind of insightful 
thing can you share with us 

907
00:48:50,116 --> 00:48:54,208
today about wicked problem? 
The wicked problem, I would say 

908
00:48:54,208 --> 00:48:56,912
that the... 
There's multiple parts to the 

909
00:48:56,912 --> 00:48:58,722
wicked problem as you are saying
there. 

910
00:48:58,772 --> 00:49:02,033
So one characteristic of a 
wicked problem is that you don't

911
00:49:02,033 --> 00:49:06,187
know what the problem is until 
you actually have a solution. 

912
00:49:06,830 --> 00:49:10,768
Other things are that there's no
right or wrong, there's just 

913
00:49:10,768 --> 00:49:14,255
better or worse. 
But perhaps the really critical 

914
00:49:14,255 --> 00:49:18,382
thing for us is that different 
parties will have different 

915
00:49:18,382 --> 00:49:24,276
beliefs about what the problem 
is and what the better solution 

916
00:49:24,276 --> 00:49:27,744
is. 
So we may think something from a

917
00:49:27,744 --> 00:49:31,504
technical side, uh, there that, 
well, this is the best solution.

918
00:49:31,724 --> 00:49:34,844
But from a business point of 
view, they may be thinking 

919
00:49:35,054 --> 00:49:39,165
something very different there. 
And it's how you resolve those 

920
00:49:39,165 --> 00:49:42,928
things or attempt to resolve 
them or accommodate them there. 

921
00:49:43,954 --> 00:49:47,762
That's something which I think 
most of us will find very 

922
00:49:47,762 --> 00:49:50,174
difficult, particularly within 
software development, because we

923
00:49:50,174 --> 00:49:56,678
tend to be very technical people
and we tend not to think of 

924
00:49:56,678 --> 00:50:01,626
things in terms of political, 
political sort of landscape and 

925
00:50:01,626 --> 00:50:04,724
how we need to accommodate 
different things there. 

926
00:50:05,174 --> 00:50:11,118
And really the people that 
perhaps are best equipped to 

927
00:50:11,118 --> 00:50:15,084
deal and understand those, that 
political landscape and so on, 

928
00:50:15,084 --> 00:50:17,268
they're all sitting in the 
business there. 

929
00:50:18,111 --> 00:50:22,009
It's almost as if we need to get
them or someone from that side 

930
00:50:22,009 --> 00:50:25,175
to come over and advocate for 
ourselves there. 

931
00:50:25,866 --> 00:50:30,619
Otherwise the risk is that we 
end up in just like a standoff 

932
00:50:30,619 --> 00:50:33,814
there, of the technical people 
saying this technical debt is 

933
00:50:33,814 --> 00:50:36,814
bad and we have too much of it 
and we need to get rid of it. 

934
00:50:37,264 --> 00:50:40,965
And the business saying, yeah, 
but we, we are getting do- the 

935
00:50:40,965 --> 00:50:44,056
market is being dominated by 
somebody else, we need to get a 

936
00:50:44,056 --> 00:50:47,558
bigger market share which means 
we need more features or we need

937
00:50:47,558 --> 00:50:51,026
more this or more that. 
And once we've got a bigger 

938
00:50:51,026 --> 00:50:53,756
market share, we can sort out 
all these other things later. 

939
00:50:54,263 --> 00:50:57,600
It's almost as if you're having 
this argument but you are 

940
00:50:57,600 --> 00:50:59,553
arguing in two different 
languages there. 

941
00:51:00,263 --> 00:51:04,635
And I think that's tremendously 
difficult and wasteful thing to 

942
00:51:04,635 --> 00:51:08,119
do there. 
And I think that it's not just 

943
00:51:08,119 --> 00:51:11,068
for technical debt. 
I think there's a whole series 

944
00:51:11,068 --> 00:51:15,375
of soft things around here or we
have a whole lot of problems in 

945
00:51:15,375 --> 00:51:17,608
software development, which are 
wicked problems there. 

946
00:51:18,088 --> 00:51:21,465
And I think we should un, we 
should perhaps try and 

947
00:51:21,465 --> 00:51:24,648
understand better about wicked 
problems and what we can indeed 

948
00:51:24,648 --> 00:51:28,601
do about them there. 
I think, uh, after you explain 

949
00:51:28,601 --> 00:51:31,392
it, I'm sure, um, you know, 
people can relate, right, what 

950
00:51:31,392 --> 00:51:34,189
do you mean by wicked problem in
software engineering and why you

951
00:51:34,189 --> 00:51:36,632
put it as the outer layer simply
because, yeah, it's very 

952
00:51:36,632 --> 00:51:38,514
difficult. 
Um, sometimes you could wear 

953
00:51:38,514 --> 00:51:40,874
multiple hats. 
Only then you could see where 

954
00:51:40,874 --> 00:51:44,682
things are kind of like not 
aligning, you know, things are 

955
00:51:44,682 --> 00:51:46,044
always miscommunicated, 
misunderstood. 

956
00:51:46,434 --> 00:51:48,998
And sometimes, yeah, like you 
mentioned, people don't have the

957
00:51:48,998 --> 00:51:51,807
same definition of problem, 
doesn't have the same definition

958
00:51:51,807 --> 00:51:54,516
of solution, right? 
Or maybe we don't know the 

959
00:51:54,516 --> 00:51:57,111
solution in the very beginning, 
uh, only until, you know, we 

960
00:51:57,111 --> 00:51:58,914
reach a certain point. 
So definitely software 

961
00:51:58,914 --> 00:52:02,348
engineering, I find it's a lot 
of wicked problem kind of a 

962
00:52:02,348 --> 00:52:04,622
thing. 
And we can see from all these 

963
00:52:04,622 --> 00:52:05,894
layers that you just explained, 
right? 

964
00:52:05,894 --> 00:52:08,894
Technical aspect is just a small
part of the technical debt. 

965
00:52:09,164 --> 00:52:11,546
And there are so many other 
things like organizational 

966
00:52:11,546 --> 00:52:14,636
system, the bias thinking, the 
emotion, social structure and 

967
00:52:14,636 --> 00:52:17,944
things like that. 
How would you advise software 

968
00:52:17,944 --> 00:52:21,005
engineering team or organization
to start managing their 

969
00:52:21,005 --> 00:52:23,732
technical debt better or at 
least introduce technical debt 

970
00:52:23,732 --> 00:52:28,043
in a more healthy manner rather 
than, you know, like trying to 

971
00:52:28,043 --> 00:52:31,251
burn as many technical debt as 
possible and then try to repay 

972
00:52:31,251 --> 00:52:32,735
in the end which will not 
happen. 

973
00:52:32,735 --> 00:52:35,143
And in the end, you know, it 
cause a lot of problems, or a 

974
00:52:35,143 --> 00:52:37,190
lot of damage in some of the 
stories you share in the book. 

975
00:52:37,380 --> 00:52:40,424
So maybe how can organizations 
start managing their technical 

976
00:52:40,424 --> 00:52:44,497
debt better? 
I'd say almost certainly if you 

977
00:52:44,497 --> 00:52:48,057
are managing technical, if 
you're coming at it from the 

978
00:52:48,057 --> 00:52:50,119
viewpoint of we've got this 
managed, this technical debt, 

979
00:52:50,119 --> 00:52:54,081
and we need to manage it or burn
it down, you are almost starting

980
00:52:54,081 --> 00:52:57,913
too late, really. 
It's what you really need to be 

981
00:52:57,913 --> 00:53:01,473
doing is avoiding creating the 
technical debt that you can 

982
00:53:01,473 --> 00:53:06,750
avoid creating there. 
And so I think that really there

983
00:53:06,750 --> 00:53:12,184
is, it's almost like, uh, an 
analogy would be doing a 

984
00:53:12,184 --> 00:53:15,600
development at a sustainable 
pace there. 

985
00:53:16,549 --> 00:53:19,639
You can't do development really,
really fast. 

986
00:53:19,759 --> 00:53:22,393
And then when you become 
completely tired and knackered, 

987
00:53:22,393 --> 00:53:24,949
now we will slow down to a 
sustainable rate. 

988
00:53:24,949 --> 00:53:29,636
It's a bit too late, you know. 
So it's getting people into the 

989
00:53:29,636 --> 00:53:33,188
mindset that they are making 
these trade-offs and these 

990
00:53:33,188 --> 00:53:35,632
trade-offs will be there for an 
awful long time. 

991
00:53:36,342 --> 00:53:40,089
And getting them to make better 
trade-offs there. 

992
00:53:40,329 --> 00:53:43,464
Now there's always going to be 
technical debt, and they need 

993
00:53:43,464 --> 00:53:46,569
to, you need to get this tech- 
you need to take on this 

994
00:53:46,569 --> 00:53:48,910
technical debt. 
If you didn't, you couldn't get 

995
00:53:48,910 --> 00:53:52,348
the products out there in time, 
you'd be too late in the 

996
00:53:52,348 --> 00:53:54,839
marketplace. 
But you don't need to take on 

997
00:53:54,839 --> 00:53:56,695
all the technical debt that 
you're taking on. 

998
00:53:57,302 --> 00:53:59,402
And some of it would be 
unnecessary there. 

999
00:54:00,084 --> 00:54:04,662
And in particular, I would say 
it's things such as when you're 

1000
00:54:04,662 --> 00:54:08,731
trading off technical debt for 
additional features there, you 

1001
00:54:08,731 --> 00:54:13,251
really need someone to push back
on do we really need these 

1002
00:54:13,251 --> 00:54:16,326
features? 
Because it's very easy for the 

1003
00:54:16,326 --> 00:54:19,452
business and the marketing to 
say, this is absolutely 

1004
00:54:19,452 --> 00:54:21,259
essential. 
This feature, we must have it 

1005
00:54:21,259 --> 00:54:23,637
in. 
And no one can prove otherwise. 

1006
00:54:24,389 --> 00:54:27,788
And so it's just because it's so
easy, it's so tempting to do 

1007
00:54:27,788 --> 00:54:32,145
that again and again and again, 
until you end up with this very 

1008
00:54:32,145 --> 00:54:34,741
bloated product with lots and 
lots of debt in it. 

1009
00:54:35,486 --> 00:54:37,941
So it's kind of starting at the 
beginning there. 

1010
00:54:38,271 --> 00:54:41,185
And one of the things that I 
talk about in my book, in the 

1011
00:54:41,185 --> 00:54:45,029
last third of the book there, is
really how you can address the 

1012
00:54:45,029 --> 00:54:47,731
technical debt. 
But it's addressing the 

1013
00:54:47,731 --> 00:54:52,831
technical debt from the mindset 
of avoiding creating it in the 

1014
00:54:52,831 --> 00:54:56,051
start there rather than getting 
rid and burning down this 

1015
00:54:56,051 --> 00:54:58,779
technical debt. 
In fact, that's a very bad thing

1016
00:54:58,779 --> 00:55:02,785
to do in many ways because once 
you do that, it's almost as if 

1017
00:55:02,785 --> 00:55:05,497
you've given the business 
permission to create this 

1018
00:55:05,497 --> 00:55:08,335
technical debt because you can 
just pay it down later. 

1019
00:55:09,387 --> 00:55:13,017
Try and get them into this 
mindset of avoiding this 

1020
00:55:13,017 --> 00:55:17,710
technical debt and the costs of 
this technical debt there and 

1021
00:55:17,710 --> 00:55:22,810
why and how they can avoid it or
minimize the amount of technical

1022
00:55:22,810 --> 00:55:24,082
debt there. 
Yeah. 

1023
00:55:25,053 --> 00:55:27,715
Wow, I think it's a very good, 
uh, reminder, right? 

1024
00:55:27,715 --> 00:55:30,253
So, uh, whenever we talk about 
managing technical debt, 

1025
00:55:30,253 --> 00:55:31,435
probably it's a bit too late, 
right? 

1026
00:55:31,435 --> 00:55:34,066
So I think avoiding it, 
prevention is always the best 

1027
00:55:34,066 --> 00:55:37,201
cure, right, rather than taking 
pills, medicine or adding 

1028
00:55:37,201 --> 00:55:39,844
people, buying software, 
whatever that is, right, to 

1029
00:55:39,844 --> 00:55:42,265
actually kind of like solve the 
technical debt problem. 

1030
00:55:42,505 --> 00:55:45,399
And I think you mentioned a very
good keyword that I think we all

1031
00:55:45,399 --> 00:55:48,327
need to always reflect, right? 
Sustainable pace over a long 

1032
00:55:48,327 --> 00:55:50,835
term, right? 
So the moment you feel like, 

1033
00:55:50,835 --> 00:55:53,439
kind of like the velocity 
slowing down, the team cannot 

1034
00:55:53,841 --> 00:55:55,941
deliver things as smooth as 
before, right? 

1035
00:55:55,941 --> 00:55:59,186
Maybe that's, uh, kind of like 
also a signal for us to kind of 

1036
00:55:59,186 --> 00:56:02,417
like think about how we can 
tackle or manage our technical 

1037
00:56:02,417 --> 00:56:04,920
debt better and communicate that
to the business stakeholders, 

1038
00:56:04,920 --> 00:56:07,165
right? 
And in your book, you also 

1039
00:56:07,165 --> 00:56:08,695
mentioned a few common 
anti-patterns. 

1040
00:56:08,715 --> 00:56:12,532
Uh, I think people who would 
love to kind of like advocate or

1041
00:56:12,532 --> 00:56:14,697
champion, you know, managing 
technical debt better in an 

1042
00:56:14,697 --> 00:56:16,535
organization you should check 
out Andrew's book. 

1043
00:56:16,985 --> 00:56:20,573
So it will be amiss if I didn't,
you know, mention or discuss 

1044
00:56:20,573 --> 00:56:22,799
about AI with technical debt, 
right? 

1045
00:56:23,039 --> 00:56:26,939
I think with the advent of AI, 
we can certainly see there are 

1046
00:56:26,939 --> 00:56:30,125
many aspects of technical debt 
that could be, I dunno, kind of 

1047
00:56:30,125 --> 00:56:32,607
like remodeled, right? 
So the first aspect is like with

1048
00:56:32,607 --> 00:56:36,339
a lot of AI churning out code, I
think many people say it could 

1049
00:56:36,339 --> 00:56:38,489
create a lot of technical debt, 
right? 

1050
00:56:38,669 --> 00:56:42,619
Or maybe also, and some other 
people say, oh, we have a very 

1051
00:56:42,619 --> 00:56:45,551
high technical debt system. 
Now with AI, we can use it to 

1052
00:56:45,551 --> 00:56:48,209
actually solve technical debt. 
Maybe simply because, I don't 

1053
00:56:48,209 --> 00:56:50,914
know, at least documenting the 
feature because the people have 

1054
00:56:50,914 --> 00:56:54,019
left or things like that. 
Or creating tests automatically.

1055
00:56:54,289 --> 00:56:56,389
So what do you view, uh, about 
AI? 

1056
00:56:56,449 --> 00:56:59,044
Um, is it something that is 
going to increase technical debt

1057
00:56:59,044 --> 00:57:01,489
or is it gonna be reducing 
technical debt? 

1058
00:57:02,562 --> 00:57:06,468
I think that the most prominent 
there and that the most salient,

1059
00:57:06,468 --> 00:57:12,014
visible part is the big increase
which is gonna come from 

1060
00:57:12,014 --> 00:57:16,262
non-technical people doing vibe 
code development there and 

1061
00:57:16,262 --> 00:57:19,888
creating enormous amounts of 
technical debt there. 

1062
00:57:20,528 --> 00:57:24,068
So I can see that being a huge, 
a huge thing there. 

1063
00:57:24,668 --> 00:57:28,308
But I could also see that it may
be that certain types of 

1064
00:57:28,308 --> 00:57:32,906
technical debt may become less 
important, particularly if you 

1065
00:57:32,906 --> 00:57:38,498
are able to create this coding 
and this solution so much more 

1066
00:57:38,498 --> 00:57:41,417
easily. 
It may well be that the debt is 

1067
00:57:41,417 --> 00:57:45,149
less important perhaps. 
But I would say certainly it's 

1068
00:57:45,149 --> 00:57:50,345
the AI and the vibe coding does 
give you a very strong feeling 

1069
00:57:50,345 --> 00:57:54,304
that this is something that 
could create enormous amounts of

1070
00:57:54,304 --> 00:57:57,104
technical debt. 
Particularly since I imagine 

1071
00:57:57,104 --> 00:58:01,670
vibe coding being written, and 
if something is useful and it's 

1072
00:58:01,670 --> 00:58:04,987
taking off, it's probably not 
gonna get rewritten. 

1073
00:58:05,257 --> 00:58:07,657
It's let's build on top of that 
there. 

1074
00:58:08,176 --> 00:58:10,826
In which case, yeah, you're 
building on something that's, 

1075
00:58:10,826 --> 00:58:13,604
uh, probably got a lot of debt 
or a lot of limitations in it, 

1076
00:58:13,604 --> 00:58:16,135
yeah. 
Yeah, so there's this danger, 

1077
00:58:16,135 --> 00:58:18,977
obviously about vibe coding or 
you just blindly accept whatever

1078
00:58:18,977 --> 00:58:21,715
AI suggests, right? 
And I think I wanna touch on 

1079
00:58:21,715 --> 00:58:23,215
also like the emotion aspect, 
right? 

1080
00:58:23,215 --> 00:58:26,209
Whenever we use AI, sometimes we
feel very confident and it's 

1081
00:58:26,209 --> 00:58:28,303
very easy, right? 
We could just churn out code 

1082
00:58:28,303 --> 00:58:30,655
after code after code, building 
features on top of features. 

1083
00:58:30,985 --> 00:58:33,565
Sometimes there's, I think 
there's a dopamine hit as well 

1084
00:58:33,565 --> 00:58:36,647
whenever you build such thing 
rapidly and you could see 

1085
00:58:36,647 --> 00:58:38,191
results. 
You almost see the results, you 

1086
00:58:38,191 --> 00:58:39,835
kind of like polish it more and 
more. 

1087
00:58:39,895 --> 00:58:42,514
Uh, but unconsciously you 
introduce a lot more technical 

1088
00:58:42,514 --> 00:58:45,528
debt. 
Do you have like real case 

1089
00:58:45,528 --> 00:58:48,372
experience or examples where 
people use AI effectively? 

1090
00:58:48,750 --> 00:58:51,962
Like cautiously also not to take
on more debt, but also kind of 

1091
00:58:51,962 --> 00:58:55,353
like build a system that can 
also last like much, much 

1092
00:58:55,353 --> 00:58:57,121
longer. 
Well, okay. 

1093
00:58:57,121 --> 00:59:02,825
So I've spoken to people that 
have been using AI, and what 

1094
00:59:02,825 --> 00:59:05,179
I've... 
Of course, what they're telling 

1095
00:59:05,179 --> 00:59:07,899
you may not be exactly the same 
as what they're doing, of 

1096
00:59:07,899 --> 00:59:10,632
course. 
But what they were saying was 

1097
00:59:10,632 --> 00:59:14,843
that they were using it quite a 
lot for investigation and 

1098
00:59:14,843 --> 00:59:19,309
research there. 
And if they wanted to find out 

1099
00:59:19,309 --> 00:59:24,083
something, they were perhaps 
posing a question to an AI or an

1100
00:59:24,083 --> 00:59:27,805
LLM model there. 
They were getting the answer 

1101
00:59:27,805 --> 00:59:31,965
back, they were looking at it, 
they were then refining their 

1102
00:59:31,965 --> 00:59:37,121
question, firing it back again, 
and going through a cycle then 

1103
00:59:37,121 --> 00:59:41,153
multiple times. 
But then often at the end they 

1104
00:59:41,153 --> 00:59:43,573
were manually coding. 
They were doing it there. 

1105
00:59:43,573 --> 00:59:45,793
So they were doing it for this 
research there. 

1106
00:59:46,314 --> 00:59:48,474
That, at least that's, or that's
what they were telling me. 

1107
00:59:48,474 --> 00:59:51,444
Of course, what people tell you 
isn't always the same there. 

1108
00:59:51,654 --> 00:59:54,562
And perhaps there'd be a 
reluctance to say, yeah, I just 

1109
00:59:54,562 --> 00:59:57,223
let AI do all of the stuff for 
me there. 

1110
00:59:58,038 --> 01:00:01,692
I, guess we will see. 
The results will come through I 

1111
01:00:01,692 --> 01:00:04,111
think. 
And we'll be seeing those surely

1112
01:00:04,111 --> 01:00:05,643
I think. 
Right. 

1113
01:00:06,123 --> 01:00:09,214
So I'm pretty sure, uh, one day 
we can, because now everything 

1114
01:00:09,214 --> 01:00:10,761
is moving, everything is 
changing. 

1115
01:00:10,821 --> 01:00:14,477
Uh, and AI technology itself is 
being kind of like reinvented, 

1116
01:00:14,477 --> 01:00:16,181
you know. 
Every week, every month, you 

1117
01:00:16,181 --> 01:00:18,663
know, maybe there's a new model 
coming, new techniques coming 

1118
01:00:18,663 --> 01:00:20,671
out. 
Agentic thing now is also kind 

1119
01:00:20,671 --> 01:00:24,033
of like the crazy thing. 
And I'm sure AI will pop up in 

1120
01:00:24,033 --> 01:00:26,652
your layers. 
I would assume it would be in 

1121
01:00:26,652 --> 01:00:29,305
the trade-off layer and 
sometimes also in the wicked 

1122
01:00:29,305 --> 01:00:31,917
problem, right? 
So I think, uh, definitely it's 

1123
01:00:31,917 --> 01:00:34,975
gonna be fascinating this, uh, 
AI trend going in the software 

1124
01:00:34,975 --> 01:00:37,429
development world. 
So, Andrew, uh, as we reach the 

1125
01:00:37,429 --> 01:00:39,952
end of our conversation, thank 
you so much for outlining about 

1126
01:00:39,952 --> 01:00:42,502
this technical debt. 
I find it very fascinating for 

1127
01:00:42,502 --> 01:00:46,025
us, educating also, uh, for us, 
like how we can make technical 

1128
01:00:46,025 --> 01:00:49,199
debt trade-off better. 
Before I let you go, I have one 

1129
01:00:49,199 --> 01:00:51,169
last question. 
Uh, it's like a tradition in my 

1130
01:00:51,169 --> 01:00:53,501
podcast, which is to ask this 
question called the three 

1131
01:00:53,501 --> 01:00:55,917
technical leadership wisdom. 
So if you can think of it just 

1132
01:00:55,917 --> 01:00:57,770
like three advice you want to 
give to the listeners, uh, maybe

1133
01:00:57,770 --> 01:00:59,838
if you can share your version 
today, that would be great. 

1134
01:01:00,726 --> 01:01:05,157
Yeah, sure. 
So, well, I would say, um, that 

1135
01:01:05,157 --> 01:01:07,782
basically read more deeply, 
okay. 

1136
01:01:08,412 --> 01:01:10,379
If you think about where you're 
spending your time, quite a lot 

1137
01:01:10,379 --> 01:01:14,361
of your time, it might be you 
are just reading something on, 

1138
01:01:14,361 --> 01:01:17,002
uh, LinkedIn or perhaps watching
something on YouTube. 

1139
01:01:17,681 --> 01:01:21,937
There are some really wonderful 
things that have been written 

1140
01:01:21,937 --> 01:01:26,423
out there, and here I'm thinking
of, published books, okay? 

1141
01:01:26,423 --> 01:01:30,903
Something that is published and 
something that is a book, 

1142
01:01:30,903 --> 01:01:35,813
someone has spent a lot of time 
thinking about that, doing that.

1143
01:01:35,813 --> 01:01:41,488
They will have put in hundreds 
or thousands of hours to produce

1144
01:01:41,488 --> 01:01:43,560
that. 
So there's hundreds or thousands

1145
01:01:43,560 --> 01:01:47,080
of hours that have gone into 
that thought, and you can get 

1146
01:01:47,080 --> 01:01:50,820
that thought for an investment 
of just, uh, you know, 10-20 

1147
01:01:50,820 --> 01:01:52,940
hours or something reading 
through it there. 

1148
01:01:53,693 --> 01:01:55,313
That's not always gonna be true 
though. 

1149
01:01:55,313 --> 01:01:58,946
If it's, say, a blog article 
there, it won't have been 

1150
01:01:58,946 --> 01:02:00,296
through all of that process 
there. 

1151
01:02:00,476 --> 01:02:04,253
But if it's been published and 
it's been published by a 

1152
01:02:04,253 --> 01:02:06,869
publisher that has got... 
They need to make money. 

1153
01:02:06,869 --> 01:02:09,664
And in order to make money, they
need to do something that's good

1154
01:02:09,664 --> 01:02:12,039
enough quality that people will 
read it there. 

1155
01:02:12,640 --> 01:02:14,350
And there's a lot of stuff out 
there. 

1156
01:02:14,710 --> 01:02:18,400
And here I was thinking about, 
um, you know, uh, one of your, 

1157
01:02:18,578 --> 01:02:21,497
more recent guests was, uh, Karl
Wiegers with his Programming 

1158
01:02:21,497 --> 01:02:23,798
Pearls. 
And he's like, what a wonderful 

1159
01:02:23,798 --> 01:02:27,668
book there, you know, with all 
of these lots of good ideas 

1160
01:02:27,668 --> 01:02:29,758
there. 
And, you know, similar, there's 

1161
01:02:29,758 --> 01:02:32,693
one with, um, uh, it's Lessons 
Learned in Software Testing. 

1162
01:02:32,963 --> 01:02:35,183
Lots and lots of really great 
ideas in there. 

1163
01:02:35,810 --> 01:02:41,807
I think developers, we probably 
read perhaps two books a year or

1164
01:02:41,807 --> 01:02:44,016
something, two technical books a
year, if that. 

1165
01:02:44,501 --> 01:02:47,436
We could- we really should be 
reading an awful lot more. 

1166
01:02:48,002 --> 01:02:50,412
That'd be the first thing, 
reading in our own subjects. 

1167
01:02:51,042 --> 01:02:54,146
But then I would also say you 
should also, you should read 

1168
01:02:54,146 --> 01:02:57,521
more widely. 
And here I'm taking a sort of a 

1169
01:02:57,521 --> 01:03:01,036
hint from something called red 
teams here, which is where you 

1170
01:03:01,036 --> 01:03:03,556
should read outside of your 
experience there. 

1171
01:03:03,856 --> 01:03:07,544
So, I mean, I do a lot of, a lot
of work and a lot of research 

1172
01:03:07,544 --> 01:03:11,198
into the human factors. 
But the human factors that had 

1173
01:03:11,198 --> 01:03:14,912
not, you know, I had nothing at 
all to do with it until I 

1174
01:03:14,912 --> 01:03:17,552
started thinking about why have 
we got all these problems in 

1175
01:03:17,552 --> 01:03:20,025
software development that have 
been around for decades that we 

1176
01:03:20,025 --> 01:03:22,222
haven't. 
And so I started looking around 

1177
01:03:22,222 --> 01:03:24,062
for where else have they had 
similar things. 

1178
01:03:24,452 --> 01:03:27,831
So, you know, I've looked at 
that and I've looked at systems,

1179
01:03:27,831 --> 01:03:29,732
and systems thinking and 
dynamics. 

1180
01:03:29,882 --> 01:03:34,460
So you should broaden out your, 
um, your ideas and read more 

1181
01:03:34,460 --> 01:03:35,901
widely. 
And particularly, you should 

1182
01:03:35,901 --> 01:03:39,131
also read things that you don't 
necessarily agree with. 

1183
01:03:39,691 --> 01:03:42,191
You should expose yourself to 
different points of view. 

1184
01:03:42,660 --> 01:03:45,570
Now this means though, then this
comes to the third bit here. 

1185
01:03:45,960 --> 01:03:49,136
You need to set some time, you 
need to allocate time to do 

1186
01:03:49,136 --> 01:03:51,993
this. 
So put a slice into your, uh, 

1187
01:03:51,993 --> 01:03:55,626
calendar there. 
Maybe it's gonna be a morning or

1188
01:03:55,626 --> 01:03:58,510
something every fortnight, just 
for reading and nothing else. 

1189
01:03:59,777 --> 01:04:01,829
Wow. 
I think, uh, that's a very, 

1190
01:04:01,829 --> 01:04:05,297
again, very good timely reminder
for some of us who, you know. 

1191
01:04:05,405 --> 01:04:09,074
Because these days, social media
or maybe short blog posts are so

1192
01:04:09,074 --> 01:04:11,934
much easy to access and 
sometimes we get notified as 

1193
01:04:11,934 --> 01:04:13,822
well. 
I find sometimes like all these 

1194
01:04:13,822 --> 01:04:16,510
creates fatigue as well, right? 
So you have so many content 

1195
01:04:16,510 --> 01:04:19,602
thrown out to you. 
So we kind of like spend maybe 

1196
01:04:19,602 --> 01:04:22,091
short time reading it. 
We forget a lot of things. 

1197
01:04:22,331 --> 01:04:25,301
I think you, your advice is very
good, timely reminder, right? 

1198
01:04:25,301 --> 01:04:28,846
Read more deeply, read more 
widely as well, and set the time

1199
01:04:28,846 --> 01:04:30,696
to actually do those two things 
right? 

1200
01:04:31,121 --> 01:04:34,478
I think for software engineers, 
yeah, I also think myself don't 

1201
01:04:34,498 --> 01:04:36,901
read enough, especially those 
technical books that could be 

1202
01:04:36,901 --> 01:04:39,768
very thick, uh, and sometimes 
very dry. 

1203
01:04:39,828 --> 01:04:41,687
Rather than entertainment. 
Yes. 

1204
01:04:42,527 --> 01:04:43,217
Yeah. 
Yeah. 

1205
01:04:43,427 --> 01:04:46,938
That is true, yeah. 
But I think it's very important,

1206
01:04:46,938 --> 01:04:49,413
especially if we wanna keep 
ourself up to date. 

1207
01:04:49,443 --> 01:04:52,205
Re-skilling, again, like coming 
back to the first thing that we 

1208
01:04:52,205 --> 01:04:53,735
discussed, uh, in our 
conversation. 

1209
01:04:54,335 --> 01:04:57,161
So, Andrew, if people love this 
conversation, they wanna reach 

1210
01:04:57,161 --> 01:05:00,147
out to you, ask you more 
questions, maybe about technical

1211
01:05:00,147 --> 01:05:02,561
debt or social behavioral, uh, 
aspects, which I know that 

1212
01:05:02,561 --> 01:05:04,874
you're passionate about as well,
is there a place where they can 

1213
01:05:04,874 --> 01:05:07,122
find you online? 
There's LinkedIn. 

1214
01:05:07,732 --> 01:05:10,312
You can probably find me there, 
Andrew Brown at LinkedIn. 

1215
01:05:10,891 --> 01:05:16,156
Or I'm on YouTube as well. 
Or you can fire me an email 

1216
01:05:16,156 --> 01:05:19,376
which is. 
We can perhaps put it in your 

1217
01:05:19,376 --> 01:05:22,634
session there. 
It's Brown, Brown Sensei is the 

1218
01:05:22,634 --> 01:05:25,132
email to get me at 
brownsensei@hotmail. 

1219
01:05:25,362 --> 01:05:28,242
I took brownsensei when I was 
working in Japan actually at the

1220
01:05:28,242 --> 01:05:29,362
time. 
Yeah. 

1221
01:05:30,002 --> 01:05:31,382
And yeah, I'd love to hear from 
people. 

1222
01:05:32,554 --> 01:05:34,624
Right. 
Very nice, uh, nickname, 

1223
01:05:34,624 --> 01:05:36,968
Brown-sensei. 
So I think, uh, I'm sure like we

1224
01:05:36,968 --> 01:05:40,410
all learn a lot of things from 
you today from the Sensei, so 

1225
01:05:40,410 --> 01:05:42,828
thanks for sharing your 
knowledge and your experience. 

1226
01:05:43,098 --> 01:05:44,886
So yeah, thank you again Dr. 
Andrew. 

1227
01:05:45,664 --> 01:05:47,044
Thank you. 
Thank you very much, Henry. 

1228
01:05:47,134 --> 01:05:48,214
Thank you. 
It's been a pleasure. 

1229
01:05:48,484 --> 01:05:48,904
Thank you.
