Artwork for podcast Stories on Facilitating Software Architecture & Design
They Knew the Answer Before They Understood the Problem
Episode 219th June 2026 • Stories on Facilitating Software Architecture & Design • Virtual Domain-Driven Design
00:00:00 00:23:40

Share Episode

Shownotes

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

  • [00:04] The Answer Was Already Chosen: A retail GM, hit by the pandemic, arrives with a vendor's verdict — Kubernetes will fix everything
  • [00:06] A System Nobody Understands: Twenty years of accumulated decisions, and "nobody knows what the content is"
  • [00:09] Don't Decorate the Weakness: Why building on an unmapped system was "quite dangerous," and how merchant management emerged as the right starting point
  • [00:11] Compared to What?: Making the true cost of Kubernetes visible — a million-plus active members, hours-long promotions, six-month hardware lead times
  • [00:14] The Question Behind the Question: Separating the symptom from the cause before committing to any solution
  • [00:16] The Silence in the Room: Running impact mapping, setting a revenue goal, and asking "who's your supporter?" to a team used only to taking orders
  • [00:19] A Businessman, Not a Technical Guy: How connecting marketing, inventory, and logistics reframed Kim's sense of his own role
  • [00:20] The Conjunction Role: Sending clients to DDD Taiwan and letting them discover the value of collaborative modelling for themselves

Guest: Kim Kao Hosts: Andrea Magnorsky, Andrew Harmel-Law, Kenny Schwegler

Transcripts

Andrea Magnorsky:

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.

Links

Chapters

Video

More from YouTube