My Philosophy:

I believe that user interfaces are best designed when the interface designers and developers have some idea about who the users will be, what they are like, what tasks they'll perform, and what environments (physical and software) they'll be performing them in. Software developers tend to think that they are human, and they tend to believe that they are, therefore, representative of the target user audience. And so they sometimes trust their own intuitions as to what will be usable. This is a good strategy as long as their product/interface is to be used by only folks who have actually worked on the product or interface. If, however, the product is to be used by, let’s say, OTHERS, it is a good idea to test others, before shipping or going live. And while I’m up on this soap box, let me offer two more bits of my personal philosophy.

Cost-Justifying Usability

I believe that individuals and companies should NOT pursue a course of usability engineering for their products because they want to be good citizens, or because “it’s the right thing to do.” Employing a user-centered design approach is a business decision, best done only when the benefits outweigh the costs. And those costs and benefits can be measured and compared, with at least the same accuracy as lines of code, projected sales, or other estimates on which companies and organizations typically base their decisions. Note, these benefits need not be only financial; a library or museum or website of a nonprofit might measure "benefits" in terms of usage or customer satisfaction.

The Dangers of Amateur Usability

In my 25 years in industry I often saw companies decide to forego usability evaluation because they thought they could save the money and do the usability work themselves. Or maybe they diverted a disgruntled tech writer, or a poor software developer, over to do the usability work. The problem, in my should-be-humbler opinion, is the following. If a software developer is a poor software developer, he or she gets discovered at least by system test time. However, if a person does a poor job of usability engineering, this fact doesn’t get discovered until the product is shipped or the web site goes live and the customer support phones start ringing off the hook. Usability engineering is a professional discipline that, to be done well, requires competence in a long list of methods for user data collection, the discernment to know which method to use when, the ability to advocate for their collected data, and any number of other professional skills.