Process for User-centered Development

From Computing and Software Wiki

(Difference between revisions)
Jump to: navigation, search
(References)
(Iterative Design)
Line 44: Line 44:
* Refine design based on users point of view
* Refine design based on users point of view
-
Iterative design is about refinement: This method puts quality in the centre of the development process. Indeed, by refining step by step the design, you obtain a product totally in appropriateness to its future users needs.  
+
Iterative design is about refinement: Each iteration brings improvements to whole project. This method puts quality in the centre of the development process. Indeed, by refining step by step the design, you obtain a product totally in appropriateness to its future users needs.  
It explains why it fits totally with User Interface development and design. The development of a good user interface is mostly the result of a good understanding of its users needs and behaviour. As it's hard for a user interface designer to get a perfect understanding of them, the iterative design method allows him to base his work on users feedback and improve his product based on their point of view. Thus, usability issues will be corrected easily.
It explains why it fits totally with User Interface development and design. The development of a good user interface is mostly the result of a good understanding of its users needs and behaviour. As it's hard for a user interface designer to get a perfect understanding of them, the iterative design method allows him to base his work on users feedback and improve his product based on their point of view. Thus, usability issues will be corrected easily.

Revision as of 07:15, 23 November 2009

Write introduction here.

Contents

Early Focus on Users

Empirical Testing

Empirical testing of the user-centered development consists mainly of usability testing with tests that can be quantified, which focus primarily on user feedback from interaction with the product. These tests are mainly based on user interaction with the interface as opposed to non-user based tests. Some non-user based tests are expert review, compliance reviews, heuristic evaluations, and cognitive walkthroughs. These tests are based on the review of an ‘expert’ or check to see if usability of the product satisfy a checklist or group of well-known principles, such as Shneiderman’s 8 golden rules or Norman’s 4 principles of usability among others. The main concern of non-user based tests is that users are not actually giving feedback about the interface, instead it is the ‘experts’ who are giving feedback who claim to know what users will accept, which of course is not always the case. Whereas, user-based testing could include user surveys, performance-based, think-aloud protocol, or co-discovery learning, with each test has its pros and cons.

User-based Tests

User Survey

A user survey will have the user use a prototype and then fill out a survey based on their experience. In this case, the answers the user provides will be restricted to what they are allowed to choose as answers, which allow for quick gathering of data. It can be said that user surveys are easy to conduct remotely, but relies heavily self-reported data.

Performance-based

Performance-based tests will have the user complete a specific task using a prototype of the interface. The data gathered will be based on the user experience of performing the given task with the prototype. This type of test is good for comparative evaluations, but is not a complete picture of usability and could be misleading.

Think-aloud protocol

Think-aloud protocol consists of having the user say what is on their mind while they are using the interface and trying to accomplish a task. The idea is to discover the thought processes involved in using the interface. This method can capture the user’s understanding, but cannot be used to evaluate performance, because of its disruptive nature.

Co-discovery Learning

Co-discovery learning is a modified version of think-aloud, in the sense that the user will still think-aloud, but will be working with another person to accomplish a task, with the aim being to allow the user to more naturally verbalize their thoughts. It is more revealing, but potentially more difficult to conduct.

Purpose of Testing

Key Reasons to Test

Analyze and Retest

Limitations

Although it seems empirical testing can solve many design problems, it should be noted that testing has its limitations. Rubin and Chisnell, point out that testing is always an artificial situation in the sense that the very act of conducting a study can itself affect the results. Test results do not prove that a product works, in that it is not a guarantee, but only a probability that results were not due to chance. Participants are rarely fully representative of the target population. Testing is not always the best technique to use, since at different stages it may be unnecessary to bring in many participants to reveal the obvious. Testing is just that, a test, which only accounts for hours of use. Even with these limitations Rubin and Chisnell(Handbook of Usability Testing, pg. 26) also note that used correctly, testing will almost always bring to light potential problems, when done carefully and correctly.

Iterative Design

When designing a user interface, it is almost impossible to obtain an interface without any usability issues in a single attempt. To solve this problem, the iterative design method is applied in the development of a new product (typically a software with a user interface). It consists of developing it by a succession of iterations. Iterations are used to improve the current interface by collecting users feedback about current interface, correct usability issues, then start a new iteration. Five steps compose an iteration:

  • Prepare a prototype design of the product
  • Present this design to a set of potential users
  • Collect problems noticed by users
  • Refine design based on users point of view

Iterative design is about refinement: Each iteration brings improvements to whole project. This method puts quality in the centre of the development process. Indeed, by refining step by step the design, you obtain a product totally in appropriateness to its future users needs.

It explains why it fits totally with User Interface development and design. The development of a good user interface is mostly the result of a good understanding of its users needs and behaviour. As it's hard for a user interface designer to get a perfect understanding of them, the iterative design method allows him to base his work on users feedback and improve his product based on their point of view. Thus, usability issues will be corrected easily.

Websites always use this method: Web masters generally propose a new website design and collect user's feedback by email or with a dedicated topic on the website forum. For software development, it is different as it is impossible to propose an unfinished product to the customer. The iterative design method is used to perfect the design before the software release during the testing period.

Benefits

Advantages related to iterative design are numerous.

  • Inconsistencies around application design are detected earlier than with a traditional development method
  • Most of the usability issues will be solved
  • Better understanding of users needs
  • Testing phase is easier to plan as the testing team will proceed by iterations
  • Better knowledge about the current project status: good visibility of the project advancements
  • Keep an history of mistakes done in the past to do better on the next user interface

Disadvantages

One of the problem of iterative design is its cost if you exaggerate the number of iterations. Indeed, each iteration takes a lot of time and time is critical and expensive for software development. It will avoid patching the software in the future but can become really expensive if too many iterations are performed. Jakob Nielsen has realized experiences about the number of iterations that should be performed by a user interface designer. According to his opinion, developers should realize three iterations to obtain an interface adapted to users needs.

References

Iterative Design (Wikipedia)

Iterative Design by Jakob Nielsen

Personal tools