The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Requirments collection for User Interfaces

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ranjan Sakalley

Posts: 26
Nickname: runjan
Registered: Apr, 2005

Ranjan Sakalley is a Lead at Proteans
Requirments collection for User Interfaces Posted: Jul 15, 2005 2:55 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Ranjan Sakalley.
Original Post: Requirments collection for User Interfaces
Feed Title: Ranjan Sakalley
Feed URL: /error.htm?aspxerrorpath=/blogs/ranjan.sakalley/rss.aspx
Feed Description: (the life and times of a mock object)
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Ranjan Sakalley
Latest Posts From Ranjan Sakalley

Advertisement
End users interact with your software only through the User Interface, and therefore, you must understand that for them the User Interface is the software. Architects, and developers in general forget this, and are predominently concentrating on design patterns, antipatterns, language nuances, tiering and layering, data communication between machines etc. throughout the software development life cycle. Whilst the above mentioned entities are essential towards a good product, User Interface is the most important of all the aspects of a software; this, if you are in the business of selling the software, or providing an end user a convenient solution. Many a time, I forget the actual motive behind writing a software, which invariably is improvement in productivity of the users of the software. User interface forms a very important part of what we are writing the software for. This is the reason why people took Windows over Unix a long time back.

Essentials for an effective user interface
An effective user interface helps a user perform a task with the minimum possible effort. To create one, you must understand the user, just like a motion picture director understands the audience, and manipulates their feelings. Following are some aspects of the audience that you must know, before starting to design an effective user interface -

Individual Technical ability
Gather information on the computer literacy of the users. Instead of letting them tell you about it, start with a set of questions first, get these questions answered by all possible end users, or if you are developing a product, a trusted sample target audience. I would normally ask atleast the following -

General questions - questions that would give us some metrics on what is the technical ability of the users
  • Do you like working with machines? Computers?
  • What is your current position in the company, does it involve working with computers?
  • Have you undergone a formal computer training program?
  • Do you think a computer can add/has added to your productivity?
  • Do you have a computer back home?
  • How often do you use a computer? How much time do you spend every day?
  • Please rate yourself from 1-10 on your typing speed/skills?
  • How would you like to classify yourself, as a mouse-user or a keyboard-user?
  • Are you left handed? If yes, do you use a left-handed mouse?
  • What are the the problems you have faced, and currently face when you are working with a computer?
  • Do you like a colourful interface to the software, or a simple classy one?
  • Do you like reading articles on the computer? Do you increase the font sizes when you are reading?
  • Do you feel comfortable with simple menu items with small images, of you would prefer an interface with big image buttons on the screen?
  • Do you get bored of the user interfaces that you use currently? Tell us what actually do you feel is the reason behind it.
  • How often do you use software help manuals, per day?
  • How would you react to a new software given to you?
  • How much time would you prefer to spend on getting trained? Do you think the training time has its worths?

Once you get the answers to such questions, get some metrics out of them, form small groups of people who you can classify as
a. People who got bored answering because they know too much.
b. People who answered the questions positively.
c. People who answered the questions correctly, and gave you a good picture of what they are looking for.
d. People who got bored answering because they did not know what you were asking about.
and many others. If you cannot talk to all of these, find atleast two median users of each such class, and talk to them regarding how they feel about Computer software in general, and what are their basic needs and problems with computer interaction.

With these questions, you would have a definitive picture about the knowledge, enthusiasm levels and a little information on technical capability of the users, the stress you need to put on keyboard shortcuts and tab-orders etc., the problems that you need to solve for them, specifically in terms of their past experience with user interfaces, and some other questions like would you need to support skins etc. These questions would sometimes give you a picture of what the users expect in terms of Help manuals and training too. A set of 20-30 such questions would really help you getting this knowledge.


Group technical capabilities - User classifications in the Enterprise scenario
With a result set of the questions above, you would actually be able to classify users with their job functions in the target organization. I mention this, because most enterprise automation software involve a lot of roles, each separated by the other based on education, aptitude and talent etc. of the employee. And for each such role, their is a separate user interface that you need to design. With the metrics from the last questionnaire, and after the meetings, you might be able to define the traits of each role. Following is a set of roles that you might get, with a healthcare provider organization -

System Administrators - highly efficient computer users, very enthusiastic in controlling all aspects of your software.

Nurses - least efficient but highly enthusiastic. Might not know what they want, and hence you have to pitch in extra effort.

Doctors - normal efficiency, but would like the software to do and be everything, "no clicks" requirements

Clerks - very efficient, understand computers and have specific requirements. Reporting needs.

Data entry personnel - good typing skills, keyboard freaks, require perfect data flow.

Marketing managers - not good with computers as such, but want to use them, requirements run around communications and almost everything you can write reports on.

Human resource managers - undertand the importance of keeping records, generally require reporting and file storage capabilities.

Receptionists - efficient typists, prefer a POS like user interface.

Lab managers - record keeping, communication and integration requirements.

and so on.

Divding the audience, into small identifiable groups is one of the best ways to go ahead with user intefraces. It helps in putting concentrated efforts on each module of the UI, right from the time when you start writing proof of concepts. Once you can group the users as a set, and have clear boundaries of each role, you have to start preparing questions for each such role, asking questions designed specifically on their tasks, and how they want the user interface for each task to look like. I am currently reading a book on Paper Prototyping, and its definitely a way to go.

As a conclusion, I would mention that each end user is unique, and to strive to satisfy every one of the end users is a noble task. One needs to understand the limits to which such customizability can be provided, and these limits cannot be drawn without gathering a comprehensive set of metrics. Whether you go ahead with satisfying each user, or by grouping end users into roles, and then satisying the median of such roles, you must first understand the importance of the User Interface, and then their requirements.









Read: Requirments collection for User Interfaces

Topic: What?!?! Don't you know who I am?!?! Previous Topic   Next Topic Topic: Drip, drip, drip, the PDC water torture continues...

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use