1
00:00:00,000 --> 00:00:05,840
Well, here we are at the, as I learned, the Gartner Apps Conference, hashtag Gartner Apps,

2
00:00:06,220 --> 00:00:10,920
APPS, or the Gartner, what was it, Application Solution Summit Strategy?

3
00:00:11,400 --> 00:00:11,960
North American.

4
00:00:12,120 --> 00:00:12,520
Syllogism.

5
00:00:12,760 --> 00:00:13,020
Right.

6
00:00:13,200 --> 00:00:13,480
Yes.

7
00:00:13,640 --> 00:00:18,220
Anyways, so we just sat through a talk that you gave, and by sat through, I don't mean

8
00:00:18,220 --> 00:00:22,240
that it was a chore, but we just saw the talk that you gave, Richard and I, but why don't

9
00:00:22,240 --> 00:00:22,940
you introduce yourself?

10
00:00:23,700 --> 00:00:24,140
Yep.

11
00:00:24,140 --> 00:00:29,740
My name's Tony McCulley, I'm manager at Home Depot, and my team oversees all the Pivotal

12
00:00:29,740 --> 00:00:30,520
Cloud Foundry stuff.

13
00:00:30,860 --> 00:00:34,920
So the talk you gave was what I would call, like, I don't know, an experience report?

14
00:00:35,640 --> 00:00:40,820
Here's like a case of us trying to do software in a new way and improve stuff, and I mean,

15
00:00:40,900 --> 00:00:44,380
obviously for us, it's sort of like, and we use Pivotal Cloud Foundry, which is nice, but

16
00:00:44,380 --> 00:00:46,220
that was just a very small part of it.

17
00:00:46,900 --> 00:00:52,440
But to that end, can you give us, like, first of all, give us a brief background of you, like

18
00:00:52,440 --> 00:00:54,760
what, I mean, you're the certified Scrum Master.

19
00:00:54,940 --> 00:00:55,160
Wow.

20
00:00:55,220 --> 00:00:56,880
Is that the beginning and end of everything?

21
00:00:57,060 --> 00:00:57,680
No, actually.

22
00:00:57,740 --> 00:00:58,340
Who are you?

23
00:00:58,340 --> 00:01:03,820
Yeah, I went to school late, so out of high school, I actually got involved in IT doing

24
00:01:03,820 --> 00:01:04,840
some video game stuff.

25
00:01:05,120 --> 00:01:06,740
Oh, as so many people do.

26
00:01:06,920 --> 00:01:07,160
Yep.

27
00:01:07,380 --> 00:01:10,600
I had to hook up my Quake servers and all of that good jazz.

28
00:01:10,700 --> 00:01:11,180
LAN party.

29
00:01:11,280 --> 00:01:12,120
Yeah, LAN parties.

30
00:01:12,740 --> 00:01:18,860
So that turned into a gig at GameStop, where I started doing that at malls, and then that's

31
00:01:18,860 --> 00:01:24,920
turned into, you know, hardcore IT stuff, exchange servers, you know, all the A-plus certifications

32
00:01:24,920 --> 00:01:26,240
and Cisco and good jazz.

33
00:01:26,240 --> 00:01:29,760
I can see that's a natural progression, LAN party, exchange servers.

34
00:01:29,820 --> 00:01:30,440
Just think of that.

35
00:01:31,300 --> 00:01:32,680
It's a different type of gaming.

36
00:01:32,700 --> 00:01:35,500
Crawling through ceilings, wiring, network cables.

37
00:01:36,000 --> 00:01:37,020
We'll have agility on both.

38
00:01:37,160 --> 00:01:37,640
That's great.

39
00:01:38,000 --> 00:01:41,660
Yeah, so, you know, what I quickly saw was that wasn't going anywhere, right?

40
00:01:41,700 --> 00:01:42,960
Like, we're doing remote support.

41
00:01:43,240 --> 00:01:48,460
I was a creative person, so I got involved in a startup that was sort of game-related and

42
00:01:48,460 --> 00:01:53,340
IT-related, sold my way out of that, paid off all my debt, and it's like, all right, I'm

43
00:01:53,340 --> 00:01:57,260
going to start over, and I went into software to learn to make video games.

44
00:01:57,560 --> 00:01:57,700
Yeah.

45
00:01:57,700 --> 00:02:03,200
So I did computer science, and then I've never made a video game, and then I got into software,

46
00:02:03,660 --> 00:02:08,080
worked for GE, worked for Comcast, Booz Allen, and now I'm at Home Depot.

47
00:02:08,560 --> 00:02:14,780
So I have a background in user experience, user research, so I've done a lot of that in

48
00:02:14,780 --> 00:02:19,260
my career as well, and then while at GE, extensive, you know, agile coaching and training and stuff

49
00:02:19,260 --> 00:02:19,940
like that, so.

50
00:02:20,100 --> 00:02:20,360
Right.

51
00:02:20,560 --> 00:02:23,260
And then, so, when did you join Home Depot?

52
00:02:23,600 --> 00:02:24,640
Was it like two or three years ago?

53
00:02:24,660 --> 00:02:25,220
2014.

54
00:02:25,900 --> 00:02:26,140
Okay.

55
00:02:26,380 --> 00:02:27,240
Let's see if I can do math.

56
00:02:27,480 --> 00:02:27,600
Yeah.

57
00:02:27,900 --> 00:02:28,200
Three years.

58
00:02:28,260 --> 00:02:29,000
I've been there three years.

59
00:02:29,480 --> 00:02:35,360
And so what, like, so when you got there, what were you, not so much, like, what were

60
00:02:35,360 --> 00:02:40,400
you hired on to do, but, like, the sphere you were working in, like, what was going on?

61
00:02:40,440 --> 00:02:43,420
What was, like, the baseline when you got there, and then what was the mission?

62
00:02:43,640 --> 00:02:50,260
Yeah, so the baseline was everyone was trying to be agile, and it was this very disjointed,

63
00:02:50,580 --> 00:02:52,340
fragmented sort of approach to it.

64
00:02:52,700 --> 00:02:57,360
The particular app team that I was joining was at our pricing space, and they sort of hired

65
00:02:57,360 --> 00:03:00,840
me to, you know, to come on and be like, hey, you know, you're going to, you are a lead

66
00:03:00,840 --> 00:03:05,020
developer, right, but really what we want you to do is put PowerPoints together and train

67
00:03:05,020 --> 00:03:10,300
us on how to do Scrum and Kanban and lean and, you know, teach us about UX, right?

68
00:03:10,560 --> 00:03:11,640
But it's a small group.

69
00:03:12,240 --> 00:03:16,000
And then once it got time to be like, you know, I can't do this on my own, like, we need funding,

70
00:03:16,120 --> 00:03:21,260
let's bring in some people, you know, it got a little frustrated that it wasn't taken

71
00:03:21,260 --> 00:03:23,360
as seriously sort of at a higher level.

72
00:03:24,580 --> 00:03:29,100
And I sort of had, I don't know if anyone at Home Depot knows, sort of like one foot

73
00:03:29,100 --> 00:03:31,220
out the door, about eight months into that.

74
00:03:31,460 --> 00:03:35,480
Yeah, I like how every time you talk publicly, basically you're like, HR people, please do

75
00:03:35,480 --> 00:03:35,980
not listen.

76
00:03:36,180 --> 00:03:37,980
Pause podcast here, fast forward.

77
00:03:38,160 --> 00:03:40,960
I think in every talk I've seen you give, that line comes up.

78
00:03:40,960 --> 00:03:42,320
Yeah, it's, you know, it's true.

79
00:03:42,420 --> 00:03:46,720
Like, this is a new thing for Home Depot, and, you know, it's in jest, but there's a lot

80
00:03:46,720 --> 00:03:47,740
of truth said in jest, right?

81
00:03:47,880 --> 00:03:48,080
Sure.

82
00:03:48,620 --> 00:03:51,160
But about that time is when Paul came in, and...

83
00:03:51,160 --> 00:03:51,920
This is Paul Gaffney.

84
00:03:51,940 --> 00:03:52,780
Paul Gaffney, right.

85
00:03:53,340 --> 00:03:57,360
He came in just a couple months later, and, you know, he's like, hey, I'm going to bring

86
00:03:57,360 --> 00:04:00,480
a UX department, and I'm all about XP and Agile.

87
00:04:00,560 --> 00:04:03,660
And I was like, holy smokes, like, okay, I should probably stick around for a little bit.

88
00:04:03,660 --> 00:04:03,860
Yeah.

89
00:04:04,100 --> 00:04:10,200
Yeah, you know, what's interesting about that part of this story is, to rephrase it in my

90
00:04:10,200 --> 00:04:17,320
own way, like, a lot of doing Agile started as a bottoms-up initiative at Home Depot, which

91
00:04:17,320 --> 00:04:22,260
is almost like, it's almost a funny case of, like, a hundred different successes are a lot

92
00:04:22,260 --> 00:04:24,400
more of a trouble than, like, one big success.

93
00:04:24,400 --> 00:04:24,580
Oh.

94
00:04:24,680 --> 00:04:25,640
Like, in this instance.

95
00:04:25,780 --> 00:04:31,620
And so, the way you were talking about it in the talk is, we had a bunch of, what'd you

