9 Comments
User's avatar
David P Moore's avatar

Getting out and talking to real users or customers can be transformational.

This Reminds me of Adam Grant’s story in “Give and Take” about how talking to just a single student who received financial aid (a customer) significantly transformed the productivity of the call center employees who called people for donations.

The point is that connecting empathically with a few people who are impacted by what we do brings a sense of reality and meaning to the things we do.

Kent Beck's avatar

The counter argument seems to be “but what if they aren’t representative?”

Wisen Tanasa's avatar

Do you have a Thinkie to do the reverse? i.e. what would happen if layers are added? I'll be curious to hear what the "Pattern" for this would be.

Kent Beck's avatar

Good catch. Yes, there is one in my head but it's not on the diagram. The pattern is that lots of folks are tugging the team in lots of directions, so much so that whole team can't make progress in any one. The transformation is for the customer to speak with one voice--some kind of aggregation, whether just having them all there on Monday morning or a spokesperson. It's called "Customer's Voice" & I just wrote it to publish later. Thanks!

Wisen Tanasa's avatar

Ooooh, looking forward to it!

Kent Beck's avatar

Scheduled for October 24.

rtko's avatar

I agree wholeheartedly because for programmers to talk to users, they have to know what they’re building rather than play the telephone game through business analysts and these conversations lead to real dialogue.

How often are IT projects planned without the “real users” input because they are also often lost in project bureaucracy? This gets back to one of the reasons some teams can be 1000% more effective - they build what the users want. (And they do it iteratively, test driven and all the other stuff we love.)

Vladimir Bychkovsky's avatar

I would never have thought of this as a Thinkie, but it makes sense. Thank you, Kent!

Based on my experience in a few different areas of software engineering, this approach tends to generate not just ideas, but challenges. Maybe it is some form of Murthy’s law, but users tend to ask for something hard/impossible for the current tech (because east things have already been implemented?)

When I worked on photo sharing, one common request was “can you just make my photo look awesome?” and the photo people would show be something like a blurry photo taken in the dark local bar with an unclear subject. Oh, and, we also could not send this photo for processing to backend GPUs, everything has to be done on the CPU of an iPhone4-like device...

The other example is from my networking days. Users wanted technology to “disappear”: network should feel blazingly fast and reliable... always. The answer in this case ended up being ruthless prioritization (of network requests) and aggressive caching. Caching has its own side-effects, like trading off freshness of the content for load speed. And prioritizing is hard because you have to guess correctly what the user actually wants to see next... and incorrect guessing has the the effect of slowing things down.

In any case, I very much agree that this is a very thought provoking Thinkie! :-)

Kent Beck's avatar

Part of the effect is informational—users wanting something difficult-to-implement to just work. Part of the effect is emotional—because we are serving an actual person’s needs we get creative in a way we wouldn’t if we’re just trying to move a number.