Friday, March 31, 2006

Factors in Tool Complexity/Simplicity: Viewing Value as Additive

Some sketching...

Overengineering is one reason why software becomes too complex. What causes overengineering? One reason is having a 'more is better' kind of attitude, seeing value as an additive property, where adding a feature simply increases the system's overall value.

This sort of attitude appears in all sorts of design. In music, people overengineer in this fashion when they try to make something better simply by adding more sounds. In cooking, they do it when they try to add more flavour to the dish by adding more flavours. And so on.

But value isn't a simple additive property, it is a contextual one. What impact will adding the feature have on the user's overall experience. What impact does it have on the software's footprint, for example?

As a contextual property, it is a perceptual one. Though we often think of complexity in terms of properties of the software, like the number of features, the organisation of the user-interface, we have to remember that it's not about these things per se, but their impact upon the user's experience. And to evaluate the impact of any one of these, we need to see how it sits in relation to any of the other items that impact upon the user's experience.

No comments:

Post a Comment