We like to think architecture starts with a problem. But often, by the time we're brought in, someone has already chosen the answer — and the real work becomes figuring out how to slow things down without making anyone feel foolish.
That's the situation Kim Kao, a solutions architect manager at AWS in Taiwan, walked into. A retail client — battered by the pandemic, competitors circling — had already been told by another vendor exactly what to do: containerise everything, deploy Kubernetes, and the operational problems would disappear. "Don't laugh," Kim recalls. The system underneath that confident prescription was twenty years old, and nobody left in the building fully understood how it worked. "Nobody knows what the content is."
Rather than argue about Kubernetes, Kim worked backwards. He ran impact mapping with decision-makers and functional leads, asking a deceptively simple question — who would support a goal of growing month-on-month revenue? — and watched the room fall silent. Then a two-day event storming workshop with forty to fifty people, many sitting together for the first time, surfaced merchant management as the place to actually begin. Somewhere in the middle of it, Kim had a realisation: "I found I was a businessman, not a technical guy."
This conversation explores what it takes to redirect a client who arrives with the answer already in hand — and why understanding the problem first is so often the faster route to solving it.
Key Discussion Points
Guest: Kim Kao Hosts: Andrea Magnorsky, Andrew Harmel-Law, Kenny Schwegler
Hello, welcome to all of our listeners, at least
2
:at least four of them right now.
3
:my name is Andrea Mag Norski and
I'm here with my co-conspirators,
4
:Andrew Harmer Lo and Kenny
5
:Pass.
6
:Uh, I think I'm completely destroyed that.
7
:so, and we have a special guest.
8
:Kim Ka.
9
:We're here in stories of facilitating
software design and architecture.
10
:Kim, you're gonna tell us a little bit
about what is it that we're gonna hear
11
:about, a little bit about yourself,
and then we're hear the full story.
12
:I'm so excited.
13
:Kim Kao: Okay.
14
:Yes.
15
:Yeah.
16
:Thanks for having me today.
17
:Uh, hello everyone.
18
:My name is Kim Go.
19
:live in Taiwan and this is a, you
know, the great opportunities to have
20
:a chance to link up the worldwide
DDD practitioners with you guys.
21
:to, I think like to share a bit,
Personal experiences while I
22
:was engaging with my customers.
23
:before that I would like to put
on some background for myself.
24
:I am a solution architect manager,
working with AWS for around
25
:eight years to nine, nine years.
26
:before that, prior to joining
a WSI am a software architect.
27
:My job and the goal is to help people
to really understand technology
28
:could support the business.
29
:But in the past decades, opinions was
really learned from, you know, the
30
:classic methodologists and the books,
you know, from the computer science.
31
:So.
32
:traditional, approaches like up
RUP, you know, the oriented stuff
33
:that's we are really familiar with.
34
:Right.
35
:And during the decades.
36
:I always think about the software
is everything software could deal
37
:with any problem until I engaged and
learned from different perspectively,
38
:so of the architects, for example.
39
:People may have the different
knowledges from different perspective.
40
:a, a really interesting point about
the architect, not, not sure everybody
41
:really understand, what's of architect
if you took, if talk to different people.
42
:They have different opinions.
43
:So when I joined a WSI found
the name Solutions Architect.
44
:really means to, you know, software
architect, it means everything.
45
:You have to really understand the, like
for example, infrastructure, networking
46
:databases, security, et cetera, et cetera.
47
:They never realized wholly.
48
:The world is too wide to learn.
49
:And beyond this, I, have to manage the
conversation with different stakeholders,
50
:like, you know, the decision makers,
product owner, and in different level
51
:of the working level participant who
joined your meeting, you cannot even well
52
:handle their desires or their challenges.
53
:Then I failed.
54
:The so-called solution architect, or
even architect couldn't be defined
55
:by a single view of the points.
56
:So that's brought me
stepping to another journey.
57
:So today I want to share with you
a, a short story about how to engage
58
:with my client tell a story the
vision to implement the solutions.
59
:I would say the customer
is a retail customer.
60
:I still remember the
date that the GM told me.
61
:Kim.
62
:you know, we, we were
under a certain situation.
63
:We have the having impact from pandemic
and, you know, some of the competitors,
64
:they are looking for chance to beat us.
65
:We are almost down.
66
:we want to have a different approach
to raise our, revenue growth
67
:even to have better, performance.
68
:So did you find out any way
to make some differences?
69
:The GM told me, yeah.
70
:We tried, we also, consult
with other called vendors.
71
:but I don't, I can, I cannot mention
those, those vendors right name right now.
72
:But the answer was like the, Jim told me
if the retail company would like to deal
73
:with the operation issue and would like to
gain more business operation efficiency,
74
:the only way is to use Kubernetes.
75
:Don't laugh.
76
:Don't laugh.
77
:That's a crazy answer.
78
:I had ever heard of it and I
was like, okay, you know the
79
:answer, why you reach out to me?
80
:I would say, okay, so definitely
containerize or the technology couldn't
81
:drive you to the right, direction.
82
:And then the team under the gm.
83
:Nodding their heads
frequently and heavily.
84
:Okay.
85
:so then I started to
have more conversation.
86
:I, I'm really new to your team, but
could you share with me how do you
87
:figure out to the pinpoint, though
you, you know, under pandemic.
88
:Several retail, customer se, several
retail, business getting, getting
89
:gross because the online e-commerce
could be very bad, very good, right?
90
:Because everybody just
broke something online.
91
:However, they just shopping their,
their business was going down because
92
:they infrastructure was not, good
enough to afford the last pressure.
93
:But it is not the key point.
94
:Because the complexity of the services
and, you know, the key wording, like
95
:we always mentioned in the DDD world,
the, the, the, you know, the, the
96
:model is or the big model, right?
97
:Most of the team members told me.
98
:The system they were built,
before, 20 years ago.
99
:None of the employees really
understand how this system would
100
:were built and nobody handle
and control the whole things.
101
:So yeah, this is a huge challenge.
102
:Nobody knows what's the content is so.
103
:I, I try to engage with the clients and
tell them we don't really start from the
104
:cloud journey, but maybe take a little
bit further to have an impact mapping.
105
:At first, if you really want to bring
in the business value, then we have
106
:to figure out who are the stakeholders
you are really want to take care.
107
:So we try to identify the key passes,
identify the key concerns from
108
:different stakeholders, After the impact
mapping, we have the deliverables.
109
:Then just go through that, deliver
deliverables to think about, okay,
110
:these items or the list might be
the potential enhancement point.
111
:we can dip in deep dive
into, the potential system
112
:design to see what we can do.
113
:So eventually we started to have
more conversation like the code.
114
:Code the series discussion.
115
:They share with me that their code base,
and I mean to have a light, lightweight,
116
:observation to see how the complexity is.
117
:And then we found, oh, is this
impossible to resolve in a short time?
118
:'cause, two many different
coding style, two, many different
119
:architecture style mixing.
120
:So.
121
:We try to have more user story
conversation than bringing
122
:some event solving practices.
123
:Eventually, we figured out maybe in the
retail, selling journey, the better way
124
:is to start from merchant management.
125
:'cause once you decide to, to publish
your merchant on the store, then it's
126
:just bringing the whole business process.
127
:If the pinpoint is starting from.
128
:The merchant with several different
selling policies, then we have to
129
:start from the, the main point.
130
:Otherwise you just try to decorating
everything, uh, on top of the, you
131
:know, the weakness, the Peters,
that that was quite dangerous.
132
:this is the very, uh,
interesting experiences.
133
:We, we eventually have the first
draft of the, the, so code.
134
:Moving out, merchant management system
from the legacy one, but move to,
135
:cloud ready, microservices design.
136
:But I mean, this is not a
fully integrated, but at
137
:least we know how to fix it.
138
:How to the conversation
with the different team.
139
:still remember that day I, I held, I held
two days event filming workshop, plus one.
140
:Impact mapping works up.
141
:There were around 40 or 50 people
join the meeting, join the, you
142
:know, the whole day workshop.
143
:Several project manager, product
owner, and some sales assistants.
144
:They just sit, sit in and
try to really understand.
145
:How's the journey they were working
on day by day, I probably know, wow.
146
:This is the first time they do have
the whole team sit down together and
147
:figure out what's, what's going on
and how can they start the, journey.
148
:Yeah, that's it.
149
:Kenny Schwegler: Thanks.
150
:So the first thing that pops to
mind is this was during Corona
151
:and online, I guess, right?
152
:Kim Kao: Yeah, the under pandemic
area, I try to do it offline.
153
:Because, 'cause the time period,
is a little bit different.
154
:In Taiwan, we, we didn't get impact
immediately, so we still, you know, people
155
:wear masks and talk to each other in
156
:Kenny Schwegler: Yeah.
157
:because that's really
a challenge from the.
158
:Kim Kao: yeah, yeah.
159
:Kenny Schwegler: Another thing that came
to mind is, it started with a vendor
160
:just telling, just go to Kubernetes
and it fixes everything, right?
161
:Kim Kao: Yeah.
162
:Kenny Schwegler: seen
that happening before.
163
:Just put more hardware, to the point,
did you needed to convince your general
164
:manager, or was your story enough to, to
help them understand like, oh, this is
165
:someone new, this is someone different.
166
:So how did you convince that?
167
:Actually the, because this is
what we get a lot of questions.
168
:You do two days event storming
and some impact mapping.
169
:That is a, with 40 people.
170
:That's a lot of investment.
171
:Right.
172
:And so could you explain a little
bit, how would you convince or tell
173
:people to come and that it's valuable
instead of Yeah, it's easy, right?
174
:Just deploy Kubernetes and let's go.
175
:It fixes your problem.
176
:Kim Kao: yeah.
177
:That's quite interesting.
178
:Um, I still remember
that GM told me, yeah.
179
:They, they received the advices
from other cloud vendor.
180
:They told them to.
181
:The issue is try to add more hardware
like the de Bernet, but I told them, if
182
:you found the lease is the only way to go
the the fastest way to go, then just go.
183
:But you cannot afford it.
184
:Day by day, week by-weekly.
185
:'cause most of the e-commerce
company in Taiwan, they held, the
186
:series of the promotion campaign.
187
:And with the business growth, you
can mention that once you held the
188
:company, you have more than 1 million
members active members day by day.
189
:And then you have to held the
promotions maybe around the
190
:three hours or four hours.
191
:Wow.
192
:How many activities there will be happen
there and you even cannot, have a clear
193
:ma mathematical calculation to figure out
how many hardware you have to prepare.
194
:That's incredible.
195
:especially at that moment.
196
:the retail customer, they held the
whole services, in our premises.
197
:So, while you decided to buy the hardware,
you have to wait until maybe three months
198
:or six months then that is impossible.
199
:So.
200
:Our is not the only way to go.
201
:Even you can move to cloud, but still
a challenge because you have to pay
202
:a lot until you start the business.
203
:So we should have a deeper look on why
these solutions or why all of the existing
204
:workloads, it's really suffered you.
205
:What's the pinpoint?
206
:If there is any complexity?
207
:Combined it with some ambiguity,
you know, the ambiguity in here.
208
:Not only, mentioned about the
system, but also the motivation.
209
:Sometimes the marketer, they, they just
want to try to do some promotion, but
210
:they may not really know what's the
return 'cause my leader told me to do.
211
:Then I just do it.
212
:Wow.
213
:That that's incredible.
214
:Kenny Schwegler: So you made it very
factual and I remember saying Yeah.
215
:Compared to what and compared
to what you made very factional.
216
:Right.
217
:Uh, from what I hear you made very,
uh, that's a, that's a nice approach.
218
:I.
219
:Kim Kao: Hmm.
220
:Andrew Harmel-Law: I just wanted to
ask him a little bit more about, you
221
:mentioned impact mapping, and that's like,
so everyone talks about event storming.
222
:There's a bunch of things we talk
about all the time, but impact mapping
223
:is another powerful thing that I've
used it once, I think maybe, but
224
:not as much as I should have done.
225
:Can you.
226
:Quickly, just kind of give us an idea
of, 'cause that's kind of the one of
227
:the key points you're making, right?
228
:It's like, we could do a lot of
stuff, but will it have an impact?
229
:And the impact mapping is a way
to say, if we did this, what
230
:do we expect the outcome to be?
231
:And that helps people understand.
232
:So could you maybe explain a little
bit more about, just about a little,
233
:like, maybe not without the details
of what you did for this person, this
234
:customer, but, um, but the, the, the
benefits that it gives to everybody.
235
:'cause like Kenny says, you've had
40, you got, you did all of the hard
236
:work of bringing everyone together.
237
:So.
238
:Kim Kao: Yeah.
239
:Andrew Harmel-Law: Bringing them
together and helping them understand
240
:what the impacts, what the options
were and what the impacts might
241
:be, is kind of interesting.
242
:So could you explain a
little bit about that?
243
:Kim Kao: Yeah, thanks Andrew.
244
:To raise the, the question, basically
I try to group the, the whole audience
245
:into maybe two parts or three parts.
246
:as for the impact mapping, I try
to invite the decision makers
247
:and some functional leaders.
248
:'cause impact mapping for me
is to really understand how
249
:the trend really beneficial to.
250
:For example, most of the time my
client reach out to me or my team.
251
:They just want to resolve
the, obviously they have seen.
252
:However, the symptom use, have
seen might not really be the cause.
253
:So couple times I try, try to check okay.
254
:If you, if you know the, the daily
transaction just turning down.
255
:Is this really a issue the,
or the question behind the
256
:question, what might be the really
beneficial one you want to resolve?
257
:So I ask the GM to send out the, the, the
promotion team, the sales team, and the
258
:engineering team leader to go with me.
259
:If the goal is raise the daily transaction
amount, then what's the symptom?
260
:You have figured out, and
then we have to define a goal.
261
:We have the goal, if we want to raise,
for example, to bring in more revenue,
262
:over amongst MOM or YOY, but, but during
pandemic, I think we can only look for
263
:MOM because it may be feasible to do.
264
:So we have to get a goal.
265
:Okay.
266
:Perhaps we want to, increase
the MOM revenue growth in
267
:maybe 10 or 20 percentage.
268
:Okay.
269
:So who would be your supporter?
270
:And things was very interesting.
271
:Certainly they, they were, you know,
just like fallen into a silent space.
272
:cannot figure out who are the supporters.
273
:Wow.
274
:That's surprise because they, they get
used to listen to the order, listen to
275
:the commands to do something, however.
276
:At a point, while we are using
the impact mapping approach, we
277
:have to engage and encourage every
attendee to think about, you are the
278
:boss, you are the decision maker.
279
:You have to ask somebody to support
you because the go is company wise.
280
:If everybody wants to survive,
then you have to jump in.
281
:Eventually we, we identify some key
stakeholders like the, the marketing team.
282
:They really understand the, the user
behaviors from their daily tracking.
283
:Like even though like the
Google GA analytics could.
284
:Well track the anonymous users behaviors
and then they can also, engage with
285
:the, the inventory system manager.
286
:They do really understand how's
the merchant, the consumption rate.
287
:And then we also have to identify
that the, the key make, key decision
288
:maker from inventory logistics.
289
:They do understand how long it will
take to shift the per merchant.
290
:So eventually write understand how is the.
291
:Transition rate and, cash turn, cash,
show up rate and et cetera, et cetera.
292
:So this is very interesting.
293
:I would say this is not a technical
conversation, but also lead us to
294
:think about how eager you are if
you really want the business growth.
295
:We help jumping and, then I found I
was a businessman, not a technical guy.
296
:Andrew Harmel-Law: That's really
interesting because I think the two
297
:are really closely related, right?
298
:You can't solve all these problems.
299
:Like you said at the start, by just
throwing more hardware at it if
300
:you don't understand the problem.
301
:So
302
:Kim Kao: Yeah.
303
:Andrew Harmel-Law: go.
304
:Andrea.
305
:I think you were gonna.
306
:Andrea Magnorsky: Yeah, so my
question was exactly that, Alex.
307
:So something made you realize
that you need to understand.
308
:It's a stakeholder and, understand
the domain and, and help people
309
:make kind of probably quite
difficult, strategic decisions.
310
:So how is this the point at which you,
for you was like, oh, I really need
311
:to understand the domain, and how was
that process, if this was the time that
312
:for you, everything started clicking
313
:Kim Kao: Hmm.
314
:Andrea Magnorsky: how was
that process of Oh, now.
315
:I am not just technical,
but what does it mean?
316
:Because A, I think a lot of people
that are in that position that
317
:are either of close to technical
leadership or in technical leadership,
318
:they find that extremely hard
to accept just knowing a lot of
319
:technical stuff is not gonna cut it.
320
:And it's like, it's, it's, you
need to actually do everything.
321
:You need to the technical chop and.
322
:You need to be able to talk to
the business in their language.
323
:Kim Kao: Yeah, exactly.
324
:To be honest, until today I am still
not an expertise in retail, be honest.
325
:but approach I took in in the
past years in the case was
326
:like, pay a lot of attention.
327
:To really engage the audiences.
328
:For example, a few years ago, I, I
held the DDE Taiwan annual conference
329
:for years, and Kenny and Speakers had
also joined the online conference.
330
:in that year I sent out
five tickets to the client.
331
:I asked them to join the annual conference
to really understand how technology.
332
:It'll be well utilized, along
with the business understanding.
333
:'cause domain driven design
might be one of the approach.
334
:I won't say this is the only
one, but I want to let them know.
335
:There are several different roles, who
are really participated in DDD community.
336
:So, some of the members from that
company, they just joined the, the
337
:annual conference and they found wow.
338
:There are several project manager,
product owner, and even UI UX designer.
339
:They joined the annual community
found the topics quite interesting
340
:and some of them feedback.
341
:That's okay.
342
:Seems layer seems like Layer should
be an approach could help us to
343
:connect each one of us to have.
344
:Maybe to come out the, the
language with that we could really
345
:understand on the same page.
346
:But at that moment, they couldn't
speak out the ubiquitous language.
347
:But I know what they are, what
they, they were mentioned.
348
:So I was like, okay.
349
:They were fallen in the trap.
350
:In the trap.
351
:I said, I want to make sure
they were, they were very
352
:interesting this, so eventually.
353
:I have more conversation
to talk to a team.
354
:I'm not the experts in retail that
I would like to share with you
355
:systematical approach figure out
the connections, to figure out
356
:the between the decision you made.
357
:And targeted the to be
solution that you want.
358
:So the conjunction role is just the
role that I played in that case.
359
:Andrea Magnorsky: That makes sense.
360
:I think we can kind of
relate with your journey.
361
:I love engaging the audience and managing.
362
:And directing people towards, their own
discovery of what can actually help them.
363
:So that's, an excellent point to finish
this session of stories of, facilitating
364
:software design and architecture,
which is, we keep changing the name.
365
:Yay, Kim.
366
:It is been wonderful to have you
and, as usual, thank you to, my
367
:co-conspirators, Kenny and Andrew.
368
:We'll see you next time at virtual TDD.
369
:Kim Kao: Okay.
370
:Thank you.
371
:Andrea Magnorsky: Thank you.