Why can't the developer not think like a user...?

Usability... Microsoft is known for it. She (Microsoft) has given birth to some of the most user friendly software known to man (and woman).

So the question is why oh why do we need a usability engineer. Why can't an Engineer, not think about usability. Sometimes we ignore simple issues like a two digit no. column on a grid is too darn wide and a description column which needs to be wide is too narrow for the description to be visible completely. Why oh why didn't we think about that before we were told by the user?

Because we were too busy churning out the high priority features so that they can be delivered on time. Too busy writing tests to ascertain the credibility of the application. Delivering non functional requirements like reliability, scalability, maintainability, security, and so on and so forth... Too busy designing, coding, testing refactoring... Delivering the bare necessities...

So the width of the column is the smallest thing in usability... there should be stuff thought of that is beyond imagination. Like how to make an application support operation without using the mouse at all. Completely with the keyboard. Or how to provide pointers so the user can intuitively know what to do next. Minimum mouse clicks... and perhaps hundred other pointers only a usability engineer can give you.

So how important is usability? What is the percentage of time that should be devoted to Usability when making the estimates? Inviting responses... Please comment...

2 Comments

  • Very simple: because the developer usually doesn't end up using his/her stuff. In big organizations the disconnect between developers and users is even greater.

    The simplest way to "fix" this would be to make (force if you have to) the developers watch over the shoulders (without being allowed to say anything) of a regular user who's trying to figure out how feature x works and why there are 4 buttons there, and which one to choose...

    It will be rather embarrassing the first few times. And if it's not, and their reaction is "stupid user" then I'd get rid of them. After a few sessions like this, the first thought in your mind will be "how do I make this intuitive, easy to understand"... and the reward will be next time he or she watches the client/user fly through the system; and everybody will be happy :-)

  • More than whether an engineer can think like a user or not... the issue here is whether he has the bandwidth to do so or not. What I was referring to was estimates and keeping usability at the time of scheduling. If you don't allot time for usability and expect the developers to build reliable, scalable systems which are also intuitive... I think that's too much to ask...

Comments have been disabled for this content.