96
00:04:31,620 --> 00:04:35,960
call them, scrum police, and a bunch of different interpretations of it until, and again, in my

97
00:04:35,960 --> 00:04:40,880
phrasing, until we had a tops-down application of it, we couldn't really scale it, and we

98
00:04:40,880 --> 00:04:43,100
couldn't have the one plus one equals five.

99
00:04:43,240 --> 00:04:43,460
Yeah.

100
00:04:43,460 --> 00:04:44,900
So, we weren't getting the results you expected.

101
00:04:45,140 --> 00:04:45,760
No, absolutely.

102
00:04:46,200 --> 00:04:50,240
And, you know, I joke that we, you know, we had 40 scrum teams, and we were doing it 25

103
00:04:50,240 --> 00:04:51,080
different ways.

104
00:04:51,920 --> 00:04:52,280
Right.

105
00:04:52,720 --> 00:04:56,740
You know, I think, but I think what Paul brought wasn't, it wasn't, he was very conscious about

106
00:04:56,740 --> 00:04:58,940
not being prescriptive.

107
00:04:59,060 --> 00:04:59,260
Yeah.

108
00:04:59,520 --> 00:05:02,620
It was more about, sort of, like, hey, you know, you're struggling.

109
00:05:02,840 --> 00:05:07,860
I think I can help lead you, sort of, to a way of, kind of, discovering a right way to

110
00:05:07,860 --> 00:05:08,980
do this on your own, so.

111
00:05:09,220 --> 00:05:09,460
Yeah.

112
00:05:09,660 --> 00:05:09,840
Yeah.

113
00:05:09,920 --> 00:05:12,720
And it's a hard, I think that's one of the hardest things as a leader, is walking that

114
00:05:12,720 --> 00:05:16,740
fine line between, you know, being prescriptive and then, sort of, leading you, right?

115
00:05:17,100 --> 00:05:17,400
Yeah.

116
00:05:17,400 --> 00:05:18,260
Those are tough decisions.

117
00:05:18,260 --> 00:05:18,560
Yeah.

118
00:05:18,740 --> 00:05:23,580
I zeroed in on that, or keyed in on it, because that's a common pattern I see over and over

119
00:05:23,580 --> 00:05:29,180
again at the large companies we work with, is that to scale Agile, it has to be tops down,

120
00:05:29,280 --> 00:05:29,620
basically.

121
00:05:29,820 --> 00:05:33,540
And it's very hard to have it organically percolate upward.

122
00:05:33,800 --> 00:05:34,120
Right.

123
00:05:34,400 --> 00:05:40,020
And have it be, as Richard was rephrasing, have it reach the ends that you want.

124
00:05:40,080 --> 00:05:40,280
Right.

125
00:05:40,340 --> 00:05:42,900
At scale, which seems to happen a lot.

126
00:05:42,900 --> 00:05:45,820
I mean, before you got there, I mean, you mentioned you kind of came in and was this

127
00:05:45,820 --> 00:05:49,600
focus, and you made a statement early on in your presentation that Home Depot mission

128
00:05:49,600 --> 00:05:50,840
would be a great software company.

129
00:05:51,040 --> 00:05:51,200
Right.

130
00:05:51,260 --> 00:05:54,820
Which might seem mind-blowing to somebody who goes, well, I thought your mission was to

131
00:05:54,820 --> 00:05:55,540
sell me lumber.

132
00:05:55,820 --> 00:05:56,040
Yeah.

133
00:05:56,180 --> 00:05:56,880
And do it really well.

134
00:05:57,000 --> 00:05:58,320
Which, of course, it is to some extent.

135
00:05:58,360 --> 00:05:58,480
Right.

136
00:05:58,940 --> 00:06:00,000
But did that precede?

137
00:06:00,080 --> 00:06:03,320
I mean, all of this Agile probably popped up for other reasons, but was there a transformation

138
00:06:03,320 --> 00:06:05,180
saying, we've got to get better at software?

139
00:06:05,540 --> 00:06:05,600
Yeah.

140
00:06:05,600 --> 00:06:08,600
And then it was just kind of madness for a while, and then finally top down.

141
00:06:08,680 --> 00:06:11,340
I was like, all right, we're going to be good at software, but let's be good at software

142
00:06:11,340 --> 00:06:11,580
on purpose.

143
00:06:11,580 --> 00:06:15,560
Yeah, I think before Paul showed up, you know, like I said, we were there, and all the

144
00:06:15,560 --> 00:06:21,020
motivation was sort of from a developer morale, and, you know, like, hey, like, this Agile

145
00:06:21,020 --> 00:06:22,400
thing is really great for developers.

146
00:06:23,160 --> 00:06:24,540
We would love to do it.

147
00:06:25,140 --> 00:06:27,120
And then we would try to find ways to force it in.

148
00:06:27,160 --> 00:06:30,080
Like, our business partners were like, I don't care that you write user stories.

149
00:06:30,120 --> 00:06:31,360
I have this really big document.

150
00:06:31,900 --> 00:06:34,880
And so we would just take it on ourselves to be like, all right, well, I'm going to decompose

151
00:06:34,880 --> 00:06:38,860
your document into user stories and report to you in whatever format you need.

152
00:06:38,940 --> 00:06:39,100
Right.

153
00:06:39,100 --> 00:06:43,060
So we were kind of, you know, trying to fit, you know, square pegs in the round holes.

154
00:06:43,320 --> 00:06:46,660
What Paul brought was sort of exactly that.

155
00:06:46,700 --> 00:06:52,700
It was like this, it's more of a guidance around, but it was sort of value driven.

156
00:06:52,840 --> 00:06:54,980
It wasn't like, hey, we're going to do it this way.

157
00:06:55,380 --> 00:06:58,860
It was like, I want you to be, you know, I want you to have hypothesis and think about

158
00:06:58,860 --> 00:06:59,460
the value.

159
00:06:59,620 --> 00:07:01,140
I don't care about tracking progress.

160
00:07:01,560 --> 00:07:06,940
And so we kind of started honing in on those types of things versus, you know, Gantt charts

161
00:07:06,940 --> 00:07:07,360
and stuff.

162
00:07:07,500 --> 00:07:11,860
Yeah, there's a kind of a funny instance of that in your talk where someone asked, you're

163
00:07:11,860 --> 00:07:17,820
going over how you, so the part of the organization you work in supports developers to grossly oversimplify

164
00:07:17,820 --> 00:07:21,320
it by providing the services and the platforms and everything that they need.

165
00:07:22,780 --> 00:07:26,520
And you're talking about how you support them basically in a Slack channel.

166
00:07:26,520 --> 00:07:28,900
And it's very, it looks very informal essentially.

167
00:07:29,480 --> 00:07:33,240
And someone in the audience asked, well, how about tickets and tracking things?

168
00:07:33,500 --> 00:07:37,660
And so you should play through the answer that you gave because it was, I think it was a

169
00:07:37,660 --> 00:07:42,420
good instance of, is, is we only do activities that are valuable, right?

170
00:07:42,420 --> 00:07:44,560
Like we don't, we don't dress other stuff around it.

171
00:07:44,700 --> 00:07:44,940
Yeah.

172
00:07:45,160 --> 00:07:52,080
So, you know, so we basically, we don't have any tickets and we used to have a little bit

173
00:07:52,080 --> 00:07:53,980
of email and we try hard to get rid of that.

174
00:07:54,580 --> 00:07:56,920
And so really for us, it's about waiting, right?

175
00:07:56,920 --> 00:08:01,000
It's about, you know, again, like if you want help with a product and you call Home Depot,

176
00:08:01,220 --> 00:08:01,440
right?

177
00:08:01,520 --> 00:08:04,300
Or Sam's, whoever the company is, right?

178
00:08:04,300 --> 00:08:07,000
You have an issue with something, like you want a real person to answer.

179
00:08:07,360 --> 00:08:09,460
You want to have some sort of engagement, right?

180
00:08:09,460 --> 00:08:11,360
You want to have them understand what's going on.

181
00:08:11,360 --> 00:08:14,760
And I just don't think you can convey those things necessarily through tickets.

182
00:08:15,860 --> 00:08:16,180
Yeah.

183
00:08:16,260 --> 00:08:18,200
So no tickets for us, no waiting, no email.

184
00:08:18,600 --> 00:08:19,960
We just try to have a conversation.

185
00:08:20,480 --> 00:08:20,620
Yeah.

186
00:08:20,740 --> 00:08:22,240
And for these developer support scenarios.

187
00:08:22,240 --> 00:08:26,260
So again, when a developer needs help and this isn't, again, I think the other surprise

188
00:08:26,260 --> 00:08:28,340
is this isn't like 10 rogue devs.

189
00:08:28,580 --> 00:08:30,320
This is like 1,700.

190
00:08:30,720 --> 00:08:32,100
I mean, this is a lot of people.

191
00:08:32,220 --> 00:08:36,140
You're not messing around here with just a tiny pool of people who randomly crash apps.

192
00:08:36,340 --> 00:08:36,560
Yeah.

193
00:08:36,680 --> 00:08:43,840
And to build up my cheesy characterization of what your group does, tell us kind of like

194
00:08:43,840 --> 00:08:48,440
the scale of number of apps and users and stuff that you guys are supporting with the platform.

195
00:08:48,440 --> 00:08:48,760
Yeah.

196
00:08:48,880 --> 00:08:56,880
So it's about, you know, we try to equate an app team to like an org, which is a good general

197
00:08:56,880 --> 00:08:58,860
measure for us with the way we're structured.

198
00:08:59,120 --> 00:09:03,940
So it's about anywhere from 120, maybe 140 teams, I'm guessing.

199
00:09:04,120 --> 00:09:05,360
It's probably a little less than that.

200
00:09:05,620 --> 00:09:10,220
But, and then from there we have, so that's about how many applications.

201
00:09:10,360 --> 00:09:15,480
So I would say there's, there's probably, let me rephrase, about 80 or 90 teams, there's

202
00:09:15,480 --> 00:09:18,080
probably 120 or 130 big apps.

203
00:09:18,280 --> 00:09:18,520
Right.

204
00:09:18,960 --> 00:09:26,060
From there it's like, you know, 800, 900 services, I think 1,700 instances, seven foundations.

205
00:09:26,600 --> 00:09:26,800
Yeah.

206
00:09:26,840 --> 00:09:29,380
And there's 1,800 Cloud Foundry users.

207
00:09:30,080 --> 00:09:30,600
Right, right.

208
00:09:30,860 --> 00:09:32,660
And then, so, so what are these kinds of apps?

209
00:09:32,660 --> 00:09:37,420
Like one you've mentioned a little bit was like pricing, which obviously in retail is a

210
00:09:37,420 --> 00:09:37,760
big deal.

211
00:09:37,960 --> 00:09:38,140
Yeah.

212
00:09:38,620 --> 00:09:41,520
But give us a sense of what these, the other apps are in there.

213
00:09:41,620 --> 00:09:43,620
So I've sort of lost track of all the apps.

214
00:09:43,840 --> 00:09:49,360
But I know some of the big ones that we tend to sort of use as examples, our payment services,

215
00:09:49,560 --> 00:09:50,260
our payment gateway.

216
00:09:50,960 --> 00:09:55,100
We're sort of chipping away at portions of that and breaking out certain services.

217
00:09:55,100 --> 00:10:00,260
So of that overall workflow, we're trying to slowly move more and more of that to PCF.

218
00:10:00,440 --> 00:10:02,120
And then what is a payment service?

219
00:10:02,300 --> 00:10:02,500
Yeah.

220
00:10:02,680 --> 00:10:06,600
So like, you know, credit card transactions, what's happening, approvals, you know.

221
00:10:06,680 --> 00:10:06,960
Okay.

222
00:10:07,100 --> 00:10:07,320
Yeah.

223
00:10:07,420 --> 00:10:08,640
Just like the POS system.

224
00:10:08,740 --> 00:10:09,120
Exactly.

225
00:10:09,240 --> 00:10:09,280
Yeah.

226
00:10:09,280 --> 00:10:09,720
Okay, okay.

227
00:10:09,720 --> 00:10:09,900
Yeah.

228
00:10:10,020 --> 00:10:12,060
So the cash registers and check it, check out.

229
00:10:12,180 --> 00:10:14,040
Gift cards, credit cards, debit cards.

230
00:10:14,640 --> 00:10:19,280
So there's some aspects of that overall workflow that is now all going through PCF.

231
00:10:19,800 --> 00:10:23,520
And we have separate PCI foundations for that type of work.

232
00:10:24,260 --> 00:10:27,000
One of the big ones is a lot of our supply chain and logistics.

233
00:10:27,460 --> 00:10:33,220
So order management, you know, sending out stuff for vendors and filling those orders and

234
00:10:33,220 --> 00:10:34,400
where they get delivered.

235
00:10:34,580 --> 00:10:35,900
There's a lot of work in that area.

236
00:10:36,740 --> 00:10:41,680
And then, you know, tool rental and the stores, they're one of our early adopters.

237
00:10:42,000 --> 00:10:46,400
And they're about to go out to, I think, all 2,000 of our stores this year.

238
00:10:46,520 --> 00:10:46,820
Okay.

239
00:10:46,940 --> 00:10:47,800
All on PCF.

240
00:10:48,380 --> 00:10:48,580
Yeah.

241
00:10:48,700 --> 00:10:52,700
In one of your talks, you told a good story about pro-rental where you're kind of like,

242
00:10:52,740 --> 00:10:56,800
well, you know, you would think if the tool was late, you would charge those fees.

243
00:10:57,100 --> 00:10:57,720
Yeah, exactly.

244
00:10:58,100 --> 00:10:58,260
Yeah.

245
00:10:58,260 --> 00:11:01,400
There used to be a joke that if you ever wanted a new tool, you'd just go and rent it

246
00:11:01,400 --> 00:11:02,460
and you'd keep it forever.

247
00:11:03,100 --> 00:11:03,780
Yeah, yeah.

248
00:11:04,300 --> 00:11:08,400
And then, I mean, I was saying, you know, I need to verify a bunch of stories I tell.

249
00:11:08,440 --> 00:11:12,760
I have another story I tell about, like, your paint desk where you're improving the way

250
00:11:12,760 --> 00:11:13,800
that paint is done there.

251
00:11:13,980 --> 00:11:14,220
Yeah.

252
00:11:15,120 --> 00:11:19,580
I know, I don't know the whole story, but you know what's interesting is I don't think

253
00:11:19,580 --> 00:11:24,520
we ever had a thing where we saved, like, the formula for a color.

254
00:11:24,520 --> 00:11:27,040
Like, as crazy as that sounds, right?

255
00:11:27,140 --> 00:11:27,320
Yeah.

256
00:11:27,500 --> 00:11:30,720
Like, you go and you buy paint, and then six months later you want to paint another room

257
00:11:30,720 --> 00:11:31,360
the same color.

258
00:11:31,540 --> 00:11:35,080
It's like, you can't, that color isn't saved anywhere.

259
00:11:35,240 --> 00:11:38,520
It's like you have to recreate it from scratch with all the color matching and stuff.

260
00:11:39,000 --> 00:11:42,280
So now I think, you know, there's a lot of work being interesting and very valuable.

261
00:11:42,760 --> 00:11:47,820
Yeah, and, you know, the reason I, well, not the, one of the, my personal reasons for

262
00:11:47,820 --> 00:11:49,300
asking about apps is I think it's fascinating.

263
00:11:49,400 --> 00:11:53,280
You look at a company like Home Depot, and you list all the applications, you realize, like,

264
00:11:53,320 --> 00:11:58,240
how many different applications there are and the variety that they are, right?

265
00:11:58,240 --> 00:12:00,980
Like, it's, it's one thing to think, like, well, we have to handle payments.

266
00:12:01,140 --> 00:12:01,620
I mean, sure.

267
00:12:01,860 --> 00:12:02,000
Right.

268
00:12:02,100 --> 00:12:06,160
And then, and then it's even somewhat simpler to be like, well, we, we buy, we buy the flashlights

269
00:12:06,160 --> 00:12:08,980
and the flashlights have to ship from here, and then we have to determine where they go.

270
00:12:09,080 --> 00:12:09,200
Yeah.

271
00:12:09,200 --> 00:12:09,460
And like, sure.

272
00:12:09,960 --> 00:12:13,380
But then you start thinking, like, well, there's also software for the tool rental, there's

273
00:12:13,380 --> 00:12:14,540
software for the paint mixer.

274
00:12:14,760 --> 00:12:14,940
Yep.

275
00:12:14,940 --> 00:12:18,160
There's probably even some software at the key making place, like, and like all these

276
00:12:18,160 --> 00:12:24,220
places have like, and it can't really be off the shelf software, or even probably just

277
00:12:24,220 --> 00:12:26,840
like ERP stuff that you customize a little bit.

278
00:12:26,960 --> 00:12:30,360
Like, you end up wanting it to be like full on custom software.

279
00:12:30,620 --> 00:12:35,380
And then at that point, at least my mind kind of in a delightful way kind of boggles at

280
00:12:35,380 --> 00:12:37,340
the amount of applications that are out there.

281
00:12:37,340 --> 00:12:42,040
And you realize, multiplied across every company out there in the world, there's just like

282
00:12:42,040 --> 00:12:43,400
endless software, right?

283
00:12:43,620 --> 00:12:44,380
Yeah, absolutely.

284
00:12:44,960 --> 00:12:49,800
And like I said, I, you know, with the self-service nature, it's sort of taken on a mind of its

285
00:12:49,800 --> 00:12:49,960
own.

286
00:12:50,020 --> 00:12:54,400
Like, we're, we're not, I'm personally, I'm not fully aware anymore of all the stuff that's

287
00:12:54,400 --> 00:12:54,740
on there.

288
00:12:54,740 --> 00:12:55,200
Right, right.

289
00:12:55,200 --> 00:12:58,740
I mean, it's, you know, we're, we're constantly learning about new things that people are doing.

290
00:12:58,920 --> 00:12:59,460
That's good.

291
00:12:59,620 --> 00:13:03,880
Because I mean, I mean, this idea that you're not deploying just one monolithic, like, store

292
00:13:03,880 --> 00:13:07,560
app twice a year, it just does everything that you need to do with a store, right?

