The Cost of Features


Most software vendors don't know how to make their programs easy to use, but they sure know how to add features, so that is what they do.

Physical objects, such as my Swiss Army knife, are subject to a natural brake on the proliferation of marginal features. Each new blade or accessory costs money for the manufacturer to build into the knife. The maker of the knife knows this, and each proposed new feature must pass a gauntlet of justification before it makes it into a shipping product. In engineering terms, this is called a negative feedback loop, in which intrinsic forces trend toward stability and equilibrium. For example, tire friction in your car creates a negative feedback loop in the steering system, so that when you release the wheel it tends to return to straight ahead.

In the business of software-based products, a different system prevails. Because functions and features are added in intangible software code and not in tangible steel, copper, or plastic, it appears to traditional manufacturing executives that additional features are nearly cost free. It seems to them that software is easy to add, change, and "improve."

Right now I'm listening to Jimmy Buffett on my computer's CD-ROM drive. The small program that plays the disc offers me a plethora of functions: I can move to the previous track or the next track, skip to random tracks, create a custom play list, play for a predetermined time, repeat play, view information about Buffett on the Web, put the album into my "collection," take notes on the various tracks, gather song names from a database on the Internet, examine information about the disc, create a list of favorite tracks, and more. All of these features are really nice, and I wouldn't necessarily delete them, but they all conspire to make the program extremely difficult to understand and use. What's more, when the phone rings and I need to quickly pause the disc, I can't find the pause function because it's buried among all of those other free functions. Those functions are not "free" to me. Some hapless engineer thought that he was doing me a favor by adding all of those free features, but I'd rather have a simple player with a quick and easy pause button.

Regarding my car's remote keyless entry system, I seriously doubt that any designer asked himself, "Which and how many functions are appropriate?" Instead, I'm certain that some junior engineer chose an off-the-shelf chip that coincidentally came with two channels. After using one of them to lock and unlock, he found himself with a free surplus channel. The engineer possibly under the influence of an enthusiastic but ill-informed marketing manager concocted the rationale that manually setting off the alarm would serve some purpose. He was proud of his ability to provide additional functionality for no apparent cost.

It's cheaper to put an entire microprocessor in your car key, microwave, or cell phone than it is to put in discrete chips and electronic components. Thus, a new technical economy drives the design of the product. Adding physical controls to devices is still governed by the negative feedback loop of manufacturing costs, but the process of adding functions and features in software is not. To software makers, it seems virtually free to add features, so any proposed feature is assumed to be a good investment until proven otherwise. Without a governor, the product rapidly fills up with unwanted features, which means complexity and confusion for the user. All of these features are touted as indispensable advantages and, of course, the main function that really is needed still remains. That bear is in there dancing away.

For desktop computers, the implications of the missing feedback loop are just as debilitating. The software maker imagines that it can add all of the features it wants, and they will be "free" as long as they are controlled through the standard mouse and keyboard. They can crowd the screen with hundreds of obscure icons, buttons, or menu items, all of which must ultimately be controlled by a key press or a mouse click. How is the user supposed to tell the difference between small, insignificant functions and those that have large, negative effects?

Virtually every commercially available software product has grown in complexity with each subsequent release. More features and functions are added as the product evolves, so more controls are added to the interface. The industry press calls it "bloatware." Products such as Lotus Notes, Adobe Photoshop, Intuit Quicken, and Microsoft Word are so encrusted with a bewildering array of features that users are confounded and use few of them effectively, if at all. Meanwhile, the myriad of marginal features crowd out the few really useful ones.

This problem is even more evident in enterprise software than in consumer products. Vendors such as Oracle, PeopleSoft, ADP, SAP, and Siebel all make complex, back-office software that's necessary for corporate operations. These products are very complex, obscure, and feature-laden. Each annual revision adds many new features but fails to make the existing features understandable or controllable except by users who receive months of rigorous training.



Inmates Are Running the Asylum, The. Why High-Tech Products Drive Us Crazy and How to Restore the Sanity
The Inmates Are Running the Asylum Why High Tech Products Drive Us Crazy &How to Restore the Sanity - 2004 publication
ISBN: B0036HJY9M
EAN: N/A
Year: 2003
Pages: 170

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net