E. F. Schumacher is quoted as saying "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
Technology people fall into this trap way to often, we like to add "one more feature" or make a user interface just a little more functional. Sometimes these changes result in a level of complexity that is never utilized by our end users simply because they can't figure out how to get to it.
I have long believed that people will learn just enough about a piece of software so they achieve a task repeatably, even if it's not the best way to complete that task. For example, how often have you selected File
, then Save
or Print
from the menu with a mouse despite having a perfectly good keyboard shortcut and toolbar button?
One of the side effects of adding all of these do-hickys is that the amount of moving parts or the amount of software that needs to be generated, grows massively. In fact, a man named McCabe has invented the Measure of Cyclomatic Complexity to measure just how complex a piece of software is.
An interesting statistic from the software development world revolves around the number of defects that are present in software at the point of release. It is widely held that for every 100 lines of code, 2 defects are introduced. It is also held that a good quality process in the software shop will prevent 80% of the defects from being released into the user community. We invent entire processes and create entire departments around the detection and management of just these defects. The costs are staggering.
Perhaps is reason enough to take a little advice from Herr Schumacher and keep the feature base limited to the core functions. The implementations of these functions should be so intuitive, that I should not have to refer to a help file or manual to figure out the operation.
Heres a final thought; If help files and user guides were banned, I bet we would see software products with much more tightly focussed feature sets and wildly intuitive design. Further, these products would be way better for the users and much more profitable for the authors too.
Technorati Tags: commercial, creativity, Cyclomatic Complexity, design, E.F. Schumacher, good enough, innovation, mac, pc, quality, software, software development
Recent Comments