293
00:13:07,560 --> 00:13:11,780
Which might be the old way of doing it, like, ERP style, just makes keys and does

294
00:13:11,780 --> 00:13:12,120
check out.

295
00:13:12,120 --> 00:13:15,420
As we know, this is how all pet shops in the 2000s ran, right?

296
00:13:15,420 --> 00:13:15,560
That's true.

297
00:13:15,720 --> 00:13:17,920
They had the one app that you just got out of the box.

298
00:13:18,140 --> 00:13:21,520
So, I mean, I think that when you showed the number, you know, doing 17,000 deploys, whatever,

299
00:13:21,740 --> 00:13:25,940
you know, your numbers, like, I liked, and I was facing you, so I didn't get to look at

300
00:13:25,940 --> 00:13:26,240
the crowd.

301
00:13:26,300 --> 00:13:29,400
But you could tell from some of the questions that some people were like, wait, wait a second.

302
00:13:29,400 --> 00:13:33,500
Oh, I saw, I saw a bunch of people like that, yeah, a lot of people kind of stood

303
00:13:33,500 --> 00:13:34,380
up and was like, what?

304
00:13:34,380 --> 00:13:38,800
So I think you were, you know, as you talk about your more social form of support and

305
00:13:38,800 --> 00:13:42,060
the number of deployments you're doing, and you're getting questions on how the heck do

306
00:13:42,060 --> 00:13:44,120
you test and what about change records?

307
00:13:44,400 --> 00:13:49,800
So, I mean, when you, what's the most common thing you hear from other people who go, that

308
00:13:49,800 --> 00:13:53,660
sounds crazy, but I'm also used to hearing weird startups tell me this, how is the Home

309
00:13:53,660 --> 00:13:54,460
Depot doing this?

310
00:13:54,600 --> 00:13:54,760
Yeah.

311
00:13:54,880 --> 00:13:56,060
How do you, what do you hear the most?

312
00:13:56,100 --> 00:14:01,060
A big one that comes up is compliance and change records and how do you get, you know, security

313
00:14:01,060 --> 00:14:04,840
and networking and everyone else on board to make all of that possible?

314
00:14:05,700 --> 00:14:08,580
And to be honest, like, I don't think there's an easy answer to that.

315
00:14:08,640 --> 00:14:11,120
And I think that's the cultural issue.

316
00:14:12,080 --> 00:14:17,700
So, you know, my job rec says one thing, but I probably spend, you know, 70, 80% of my

317
00:14:17,700 --> 00:14:23,600
time just doing that, which is, you know, rallying people across our company, having the hard

318
00:14:23,600 --> 00:14:24,540
discussion, right?

319
00:14:24,540 --> 00:14:26,760
And then, you know, being empathetic.

320
00:14:26,860 --> 00:14:30,440
I mean, they, they, they want to do the right thing and then there's, you know, stakeholder

321
00:14:30,440 --> 00:14:33,400
reasons for that and compliance reasons for that and security reasons for that.

322
00:14:33,560 --> 00:14:34,940
It's valuable stuff.

323
00:14:35,340 --> 00:14:39,020
But how do you do it in such a way that, you know, is easy and frictionless?

324
00:14:39,080 --> 00:14:40,840
And I think that's the, that's the hard thing.

325
00:14:41,040 --> 00:14:45,280
I think your chip away metaphor is probably the right one because you explained how, hey, like

326
00:14:45,280 --> 00:14:46,580
you don't cut these teams out.

327
00:14:46,960 --> 00:14:50,560
But instead it's like, hey, here's an API to actually create a ticket or a change record.

328
00:14:50,700 --> 00:14:54,160
Like we're actually trying to give the, put interfaces on these relationships so that

329
00:14:54,160 --> 00:14:55,440
you still do good stuff.

330
00:14:55,440 --> 00:14:57,500
But as you say, make it easy to do the right thing.

331
00:14:57,800 --> 00:14:58,620
And they love it.

332
00:14:58,640 --> 00:15:03,280
The quality of stuff that's being audited and looked at is way better and more honest

333
00:15:03,280 --> 00:15:05,180
and more accurate than what it was before.

334
00:15:05,520 --> 00:15:05,680
Yeah.

335
00:15:05,680 --> 00:15:09,760
That's like, I think it was, it's like, uh, Mark at, uh, Liberty.

336
00:15:09,880 --> 00:15:11,880
I think it's Liberty Mutual instead of HCSC.

337
00:15:12,040 --> 00:15:12,260
I get him.

338
00:15:12,320 --> 00:15:14,280
I get these two talks mixed up, but he had a good point.

339
00:15:14,320 --> 00:15:17,840
He was like, when it comes to audit, like you can put whatever you want in a word doc.

340
00:15:18,020 --> 00:15:18,320
Yeah.

341
00:15:18,400 --> 00:15:18,720
Right.

342
00:15:18,780 --> 00:15:24,280
Like, like, so don't think that your current way of doing compliance and auditing is actually

343
00:15:24,280 --> 00:15:25,660
better.

344
00:15:25,800 --> 00:15:26,120
Right.

345
00:15:26,180 --> 00:15:30,980
Like, like it's, it's, it goes from checking a box to like providing something substantive

346
00:15:30,980 --> 00:15:32,560
as context in a history.

347
00:15:32,560 --> 00:15:32,960
Yeah.

348
00:15:32,960 --> 00:15:36,100
And, and, and, and you, you went over two tactics that I think are interesting.

349
00:15:36,260 --> 00:15:41,540
One of them was the way I remembered it, uh, or filed it in my mind is, so you work with

350
00:15:41,540 --> 00:15:44,880
whether it's auditor security people, we'll just call the, all these, these people, the

351
00:15:44,880 --> 00:15:45,280
auditors.

352
00:15:45,280 --> 00:15:50,120
And one of the things you said, and it was kind of a response to a question you were alluding

353
00:15:50,120 --> 00:15:54,580
to Richard is, um, so how do you get their permission to do all of this?

354
00:15:54,580 --> 00:15:57,960
And then your answer was like, well, we kind of sort of didn't do that.

355
00:15:58,160 --> 00:16:02,740
And then, but then I think the tactic that was interesting that, and I, and I wanted to

356
00:16:02,740 --> 00:16:06,200
go over it because I think it's one that can be reused by other people is once you have

357
00:16:06,200 --> 00:16:12,060
it in place, it's almost like it's some sort of psychological trick, but you're, you motivate

358
00:16:12,060 --> 00:16:15,900
the auditors to figure out how to say yes, instead of going to their default no.

359
00:16:16,000 --> 00:16:16,200
Right.

360
00:16:16,260 --> 00:16:16,460
Right.

361
00:16:16,520 --> 00:16:20,380
And, and it's a little risky, like it's a little bit of a gambit that you're playing

362
00:16:20,380 --> 00:16:20,620
there.

363
00:16:20,760 --> 00:16:21,440
There is, absolutely.

364
00:16:21,600 --> 00:16:25,000
But that seems like kind of what the only thing to do.

365
00:16:25,000 --> 00:16:28,380
Well, I, I mean, I think that's what good leaders do, right?

366
00:16:28,440 --> 00:16:33,320
I think that's really the, um, you know, and it's sort of some of that we've learned, you

367
00:16:33,320 --> 00:16:37,760
know, from pivotal, like the mantra of the ask for forgiveness, not necessarily permission.

368
00:16:37,760 --> 00:16:38,080
Right.

369
00:16:38,140 --> 00:16:39,980
And, um, you know, it's the same thing.

370
00:16:39,980 --> 00:16:44,820
Like, you know, it's, there's a lot of mythos and, you know, legend around what happens if

371
00:16:44,820 --> 00:16:49,680
you don't follow certain processes or if a developer pushes something to production directly

372
00:16:49,680 --> 00:16:54,380
and, and, you know, nothing burns down and no one goes to jail and, you know, it just

373
00:16:54,380 --> 00:16:55,220
doesn't happen.

374
00:16:55,540 --> 00:16:55,620
Right.

375
00:16:55,840 --> 00:16:56,800
The lumber still ships.

376
00:16:56,960 --> 00:16:57,140
Yeah.

377
00:16:57,160 --> 00:17:00,840
I mean, as you're dealing with PCI, again, I think everyone's, it can't be irresponsible,

378
00:17:01,180 --> 00:17:01,300
right?

379
00:17:01,300 --> 00:17:04,960
Like we're not going to accidentally throw a data set online and for fun and like, I will

380
00:17:04,960 --> 00:17:05,960
ask for forgiveness later.

381
00:17:06,020 --> 00:17:10,820
So I'm sure there's this sort of line where you go, this feels like I could do this, but

382
00:17:10,820 --> 00:17:14,480
maybe I check first versus like, this is, we're in the spirit of compliance.

383
00:17:14,480 --> 00:17:15,800
We're in the spirit of support.

384
00:17:16,040 --> 00:17:19,060
Let's get this out and then let's modernize whatever our practices were.

385
00:17:19,060 --> 00:17:21,440
I mean, do you have that fine line or is it just a judgment call?

386
00:17:22,040 --> 00:17:26,860
You know, a lot of it's a judgment call and, you know, a lot of it's education on my part.

387
00:17:27,760 --> 00:17:31,340
You know, when we get into the compliance, I didn't know anything about compliance until

