__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"75877":{"name":"Accent Light","parent":"dfa36"},"dfa36":{"name":"Main accent","parent":-1}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"75877":{"val":"rgb(76, 150, 225)","hsl_parent_dependency":{"h":210,"l":0.59,"s":0.71}},"dfa36":{"val":"var(--tcb-skin-color-0)"}},"gradients":[]},"original":{"colors":{"75877":{"val":"rgb(228, 161, 172)","hsl_parent_dependency":{"h":350,"s":0.55,"l":0.76,"a":1}},"dfa36":{"val":"rgb(208, 88, 108)","hsl":{"h":350,"s":0.56,"l":0.58,"a":1}}},"gradients":[]}}]}__CONFIG_colors_palette__

__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"75877":{"name":"Accent Light","parent":"dfa36"},"dfa36":{"name":"Main accent","parent":-1}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"75877":{"val":"rgb(76, 150, 225)","hsl_parent_dependency":{"h":210,"l":0.59,"s":0.71}},"dfa36":{"val":"var(--tcb-skin-color-0)"}},"gradients":[]},"original":{"colors":{"75877":{"val":"rgb(228, 161, 172)","hsl_parent_dependency":{"h":350,"s":0.55,"l":0.76,"a":1}},"dfa36":{"val":"rgb(208, 88, 108)","hsl":{"h":350,"s":0.56,"l":0.58,"a":1}}},"gradients":[]}}]}__CONFIG_colors_palette__
Table of Contents

Good software is a meal, not a kitchen

When you go to a restaurant and order a dish, you expect the chef to make a dish that’s ready to eat, without you having to specify anything. And generally speaking, that dish is going to work out great for you. Sometimes you might be on a low-carb diet, and you need to ask them to “hold the bun” or something like that (understanding that the chef might not be able to accommodate you). But normally, the chef sends you something good and you eat it, and you don’t need to make any modifications in its configuration.

That should be one of the goals of our software as well. The user should be able to “order” a feature or function in the software, and the software goes ahead and does that feature or function in the right way that will make the user happy and solve the problem and create business value. If the user has to make some modifications to their order, they can, but those changes should be the exceptions, not the rule.

Developers like making stuff, so they give their users kitchens

The natural inclination of software developers, though, is to make software that’s highly configurable, where the user has to make a lot of decisions every time, and the software itself makes as few commitments as possible as to what the “right” way is. Or, to use my metaphor, it’s as though the software is making the user a chef, and providing a full kitchen, rather than taking on that responsibility in the software and allowing the customer to enjoy to well-prepared dish.

I find myself coming up with these stories, like comparing our product to a restaurant, to give the developers tools for thinking about the software in ways that will help them make good decisions about usability without my help. Of course I want them to come to me when they have questions, but by giving them better instincts on usability – and metaphors are a good way to do this – they are much more able to come up with good solutions themselves.

What are some of your favorite metaphors for improving the instincts of your developers? By the way, a hat tip to Alan Cooper (@mralancooper) who used another restaurant metaphor – about an excellent waiter – to talk about software politeness.

__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"62516":{"name":"Main Accent","parent":-1}},"gradients":[]},"palettes":[{"name":"Default Palette","value":{"colors":{"62516":{"val":"var(--tcb-skin-color-0)"}},"gradients":[]},"original":{"colors":{"62516":{"val":"rgb(19, 114, 211)","hsl":{"h":210,"s":0.83,"l":0.45}}},"gradients":[]}}]}__CONFIG_colors_palette__
__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"89b00":{"name":"Main Accent","parent":-1},"f4f63":{"name":"Accent Dark","parent":"89b00","lock":{"saturation":1}}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"89b00":{"val":"var(--tcb-skin-color-0)"},"f4f63":{"val":"rgb(28, 40, 49)","hsl_parent_dependency":{"h":206,"l":0.15,"s":0.27}}},"gradients":[]},"original":{"colors":{"89b00":{"val":"rgb(19, 114, 211)","hsl":{"h":210,"s":0.83,"l":0.45,"a":1}},"f4f63":{"val":"rgb(12, 17, 21)","hsl_parent_dependency":{"h":206,"s":0.27,"l":0.06,"a":1}}},"gradients":[]}}]}__CONFIG_colors_palette__
Previous Article
__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"89b00":{"name":"Main Accent","parent":-1},"f4f63":{"name":"Accent Dark","parent":"89b00","lock":{"saturation":1}}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"89b00":{"val":"var(--tcb-skin-color-0)"},"f4f63":{"val":"rgb(28, 40, 49)","hsl_parent_dependency":{"h":206,"l":0.15,"s":0.27}}},"gradients":[]},"original":{"colors":{"89b00":{"val":"rgb(19, 114, 211)","hsl":{"h":210,"s":0.83,"l":0.45,"a":1}},"f4f63":{"val":"rgb(12, 17, 21)","hsl_parent_dependency":{"h":206,"s":0.27,"l":0.06,"a":1}}},"gradients":[]}}]}__CONFIG_colors_palette__
Next Article
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Buy My Book

If you like this content, you'll love my book!

It's great for new product managers. One reader said:

“I love your book. I have recommended it to all the PMs I mentor. In the past month probably 10. Not kidding. It is a gem. I wish I read it 15 years ago when I was getting into product.”
>