Friday, 30 March 2007
HCI Extended Report - Alternatives to User-Centred Design
This module has involved using the user-centred design process to create a product design, but there are a number of alternative methods. Some notable ones are as follows:
Waterfall Model
The waterfall model is one of the oldest design models, described by Royce in 1970 [1]. The model is simple, easy to understand and good for helping to maintain discipline in development (this is considered a weak point of user-centred design, where the practice of methods may not be consistent [5]), but it has been criticised for not being able to adapt to changing requirements [2]. The model also has very little interaction with users, who are only involved in the initial requirements phase.
Iterative Models
There are a number of development methods (e.g. spiral model [9], and Rational Unified Process [13]) that rely on the iterative model of creating intermediary prototypes that can be used to gain feedback. Traditional iterative methods are more flexible, but still have minimal contact with users (there is no design collaboration, but feedback can be given on prototypes), and there are still large amounts of documentation, which makes it more time-consuming to cope with changing requirements [14].
Agile Development
Agile development methods (e.g. “Extreme Programming” [10]) are similar to iterative models, but focus on very quick iterations that deliver working software, self-organizing teams with an emphasis on face-to-face communication (with less documentation), greater collaboration with users, and adaptability to changing requirements at any stage [11]. Agile development shares some common ground with user-centred design (e.g. iterative development and emphasis on communication with users), but the functionality is still the central focus [12]. This method may not be suitable for projects involving larger teams (face-to-face communication becomes more difficult with more people), or safety-critical projects that may require a lot of discipline and formal documentation.
Usage-Centred Design
Usage-centred design, as outlined by Constantine [3] [4], is a methodology that focuses around the tasks that have to be performed, rather than the users. The process is more formal than user-centred design, and has less user involvement, but can still provide good usability by concentrating on making tasks as easy as possible to perform. Key concepts of this method include “essential models” (models of the system with no assumptions about implementation) and “task cases” (abstract use cases where user input is split from system operations). A similar approach is “performance-centred design” [7], which incorporates many user-centred tools with a task focus. Usage-centred design appears to have many of the benefits of user-centred design, but it may not be sensitive to particular needs of specific user groups (e.g. the focus is on making tasks as efficient as possible, which may be detrimental to novice users who need more guidance).
Participatory Design
Participatory design [8] aims to involve the user as much as possible, and create a “third space” where users and designers can both learn and contribute. This is achieved using methods such as workshops (e.g. users will test a feature and then go to a workshop to discuss it with designers) and cooperative prototyping. This approach is at the extreme end of user-involvement, and appears to be very good for generating new ideas, due to the large number of outside perspectives involved. However, it may suffer the same drawbacks as user-centred design (e.g. a lack of discipline [3] and the incorporation of too many features (“Featuritis” [6]). Participatory design may be suitable for very specialised applications, where the user knowledge becomes more valuable. Principles of this approach also seem evident in websites such as Wikipedia, where the users themselves are creating the content.
Conclusion
The methods described above all try to provide a new approach to software design, but there is a large overlap in terms of the actual methods used to achieve goals, and designers could probably improve usability by simply applying compatible techniques from other methodologies into whichever one they choose. There is no clear-cut superior method, and different approaches seem to be suited to different project characteristics, but I feel that usage-centred design provides the most convincing alternative to user-centred design for improving usability in general-purpose interfaces, with a good balance of discipline and adaptability to user requirements.
References
[1] "Managing the Development of Large Software Systems" - Winston W. Royce.
[2] "Understanding the Pros and Cons of the Waterfall Model of Software Development" -TechRepublic, September 2006.
[3] "Usage-Centred Engineering for Web Applications" - Constantine and Lockwood, March 2002.
[4] "Frequently-Asked Questions about Usage-Centred Design" - Constantine and Lockwood, 2003.
[5] "A Survey of User-Centred Design Practice" - Vredenburg, Mao, Smith and Carey, 2002.
[6] "Designing Web Applications for Use" - Constantine and Lockwood, 2006.
[7] "What is Performance-Centred Design" - Craig Marion, August 1997.
[8] "Participatory Design: The Third Space in HCI" - Michael J. Muller.
[9] "A Spiral Model of Software Development and Enhancement" - Barry W. Boehm, May 1988.
[10] "Extreme Programming: A Gentle Introduction" - Don Wells, 2006.
[11] "Principles Behind the Agile Manifesto" .
[12] "User-Centred Development Process" - Hubmann.
[13] "Rational Unified Process" - IBM.
[14] "Testing Methodologies" - Microsoft, January 2005.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment