
Kathy Sierra has another great post on the problems people face when using products. One of the sources of the problems is when engineers think “from the inside out” and focus on features or capabilities. People have goals, and they want to achieve goals, not use capabilities.
Feature Focused
Kathy uses a new digital SLR camera as the example for her article. She wonders if the problem is that the company spent too much time thinking about the camera, and not enough time thinking about photography. She points to the user manual as an example – the manual tells users exactly how to perform action X, but never talks about why someone would want to do X.
Goal Driven
Some cameras “get it.” Canon makes a digital camera where the primary adjustment knob doesn’t let you set f-stops, aperture, or shutter times. The primary adjustment knob has available settings. “Action”, “Portrait”, and “Landscape” are some of the settings. Canon’s product manager realized that his customers use the camera with a goal of taking pictures. And the features of the camera support this.
Opposing View
You could argue that the feature focused camera is designed for people who already know why they want a 1/60 shutter setting. And therefore, we don’t need to worry about it. Only relatively inexperienced people would face problems with this camera.
There is a valid argument that features and design should be optimized for competent users. But there is a barrier to entry for those users – they need a way to get enough experience with the product to gain competence. One barrier to entry results from having too many features.
Conclusion
When we’re designing software (and prioritizing requirements), we have to approach our jobs from the perspective of our users. Users have goals. We should design for them.

