Meeting User Needs

   

User model design is the process of understanding, documenting, and validating what the user envisions the application to be. Through it, you identify the user requirements of the application, arriving at a business solution as seen by the user. With it, you also assess the user's skills and experience, and determine the user's desktop client platform.

The user model design stage is independent of physical implementations. The primary focus is on what the users want to do, explained in the context of how they want to do it (but not how it might be implemented).

User Model Tasks

In the user model phase of design you begin with an emphasis on the activities of the user, rather than aspects of software development. A strong focus on the user in the beginning of the project can help you maintain a proper perspective throughout the development cycle.

User model design can be subdivided into five basic tasks, with the result being a set of usage scenarios and user profiles that document the user's view of the business solution. The entire process may be repeated many times as new requirements are revealed and the usage scenarios are refined.

The major design tasks in the user model are:

  • Identify users and their roles.
  • Gather input from users.
  • Document usage scenarios.
  • Validate with users.
  • Validate against the other models.

User Model Tools

The user model tools are mainly conceptual tools, rather than software tools. The most important are user profiles and usage scenarios. In addition, physical prototyping of the user interface can be invaluable, especially in later iterations of user design.

User Profiles

There are many different techniques for understanding the users that can be applied separately or in combination to develop extensive user profiles. Some useful data-gathering techniques include user interviews, focus groups, user surveys, shadowing, and statistical or anecdotal information gathered from the Help Desk.

Usage Scenarios

Usage scenarios capture the requirements of the system in the users' business context. They also describe these requirements in the context of how a particular process, feature, or function will be used. The project team can use the usage scenarios to maintain their focus on the real problem to be solved.

Usage scenarios serve to:

  • Document the series of steps required to complete a business function.
  • Trace a path between the user's view and the final physical design.
  • Add reality and focus to user expectations.
  • Set a prerequisite to defining services at the logical design view.

Usage scenarios capture the users' perspective and environment in a narrative or story portion as well as describe necessary tasks. During the design process, usage scenarios validate the design and aid in defining features and making trade-offs.

For more information   For more information about usage scenarios, search online for "usage scenarios" in MSDN Library Visual Studio 6.0 or at the Microsoft Web site at http://www.microsoft.com.

Prototypes

User interface prototypes validate what users would like to see in a system. Prototyping demands a stable concept of how the new system should operate, therefore it is more likely to be of value during later iterations through the user model design process, than at the beginning design stages. The information yielded by prototyping is of high value, and prototypes can be quickly built in the development environment of your Visual Studio programming language of choice.