388
00:17:31,340 --> 00:17:32,980
three months ago or four months ago.

389
00:17:33,040 --> 00:17:33,220
Right.

390
00:17:33,260 --> 00:17:35,260
And it's like, you know, the best.

391
00:17:35,500 --> 00:17:35,680
Yeah.

392
00:17:36,020 --> 00:17:38,780
You know, I just think, you know, we, but we've talked to other companies that have sort

393
00:17:38,780 --> 00:17:39,880
of done it the other way.

394
00:17:39,880 --> 00:17:40,160
Right.

395
00:17:40,180 --> 00:17:43,100
It's like, Hey, we have a platform, we're going to get compliance and security.

396
00:17:43,100 --> 00:17:43,500
Right.

397
00:17:43,500 --> 00:17:46,960
And it, you know, and they stand it up and they have all those things in place.

398
00:17:46,960 --> 00:17:49,500
And then it just takes so long to get the adoption.

399
00:17:50,180 --> 00:17:54,000
And I think another thing that's lucky for us is that when you have 2000 stores, we have

400
00:17:54,000 --> 00:17:55,960
a culture of trying a thing.

401
00:17:56,120 --> 00:17:56,520
Right.

402
00:17:56,560 --> 00:17:59,960
And so it's very easy for us to pick a store or a team that we trust.

403
00:17:59,960 --> 00:18:00,240
Right.

404
00:18:00,240 --> 00:18:01,520
And just play with something.

405
00:18:01,660 --> 00:18:03,520
And so we have a lot of trust in that.

406
00:18:03,520 --> 00:18:07,860
And, and I've been blessed with good leaders who, who really trust my judgment and have

407
00:18:07,860 --> 00:18:10,520
backed me and kind of stuck their necks out.

408
00:18:10,760 --> 00:18:11,560
And yeah, that's interesting.

409
00:18:11,640 --> 00:18:14,260
You already have a structure and culture of canary testing, basically.

410
00:18:14,260 --> 00:18:14,960
A little bit.

411
00:18:15,000 --> 00:18:15,200
Yeah.

412
00:18:15,380 --> 00:18:15,780
Yeah.

413
00:18:15,780 --> 00:18:17,320
And we learned that the hard way.

414
00:18:17,360 --> 00:18:19,560
There's a lot of operational scarring behind that.

415
00:18:19,560 --> 00:18:19,900
Yeah.

416
00:18:19,900 --> 00:18:20,160
Yeah.

417
00:18:20,160 --> 00:18:20,560
Yeah.

418
00:18:20,560 --> 00:18:25,220
So, yeah, I mean, there, there's, there's another topic, this whole, like a phrase you

419
00:18:25,220 --> 00:18:28,780
kept using is like trust, but verify, like, I think maybe my favorite Reagan doctrine.

420
00:18:29,060 --> 00:18:33,340
I'm sure there's a handful of them, uh, anyways, but, uh, like that's kind of related.

421
00:18:33,420 --> 00:18:36,380
And I wanted you to tell a story of, it's also related to audit.

422
00:18:36,480 --> 00:18:42,640
And I'm using that as the all encompassing thing of how you basically like automated security

423
00:18:42,640 --> 00:18:43,640
audits, right.

424
00:18:43,640 --> 00:18:47,360
And, and it involved, it even involves like service now, but like that, it seems like a

425
00:18:47,360 --> 00:18:53,320
good example of, it's not, it's, it's not so much like try something and ask for forgiveness

426
00:18:53,320 --> 00:18:53,680
later.

427
00:18:53,680 --> 00:18:56,680
It's more like try something and automate audit auditing.

428
00:18:56,680 --> 00:18:57,260
Yeah, absolutely.

429
00:18:57,540 --> 00:18:59,160
Like I said, there's value in what they do.

430
00:18:59,160 --> 00:19:02,160
And I think the trick is to do that frictionless, right.

431
00:19:02,160 --> 00:19:02,360
Right.

432
00:19:02,360 --> 00:19:03,820
And the easiest way possible.

433
00:19:03,820 --> 00:19:07,120
And I think people gravitate towards the path of least resistance.

434
00:19:07,120 --> 00:19:12,600
And that's why there is shadow IT and there's, you know, there's, uh, you know, rogue code

435
00:19:12,600 --> 00:19:15,280
repository somewhere on someone's system or in the cloud.

436
00:19:15,280 --> 00:19:16,960
I always used to misspell that as Roge.

437
00:19:17,280 --> 00:19:17,680
Roge.

438
00:19:17,860 --> 00:19:18,300
Roge.

439
00:19:18,400 --> 00:19:18,760
Roge.

440
00:19:18,900 --> 00:19:19,260
There you go.

441
00:19:19,380 --> 00:19:23,280
I don't know how to pronounce anything, but I mean, tell us the story of how the, the

442
00:19:23,280 --> 00:19:26,300
sort of security audits were automated or some of them.

443
00:19:26,300 --> 00:19:27,640
Yeah, we're working on that now.

444
00:19:27,640 --> 00:19:31,200
And, and that effort is being done by a bunch of volunteers in our company.

445
00:19:31,200 --> 00:19:36,060
Um, and you know, what they're, what they're essentially doing is that we've worked with

446
00:19:36,060 --> 00:19:42,680
our ops team who owns, um, service now, um, which is supposed to be our, our repository of

447
00:19:42,680 --> 00:19:44,020
all of our changes for audit.

448
00:19:44,020 --> 00:19:49,680
Um, but you know, if there was a way, but that's locked away by another team, right?

449
00:19:49,680 --> 00:19:54,360
So if I want to make changes there, I have to kind of go through someone else or only certain

450
00:19:54,360 --> 00:19:57,920
people have access and there's licensing and that's not frictionless, right?

451
00:19:57,920 --> 00:20:03,140
So, um, and so the quality of stuff that goes in there tends to be a big copy paste or, you

452
00:20:03,140 --> 00:20:03,980
know, it's a checkbox.

453
00:20:03,980 --> 00:20:10,360
So what we've done is, um, worked with that team to create APIs that allows teams to hook

454
00:20:10,360 --> 00:20:11,860
into that from their own pipelines.

455
00:20:12,140 --> 00:20:17,500
So, you know, our, our enterprise monitoring folks, um, we have someone there, um, who's

456
00:20:17,500 --> 00:20:19,720
super talented, uh, Marcos Mendez.

457
00:20:19,720 --> 00:20:24,680
And he's done a lot of work working with operations to kind of create APIs for that so that teams

458
00:20:24,680 --> 00:20:30,280
can, you know, basically commit their changes and create change records and, and, you know,

459
00:20:30,360 --> 00:20:34,620
parse GitHub commits and stuff to put, you know, really good information in there.

460
00:20:34,980 --> 00:20:38,920
Um, and so then a part of that also is working with security who's interested in doing, you

461
00:20:38,920 --> 00:20:41,680
know, static, you know, security scans of things, right?

462
00:20:41,680 --> 00:20:46,900
And so we work with them to create, you know, APIs for doing that and, um, and then getting

463
00:20:46,900 --> 00:20:50,360
the return results and then attaching those as documents and so forth.

464
00:20:50,360 --> 00:20:56,900
So in doing these as APIs, I mean, did these become mandatory or do you feel like because

465
00:20:56,900 --> 00:20:58,920
it's easy, a dev's happy to do them now?

466
00:20:58,980 --> 00:21:01,560
I mean, just adding an API on service now, they might go, it's cool.

467
00:21:01,740 --> 00:21:02,620
I'm still not doing it.

468
00:21:02,660 --> 00:21:04,800
Or does it become a like, I know I'd like to use this.

469
00:21:04,840 --> 00:21:05,900
It actually makes my app better.

470
00:21:05,900 --> 00:21:07,480
It's way better than the alternative.

471
00:21:07,900 --> 00:21:12,260
Like I said, like most teams have like, there used to be a culture of like change captains,

472
00:21:12,300 --> 00:21:12,420
right?

473
00:21:12,420 --> 00:21:15,300
Like only coordinators can create things in service now.

474
00:21:15,300 --> 00:21:19,360
And it's like, I don't like, why would you, you know, I know why we did it, right?

475
00:21:19,700 --> 00:21:20,100
Right.

476
00:21:20,580 --> 00:21:23,580
Financial reasons or, you know, trust reasons or whatever that is.

477
00:21:23,680 --> 00:21:28,580
But, um, you know, now that it's, you know, everyone would do it the other way.

478
00:21:28,640 --> 00:21:31,540
Everyone who's done it this way can't imagine doing it another way.

479
00:21:31,760 --> 00:21:32,720
It's simple.

480
00:21:33,060 --> 00:21:33,200
Yeah.

481
00:21:33,260 --> 00:21:37,180
That's, that's, that's a, uh, a pattern I hear over and over again.

482
00:21:37,300 --> 00:21:39,360
Well, first of all, culture of change captains.

483
00:21:39,440 --> 00:21:40,220
That's a good phrase.

484
00:21:40,340 --> 00:21:44,640
It sounds like, it sounds, sounds like a book, but, uh, but the pattern I hear over

485
00:21:44,640 --> 00:21:48,220
and over again is the, uh, I think the first time I heard it was someone said that they

