User Centered Design (UCD) is a topic becoming more popular day by day, it's more a set of good intentions than a well-defined process applicable to any development project.
User Centered Design (UCD) seems to be growing in popularity, and it's not strange. Who could be against the user being the center of the design process? But looking beyond this popularity it turns out that there is not a consensus about what UCD is.
Formal definitions like in Wikipedia or ISO 13407:1999 describe it vaguely using terms as "design philosophies", "models", "general guidelines", "recommendations", … All those are positive instructions, but they aren't really useful when you face a real project developing a real interface.
What do we actually have?
Actually UCD refers almost always to a set of techniques that may be applied along all the life-cycle of a software application; the only thing those techniques have in common is that users are their main roles (at least theoretically). The number of techniques included may vary from six (like in this Webcredible article) to several tens (like in this interactive table at UsabilityNet). Those techniques may be as different between them as focus groups, user testing and interface prototyping.
Oddly some UCD techniques don't include real users in their carrying out: for example, heuristic evaluations of usability.
Every single technique may be applied in different moments of software development, although guidelines in that sense are usually approximated (see UsabilityNet table); their implementation and results are also depending on the specific technique. So in real projects it's the usability (or design) expert who has to decide which techniques are going to be applied and when; and he/she obviously has to have in mind habitual limitations of resources: time, people, etc.
Taking all this into consideration, should we call "User Centered Design" a development process which includes any of those techniques? What is the criterion to decide which an how many are necessary? Can we say we have followed a UCD process just because we have conducted some interviews for requirements definition, for instance?
Moreover, makes it sense talking about a design process without specifying what is its relationship with the rest of development processes?
What would we expect from a real UCD?
We could say then that current "User Centered Design" is a somewhat empty expression, since a real UCD should include:
- Some kind of integration between different techniques, specifying when and how should they be applied in development projects.
- Some kind of integration with development methodologies of the software itself.
There are indeed some attempts to relate UCD with software-development methodologies (like LUCID framework or MPIu+a methodology) but they seem to be yet in a definition stage and/or limited to academic environment.
Perhaps that's the reason why most practical approaches to UCD seem to be oriented towards web applications for content publication. In a web project of that kind most elements (infrastructure, language, technologies) are defined in advance: web server architecture + browser, HTML language for contents, etc. Consequently almost all development decisions are about design (of pages, of contents, of navigation, etc.) and a User Centered Design process seems to be enough to carry out the project.
But… what happens with other kinds of applications (non web)? When developing this kind of "more traditional" applications it's necessary a more complex analysis and definition of, for example, necessary infrastructure, architecture, database model… All those tasks don't belong directly to interface design field, although they are related to it. How do we apply UCD in those cases? Should design be the conductor of the full development process? Or should it be just another process in the development? What happens with common techniques (like requirements definition)?
It seems that there's still a long road before we can follow a User Centered Design in any project beyond applying specific techniques in concrete moments along its life-cycle.
As a final point, in the next HCI congress in Valencia I will be presenting a paper (in Spanish) related to this subject called "Más allá del cuchillo de palo: hacia una herramienta integrada para un verdadero diseño centrado en el usuario".