In broad terms, user-centered design (UCD) is a design philosophy and a process in which the needs, wants, and limitations of the end user of an interface or document are given extensive attention at each stage of the design process. This helps to put customers at the heart of the online experience. By designing for users first and foremost, not only does the user experience improve (and thus, profit), but so does development efficiency and cost – designing based on user’s requirements means less redevelopment work is needed further down the line.
The Usability Professionals Association, an international industry group, provides a definition of user-centered design which includes the following development cycle, codified in the ISO standard 13407:
- Specify the context of use: Identify the people who will use the product, what they will use it for, and under what conditions they will use it.
- Specify requirements: Identify any business requirements or user goals that must be met for the product to be successful.
- Create design solutions: This part of the process may be done in stages, building from a rough concept to a complete design.
- Evaluate designs: The most important part of this process is that evaluation – ideally through usability testing with actual users – is as integral as quality testing is to good software development.
This process still leaves a substantial part of the development process open to discussion. In particular, it doesn’t make any specific reference to the technical implementation of a project. However, there are many implementation and development methods which are a good fit for UCD, and this includes the ‘Agile’ development methodologies (discussed in further detail at the end of this article).
We have noticed that the label used to describe this type of design can differ across the industry; whilst ‘user-centered design’ is seemingly the most commonly used label, synonyms include both user-driven development or human-centered design. These labels all largely fall under the same top-level category of UX, so if you’d like to learn more about the various buzzwords and industry terms then please check out our guide to UX design.
In this post, we will discuss each phase of the UCD process, along with a summary of the services which are delivered during each phase.
Please note, some of the terminology used may not be too familiar to some readers, but rather than describing each service we wanted to keep this post more to the point. Feel free to call us for further information on a particular service or terminology used.
Table of contents:
The 4 phases of the user-centered design process
Summary: Here are the four phases of the user-centered design process
- Analysis
- Design
- Implementation
- Deployment
You will notice that there isn’t an order assigned to the 4 phases, as UCD is a process of continual improvement.
For the development of completely new business systems, applications, and e-commerce platforms, the process would start with the analysis phase and work through the remaining 3 phases, but during the deployment phase on-going evaluation of the system and the users does mean that the process can then be continued, back in to the analysis phase (but to a lesser extent).
The analysis phase
Definition
This phase ensures all business and user requirements are taken into consideration, prior to the start of the design phase.
PurpleFire services
- Stakeholder analysis
- Competitor benchmarking
- Persona development
- Defining user scenarios
- Conducting field studies
- Defining usability goals
The design phase
Definition
This phase provides a comprehensive approach to the design of the system, ensuring the design meets all user and business requirements.
PurpleFire services
- Navigation models
- Screen flow samples
- Information architecture
- Card sorting
- Paper prototyping
- Wireframing
- Interaction design
- User testing
The implementation phase
Definition
This phase takes the user-tested system and interaction designs and implements them into working systems ready to go live.
PurpleFire services
- Object orientated design
- User interface integration
- Server implementation
- Heuristic evaluations
- User testing
- Documentation
The deployment phase
Definition
This phase involves continuous evaluation of the new system, monitoring the performance against usability objectives.
PurpleFire services
- User/customer surveys
- Field studies
- Performance analysis
- Improvement scoping
- Continuous analysis
User centered design and agile development
As mentioned earlier in this article, there is no order assigned to the above process as user centered design is an ever-developing practice. This works particularly well when agile development practices are in also in place.
Agile software development comprises a group of related approaches to software development that attempt to overcome many of the problems faced by traditional software development processes. The fundamental tenets of agile development are set out in the agile manifesto, and the approach is summarised as follows:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
In short, agile development is based on the notion that software development processes can be unpredictable and that the bigger they are, the less predictable they become. Agile offers us some important insights into how to manage that process on a dynamic basis, rather than try to eliminate all uncertainty with a huge and detailed up-front plan. As a result, agile development can cut costs and cut delivery time by placing the emphasis on delivery and quality, working with customers on a good faith basis rather than by setting down overly strict requirements at the start which may bind both parties in ways that neither wants. And this is a very good fit for user centered design, because it leaves open the possibility of incorporating user feedback as the project gets underway.
One of the 12 principles of agile development is this: welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. User input and user testing are perfect examples of that kind of late change. Imagine that you’re setting up a major new e-commerce store; your company needs to boost sales but can’t extend the marketing budget. User testing reveals that the new system does improve slightly on your old one, but with a few more improvements – perhaps to increase the user’s trust in your system, or to improve the system for recommending related products – you could gain a few more percentage points on your sales. At that point, you need a software development process that can react and incorporate those new insights into the site development.
It is by combining agile development with user centered design that projects are best delivered. As developers, we’ve found the agile mindset to fit much better with the problems that we have to solve and with the need to react to a variety of inputs, from clients and system users alike. Being that responsive to user requirements does require a change in mindset from that of a traditional software developer; it’s no longer safe to assume that the developer always know best about how something should work, and they must be more flexible to cope with the requirements of the users. But this is all worthwhile as it reduces the pressure associated with delivering a piece of software – if the users and the clients have been involved in the development, you know that they will be happy with the end result.
Variations in UCD methodology – what are yours?
There will always be slight variations in the process with other usability and software development agencies, and we would be interested to hear comments on these differences.
On saying this, one thing is for sure – when following User Centred Design principles, users need to be an integral part of the complete design and development process.