486
00:21:48,220 --> 00:21:51,420
wrote a chef script to open a service now ticket, right?

487
00:21:51,480 --> 00:21:55,320
That, that, you know, there's, there's a bit, if you do sort of like an end to end, I hesitate

488
00:21:55,320 --> 00:21:57,240
to call it a value stream map, but a pipeline.

489
00:21:57,780 --> 00:22:00,520
And there's certain moments where it's sort of like, got to have a ticket.

490
00:22:00,520 --> 00:22:05,600
And like, so, so people have discovered over the past few years that like, well, with an

491
00:22:05,600 --> 00:22:08,360
API, uh, I could just automate that.

492
00:22:08,540 --> 00:22:10,960
And, and that's a slightly disingenuous.

493
00:22:10,960 --> 00:22:13,940
It's kind of like open ticket and forget to use the fire and forget thing.

494
00:22:13,960 --> 00:22:17,520
But I think what I liked about what you guys are doing is it's more like, not only do we

495
00:22:17,520 --> 00:22:22,460
open a ticket for this other party, but we actually make their life better by like arranging all

496
00:22:22,460 --> 00:22:23,620
the stuff and attaching it.

497
00:22:23,620 --> 00:22:27,640
And like, because it's driven by automation, it's a lot less error prone than a person doing

498
00:22:27,640 --> 00:22:27,820
it.

499
00:22:27,820 --> 00:22:31,620
And in theory, the auditor on the other end, they can open this ticket and like, everything's

500
00:22:31,620 --> 00:22:31,840
there.

501
00:22:32,240 --> 00:22:35,180
Everything's there with way more detail than they can probably even get into.

502
00:22:35,340 --> 00:22:35,540
Right.

503
00:22:35,620 --> 00:22:39,820
And it's just a lot more efficient than like we have the, uh, the, the twice month, like

504
00:22:39,820 --> 00:22:45,240
cab meeting scheduled where we've got to put together slides and like it, people talking

505
00:22:45,240 --> 00:22:47,720
to each other is, I guess Bezos would say is failure.

506
00:22:48,100 --> 00:22:50,500
With the change notes of fixed bug and yeah.

507
00:22:50,500 --> 00:22:51,380
Yeah, yeah, exactly.

508
00:22:51,500 --> 00:22:51,600
No.

509
00:22:51,640 --> 00:22:56,620
So, and, and so that gets to the thing I was alluding to earlier is it seems like, um, I

510
00:22:56,620 --> 00:22:57,740
don't, I mean, you talked about this.

511
00:22:57,820 --> 00:23:00,640
Is the main point, but I think one of the main things running to the way you guys are

512
00:23:00,640 --> 00:23:05,020
doing stuff at over there at home Depot is this trust, but verify thing where there is

513
00:23:05,020 --> 00:23:06,980
this, it almost starts.

514
00:23:06,980 --> 00:23:11,080
And this is where the, the, the, the rainbows and sandals culture stuff comes in, but it

515
00:23:11,080 --> 00:23:14,960
starts with this idea of like, we're paying these people a lot of money.

516
00:23:15,560 --> 00:23:17,320
We should trust them to do a good job.

517
00:23:17,420 --> 00:23:17,520
Yeah.

518
00:23:17,960 --> 00:23:21,280
But then we have audits in place to make sure they're like, Hey, we'll just make sure you

519
00:23:21,280 --> 00:23:21,800
go off the rails.

520
00:23:21,800 --> 00:23:26,100
It's, it's, it's more, it's more about like, like safety nets rather than like bureaucratic

521
00:23:26,100 --> 00:23:27,840
mazes that people have to run through.

522
00:23:27,960 --> 00:23:28,100
Yeah.

523
00:23:28,140 --> 00:23:28,720
It's a good point.

524
00:23:28,800 --> 00:23:32,440
I mean, it was something I wanted to include in the talk, but I didn't, but one of the things

525
00:23:32,440 --> 00:23:36,640
we had early conversations about was a sort of, how do you make guardrails?

526
00:23:37,200 --> 00:23:40,160
There are a couple of things you want to be absolute about, right?

527
00:23:40,240 --> 00:23:40,460
Yeah.

528
00:23:40,520 --> 00:23:44,560
And set some constraints and, but how loose do you make those, right?

529
00:23:44,640 --> 00:23:51,460
How do you make teams have just enough power and influence while still being bounded somewhat

530
00:23:51,460 --> 00:23:53,780
by these constraints and guardrails?

531
00:23:54,040 --> 00:23:56,080
And so one of those guardrails, for example, is GitHub.

532
00:23:56,260 --> 00:23:57,560
Like your code has to be in GitHub.

533
00:23:58,060 --> 00:23:58,220
Right.

534
00:23:58,340 --> 00:24:03,480
But if we made GitHub, you know, require an approval process and make it super difficult to use.

535
00:24:03,520 --> 00:24:07,260
And if it wasn't anything like the experience of GitHub out on the cloud, they're not going

536
00:24:07,260 --> 00:24:07,740
to use it.

537
00:24:08,020 --> 00:24:11,900
So you have, you sort of have to live up to that, that responsibility.

538
00:24:12,260 --> 00:24:12,380
Right.

539
00:24:12,440 --> 00:24:15,580
You've, I mean, I think when I first met you and you, one of the first things you were talking

540
00:24:15,580 --> 00:24:18,500
about was developer experience and opening those floodgates.

541
00:24:18,600 --> 00:24:19,900
And I don't know.

542
00:24:19,900 --> 00:24:22,660
I mean, I'm sure that makes people want to be a little more compliant when they don't feel

543
00:24:22,660 --> 00:24:23,640
like you're just nagging them.

544
00:24:23,740 --> 00:24:27,300
Like if you're giving them the tools to do things and they can assemble those things and

545
00:24:27,300 --> 00:24:28,400
they feel like you're trusting them.

546
00:24:28,660 --> 00:24:28,800
Yeah.

547
00:24:28,800 --> 00:24:29,660
That's such a different story.

548
00:24:29,720 --> 00:24:31,180
And that's why you've seen such crazy adoption.

549
00:24:31,180 --> 00:24:35,380
I'm sure is that you said at the beginning, it was just, here you go, like go do good

550
00:24:35,380 --> 00:24:38,140
stuff here and hopefully it helps the company and you're responsible.

551
00:24:38,360 --> 00:24:41,860
And I think it's interesting, like when people start landing on a couple of those guardrails

552
00:24:41,860 --> 00:24:45,760
and we don't mandate Pivotal Tracker, but it's quickly been adopted.

553
00:24:45,980 --> 00:24:49,880
And, you know, I would argue most of our teams are on Pivotal Tracker now, but when you do

554
00:24:49,880 --> 00:24:53,300
have those guardrails, like you get to pull out, that's what makes it possible to have

555
00:24:53,300 --> 00:24:57,220
all that really rich metadata and monitoring and alerting and logs, right?

556
00:24:57,260 --> 00:25:01,400
Like you have so much data about what your community is doing, it makes it really interesting

557
00:25:01,400 --> 00:25:03,520
to put pictures together and see patterns.

558
00:25:03,520 --> 00:25:09,520
And, you know, we're starting to look at that on PCF as well, like much prior to the chagrin

559
00:25:09,520 --> 00:25:12,560
of you guys, but like, what does it cost to do Spring Boot versus Go, right?

560
00:25:12,600 --> 00:25:17,760
From an infrastructure and capacity, does Spring make sense for all teams, right?

561
00:25:17,800 --> 00:25:17,960
Sure.

562
00:25:17,960 --> 00:25:19,400
Or, you know, are there other alternatives?

563
00:25:19,780 --> 00:25:22,140
I just like that you've got this sort of meta feedback loop.

564
00:25:22,220 --> 00:25:25,340
Like there's the feedback loop of building good apps, but there's this feedback loop of

565
00:25:25,340 --> 00:25:27,100
how am I helping people build good apps?

566
00:25:27,220 --> 00:25:30,520
And you're talking about that, that, you know, hey, if Tracker doesn't work for you, you'll

567
00:25:30,520 --> 00:25:33,000
switch to something else or you'll learn about the guardrails.

568
00:25:33,040 --> 00:25:36,360
And if everyone keeps hitting this guardrail over and over again, then maybe we have to

569
00:25:36,360 --> 00:25:37,200
do something better.

570
00:25:37,240 --> 00:25:37,560
Yeah, exactly.

571
00:25:37,560 --> 00:25:38,780
Because that's really being obnoxious.

572
00:25:38,820 --> 00:25:39,640
I like to hear that.

573
00:25:39,640 --> 00:25:39,820
Yeah.

574
00:25:39,940 --> 00:25:43,320
The point is that you want those guardrails to be in place, but they shouldn't feel like

575
00:25:43,320 --> 00:25:43,920
they're in place.

576
00:25:44,220 --> 00:25:44,540
Right.

577
00:25:44,620 --> 00:25:48,700
You know, it's like there's limits, but you don't want the developers to ever feel like they're

578
00:25:48,700 --> 00:25:49,240
being limited.

579
00:25:49,500 --> 00:25:54,020
Like it should be presented as the easy choice for them.

580
00:25:54,020 --> 00:25:57,400
So if you don't mind a completely self-serving pivotal question.

581
00:25:57,540 --> 00:25:57,720
Yeah.

582
00:25:57,940 --> 00:26:01,580
How did you guys think through, like you guys started off with your own platform that you

583
00:26:01,580 --> 00:26:01,980
had built.

584
00:26:02,120 --> 00:26:02,300
Yep.

585
00:26:02,480 --> 00:26:04,680
And then you ended up using Pivotal Cloud Foundry.

586
00:26:04,800 --> 00:26:04,920
Yeah.

587
00:26:04,920 --> 00:26:11,180
Can you kind of tell the story of that and how you ended up deciding on Pivotal Cloud Foundry

588
00:26:11,180 --> 00:26:12,100
instead of your own platform?

589
00:26:12,520 --> 00:26:12,700
Yeah.

590
00:26:12,760 --> 00:26:17,920
I mean, the platform we had built from scratch and it was, you know, over the course of five

591
00:26:17,920 --> 00:26:19,700
years before I even got on the team.

592
00:26:19,700 --> 00:26:24,340
And, you know, it worked pretty well, but it missed a lot of features that I think in

593
00:26:24,340 --> 00:26:29,080
retrospect, you know, we should have probably built in and that Cloud Foundry has.

594
00:26:29,300 --> 00:26:35,100
And so, for example, the concept of kind of organizing teams and delegating responsibilities and without

595
00:26:35,100 --> 00:26:39,880
that, like you have to have a bottleneck group that kind of acts on users' behalves, right?

596
00:26:39,960 --> 00:26:40,480
So whatever.

597
00:26:40,820 --> 00:26:42,640
But, you know, that's not easy to build, right?

598
00:26:42,640 --> 00:26:43,160
And it's expensive.

599
00:26:43,560 --> 00:26:48,460
So for us, really, like I said, we didn't prescribe Cloud Foundry.

600
00:26:49,260 --> 00:26:53,560
You know, we started off small on some hardware sort of laying around.

601
00:26:53,700 --> 00:26:55,080
We had a couple teams doing it.

602
00:26:55,600 --> 00:27:00,660
What we loved about some of the engagement with labs and stuff were the blog posts and

603
00:27:00,660 --> 00:27:03,120
sort of this diary that developers kept and pair programming.

604
00:27:03,120 --> 00:27:03,660
Yeah, yeah.

605
00:27:03,720 --> 00:27:05,020
I remember stumbling across that.

606
00:27:05,080 --> 00:27:06,640
That was like internal that you guys had.

607
00:27:06,720 --> 00:27:06,940
Yeah.

608
00:27:07,060 --> 00:27:08,620
Or they were password protected somewhere.

609
00:27:08,800 --> 00:27:09,060
Yeah.

610
00:27:09,200 --> 00:27:13,340
But I mean, but we would have, you know, those people come back and we have a, we had already

611
00:27:13,340 --> 00:27:17,720
had a cadence of like doing these monthly sort of get togethers and we started repurposing

612
00:27:17,720 --> 00:27:22,520
those to have these people tell their stories about what's it like to pair programming and what's

613
00:27:22,520 --> 00:27:25,780
it like to use Cloud Foundry and everyone's delighted.

614
00:27:25,920 --> 00:27:26,900
Like it's a great experience.

615
00:27:26,900 --> 00:27:31,940
And so it became a thing where by word of mouth and, you know, like, well, how do I start

616
00:27:31,940 --> 00:27:36,820
doing labs and, you know, what do I need to pair program and can I use Cloud Foundry?

617
00:27:37,120 --> 00:27:43,060
And so, you know, that's sort of where it grew is that it became something that our community

618
00:27:43,060 --> 00:27:44,240
wanted more of.

619
00:27:44,560 --> 00:27:46,740
And so we just kind of gave it to them.

620
00:27:46,860 --> 00:27:48,080
It just became a different way to work.

621
00:27:48,360 --> 00:27:48,540
Yeah.

622
00:27:48,560 --> 00:27:51,740
And you've explained how many hundreds of people have kind of gone through a training

623
00:27:51,740 --> 00:27:55,900
on, you know, building the good apps, but more importantly, TDD and pairing.

624
00:27:56,020 --> 00:27:59,120
It may not be perfect for everybody, but it seems like it's really changed how you think

625
00:27:59,120 --> 00:28:02,340
about small batches and how you think about shipping software.

626
00:28:02,860 --> 00:28:03,440
I don't know.

627
00:28:03,440 --> 00:28:07,440
I think, I mean, we, in sitting through your talk, this was not a, this product saved us

628
00:28:07,440 --> 00:28:08,060
from ourselves.

629
00:28:08,060 --> 00:28:11,880
It was, we needed to be better at software and this was a piece of it, but it was also,

630
00:28:11,960 --> 00:28:12,740
we need better methods.

631
00:28:12,740 --> 00:28:14,240
We needed to change cultural things.

632
00:28:14,360 --> 00:28:14,660
Absolutely.

633
00:28:14,680 --> 00:28:18,140
And I think that was, I mean, you alluded to it in your talk that that's not always

634
00:28:18,140 --> 00:28:22,080
overarching in some of these sort of conferences where it's just kind of high level platitudes

635
00:28:22,080 --> 00:28:23,240
and like transformation.

636
00:28:23,460 --> 00:28:23,780
Right.

637
00:28:23,840 --> 00:28:27,240
But like transformation's hard and no one product will solve any of it.

638
00:28:27,380 --> 00:28:27,500
Yeah.

639
00:28:27,620 --> 00:28:29,400
I like the idea of a redemption product.

640
00:28:30,280 --> 00:28:31,220
Saves you from yourself.

641
00:28:32,300 --> 00:28:36,140
I guess maybe that's like those, uh, monitor your eating and weight apps on the phone.

642
00:28:36,200 --> 00:28:37,520
They're just like trying to save you.

643
00:28:38,060 --> 00:28:42,080
So, so, I mean, do you think, do you think, uh, closing out the self-serving topic, do you

644
00:28:42,080 --> 00:28:47,000
think like nowadays, if, if you or Home Depot is doing this, like you would want to build

645
00:28:47,000 --> 00:28:50,660
your own platform or does it just make more sense to get an off the shelf one or like, how would

646
00:28:50,660 --> 00:28:51,420
you evaluate that?

647
00:28:51,420 --> 00:28:51,700
Yeah.

648
00:28:51,760 --> 00:28:52,580
Again, I think.

649
00:28:52,680 --> 00:28:55,020
Cause five, cause five years ago, like who knows, right?

650
00:28:55,060 --> 00:28:59,480
Like, but yeah, like I said, so the team I adopted was the team that built the old platform

651
00:28:59,480 --> 00:29:01,280
and supported it and loved it.

652
00:29:01,280 --> 00:29:05,660
And, you know, we had some cultural issues with, you know, sort of cloud foundry being

653
00:29:05,660 --> 00:29:11,160
thrown in our lap and, you know, there was some very, um, natural sort of lash back to

654
00:29:11,160 --> 00:29:12,120
that and some other things.

655
00:29:12,120 --> 00:29:17,020
And, um, but, you know, if you talk to that team today, I mean, they would tell you the

656
00:29:17,020 --> 00:29:17,460
same thing.

657
00:29:17,460 --> 00:29:19,200
Like, it's like, this is awesome.

658
00:29:19,400 --> 00:29:24,040
You know, it's like I get to focus on things that, um, actually add value to our community

659
00:29:24,040 --> 00:29:28,280
as opposed to, you know, like something simple with air quotes, right?

660
00:29:28,280 --> 00:29:30,580
Like, you know, aggregated logging, right?

661
00:29:30,580 --> 00:29:34,740
Like we spent a lot of time and money building that and it was good, right?

662
00:29:34,760 --> 00:29:38,420
But it was one guy and it's like, and that's a hard problem.

663
00:29:39,120 --> 00:29:39,480
Yeah.

664
00:29:39,480 --> 00:29:43,080
I mean, did, did that make you money or did actually charging for late tools get you money?

665
00:29:43,200 --> 00:29:46,480
And I think the answer is always the latter and you don't want to be bad at the former,

666
00:29:46,480 --> 00:29:49,180
but do you have to be good at building the former?

667
00:29:49,520 --> 00:29:53,220
And I think it's a, and I think at any company, that's a constant question, right?

668
00:29:53,220 --> 00:29:54,520
It's like, what do you want to build yourself?

669
00:29:54,720 --> 00:29:56,160
Like, you know, what do you want to buy off the shelf?

670
00:29:56,240 --> 00:29:57,320
What do you want to take open source?

671
00:29:57,380 --> 00:29:59,320
I mean, there's, that's a tough question.

672
00:29:59,320 --> 00:30:03,060
And I think, um, you know, I just think there are some things, right?

673
00:30:03,060 --> 00:30:07,140
When you're looking at your guardrails, like they're super important, um, you know,

674
00:30:07,140 --> 00:30:11,740
and it's, it's good to have the, you know, the best, you know, I think, um, so one of

675
00:30:11,740 --> 00:30:16,080
the, I've heard, uh, the, one of the analogies that someone, I forget who, uh, they were talking

676
00:30:16,080 --> 00:30:17,520
to our legal and finance people.

677
00:30:17,520 --> 00:30:21,220
And they're like, if we're being sued, like, what kind of lawyers do you hire?

678
00:30:21,300 --> 00:30:24,220
Do you hire the best lawyers or do you just kind of get okay ones?

679
00:30:24,220 --> 00:30:24,420
Right.

680
00:30:24,420 --> 00:30:27,940
And it's like, like, why are you willing to spend all the money on that?

681
00:30:28,020 --> 00:30:28,160
Right.

682
00:30:28,380 --> 00:30:30,480
And I'm telling you, this is the best platform, right?

683
00:30:30,480 --> 00:30:31,000
That's interesting.

684
00:30:31,140 --> 00:30:32,920
That's a good analogy to steal that.

685
00:30:33,080 --> 00:30:34,600
So like, I do so much of your material.

686
00:30:34,760 --> 00:30:37,120
So, so before we wrap up, I had one more question.

687
00:30:37,160 --> 00:30:38,580
You've already identified one of these.

688
00:30:38,580 --> 00:30:43,320
Uh, but like, if, if you were to look at like pivotal and the overall kind of cloud native,

689
00:30:43,320 --> 00:30:47,260
I don't know, cloud foundry community, like what, what's, what's like at least one thing

690
00:30:47,260 --> 00:30:49,300
you think we need to like improve on overall.

691
00:30:49,300 --> 00:30:53,040
And the one you identified, I hear this one a lot is like, it sure takes a lot of resources

692
00:30:53,040 --> 00:30:57,340
to run spring, which, which I think, you know, that that's something to fix, I guess,

693
00:30:57,440 --> 00:30:58,420
but I mean, it depends.

694
00:30:58,520 --> 00:31:03,200
I think, uh, I don't know enough about it, um, but where we are in our maturity level,

695
00:31:03,200 --> 00:31:04,220
it seems like that.

696
00:31:04,300 --> 00:31:06,420
I don't know if we've gotten to the interesting bits of spring.

697
00:31:06,780 --> 00:31:06,820
Sure.

698
00:31:06,820 --> 00:31:06,980
Sure.

699
00:31:07,320 --> 00:31:10,700
Well, I, I think, I think, I think at the moment, it's sort of like a volume thing that's like

700
00:31:10,700 --> 00:31:13,500
one, once you're doing everything, it's such a small amount that it doesn't matter.

701
00:31:13,500 --> 00:31:18,380
But at first it seems like you mean from a memory consumption, just from pure infrastructure

702
00:31:18,380 --> 00:31:22,400
resources, which again, the smaller your footprint is, the more you notice it and it grows.

703
00:31:22,620 --> 00:31:26,060
So that's, that's, that's, that's one thing, but like, what's another thing that

704
00:31:26,060 --> 00:31:30,660
you think, again, like just the overall kind of like cloud foundry and pivotal cloud foundry

705
00:31:30,660 --> 00:31:33,860
world, like what do you, what do you think is a good thing to tackle as a, I, I, you know,

706
00:31:33,860 --> 00:31:39,700
I think the, uh, the, it's hard to articulate sort of the value of this upfront, right?

707
00:31:39,700 --> 00:31:44,200
Like when you have a company that's focused, when I have company, I should say, uh, but

708
00:31:44,200 --> 00:31:48,300
there's like a culture and you know, the people with the money are so bottom line focused and

709
00:31:48,300 --> 00:31:49,460
budgets and stuff.

710
00:31:49,660 --> 00:31:52,080
Um, it's an investment, it's a, it's a deep investment.

711
00:31:52,300 --> 00:31:58,300
And, um, it, in luckily we, you know, we work with someone who's really talented in sales

712
00:31:58,300 --> 00:32:03,060
like Don Addington and he was very flexible and, um, you know, it's sort of, you know,

713
00:32:03,100 --> 00:32:06,560
there's probably some bending of rules somewhere to like, you know, get our feet.

714
00:32:06,680 --> 00:32:08,300
I think you called that leadership earlier.

715
00:32:08,680 --> 00:32:09,040
Exactly.

716
00:32:09,800 --> 00:32:10,200
Exactly.

717
00:32:10,880 --> 00:32:16,440
Um, but yeah, I think there needs to be a little bit of sort of this, um, uh, there needs to

718
00:32:16,440 --> 00:32:18,640
be a, I think an easier way to lean into it.

719
00:32:18,740 --> 00:32:18,920
Yeah.

720
00:32:19,080 --> 00:32:19,200
Yeah.

721
00:32:19,200 --> 00:32:25,220
Man, I, I'd agree to that a hundred percent doing the business case ROI stuff is up front.

722
00:32:25,320 --> 00:32:30,580
It's hard and I think the reason why people ask for that, and I could be guessing is that

723
00:32:30,580 --> 00:32:35,240
it is so expensive that, you know, um, they want to know that up front and if there was

724
00:32:35,240 --> 00:32:39,220
some way, you know, to lean into it, I think that question starts falling off the radar more

725
00:32:39,220 --> 00:32:39,500
and more.

726
00:32:39,780 --> 00:32:39,940
Right.

727
00:32:40,440 --> 00:32:45,380
So last thing for you is, uh, I'm often a proponent of letting big companies, letting

728
00:32:45,380 --> 00:32:48,440
folks talk at conferences because, Hey, it gets you out there.

729
00:32:48,520 --> 00:32:53,060
Let's, I mean, again, with all sincerity, you ended your talk at my first thought is if I

730
00:32:53,060 --> 00:32:55,260
lived in Atlanta, I'd probably submit an application right now.

731
00:32:55,320 --> 00:32:58,040
Like, are you hiring, are you hiring engineers at Home Depot right now?

732
00:32:58,320 --> 00:32:58,680
Always.

733
00:32:58,860 --> 00:32:59,080
Yeah.

734
00:32:59,180 --> 00:33:03,600
So I think we're always looking for super talented, collaborative, you know, problem solvers.

735
00:33:03,780 --> 00:33:03,940
Absolutely.

736
00:33:03,940 --> 00:33:07,060
I think there's big problems being solved at a lot of enterprises that are different than

737
00:33:07,060 --> 00:33:07,500
the startup.

738
00:33:07,500 --> 00:33:11,980
And if you have the startup culture in the enterprise, maybe you're, you're actually tackling some

739
00:33:11,980 --> 00:33:14,580
really meaty stuff that you would have shied away from before.

740
00:33:14,580 --> 00:33:18,800
But again, hearing what you all are doing, I think it's hard to, hard to beat.

741
00:33:18,880 --> 00:33:22,040
So I guess if you're in the South and, uh, you're looking for a change of work, hopefully

742
00:33:22,040 --> 00:33:22,860
you're flying at Home Depot.

743
00:33:23,080 --> 00:33:23,420
Yeah, man.

744
00:33:23,520 --> 00:33:24,200
Thanks for the plug.

745
00:33:24,260 --> 00:33:24,640
Absolutely.

746
00:33:24,960 --> 00:33:26,520
Doing lots of good data science.

747
00:33:26,620 --> 00:33:27,600
I do pricing.

748
00:33:27,940 --> 00:33:30,200
There's lots of really cool computer science problems.

749
00:33:30,320 --> 00:33:33,040
To that end, where, where can people, uh, track you down?

750
00:33:33,100 --> 00:33:33,560
So to speak.

751
00:33:33,620 --> 00:33:38,600
The easiest place is LinkedIn, um, Anthony McCauley, M C C U L L E Y.

752
00:33:38,980 --> 00:33:40,320
And then, and then what's your Twitter handle?

753
00:33:40,380 --> 00:33:41,020
Epic nerd.

754
00:33:41,020 --> 00:33:41,900
That's pretty good.

755
00:33:42,260 --> 00:33:42,420
Yeah.

756
00:33:42,420 --> 00:33:42,760
All right.

757
00:33:43,080 --> 00:33:43,420
All right.

758
00:33:43,480 --> 00:33:44,840
Well, as always, thanks for listening.

759
00:33:44,920 --> 00:33:46,260
This has been Pivotal Conversations.

760
00:33:46,260 --> 00:33:51,120
You can find us, uh, at soundcloud.com slash Pivotal Conversations often.

761
00:33:51,240 --> 00:33:56,640
Uh, also if you go over to, uh, uh, pivotal.io slash podcast, or maybe it's blog.pivotal.io

762
00:33:56,640 --> 00:33:57,580
slash podcast.

763
00:33:58,020 --> 00:33:58,900
We're there somewhere.

764
00:33:59,080 --> 00:34:00,560
We put full show notes there.

765
00:34:00,700 --> 00:34:04,500
Um, and you know, if you liked this episode or if you didn't like it, you should do the following.

766
00:34:04,500 --> 00:34:09,820
You should go into iTunes and give us five stars and or leave a review that talks about how awesome it is.

767
00:34:10,260 --> 00:34:14,380
And if you listen to this in overcast, as so many people do, you should click on the little recommend thing.

768
00:34:14,680 --> 00:34:16,040
One day I'll figure out what that means.

769
00:34:16,240 --> 00:34:17,360
We'll see everyone next time.

770
00:34:17,880 --> 00:34:18,340
Bye-bye.

771
00:34:18,840 --> 00:34:19,100
Thanks.
