Agile methods vs User-centered design (UCD) (Agile and UCD together…
Agile methods vs User-centered design (UCD)
Introduction to Agile and UCD
Agile and UCD share many common principles, yet it is rare for Agile methods to incorporate UCD
argues that by incorporating User-Centred Design (UCD) (and in particular using low fidelity prototyping as an iterative model for the application rather than time consuming code) better applications can be developed, delivering business benefit with a focus upon the end user and their experience.
is usually a
, supporting engagement with the business and using stories and code as the model for communication
User-Centric Design (UCD)
extends the approach, however rather than using code as the model it uses visualisation to articulate the solution (collaborative workshop, creating stories then translating them into storyboards and low-fidelity prototypes)
UI designers do not sufficiently consider the technical implications when creating interfaces
An inherently usable and technically elegant application cannot be considered a success if it does not satisfy the end users’ needs.
Common fears present on many projects
The project will produce the wrong output
The product will be of inferior quality
The project will be late
The team will work excessive hours
Commitments will be broken
The Agile Manifesto
Individuals and interactions
over processes and tools
over comprehensive documentation
over contract negotiation
Responding to change
over following plan
are lightweight software development processes that employ short iterative cycles, involve users to establish, prioritise and verify requirements and rely on knowledge within a team rather than documentation
are adaptive and people orientated opposed to investing a large amount of time in up-front design
welcome change allowing the project to adapt to changes as and when they happen
At its most basic, agile methods encourage completing parts of a system with the highest value, delivering them as early as possible.
are short descriptions of what the application should do from the perspective of the user. They are small pieces of functionality that relate to business value. A high level story is very simple; a title and a sentence or two of plain English to describe it
Rather than using formal analysis documentation,
Agile uses stories
As an X, I want to Y, so that Z”
I want to...
Common step with UCD; an understanding of the user goal and tasks to achieve the goal
Addressing a requirement in terms of the user and their goal focuses development upon what is needed.
The story is expressed solely in business language and should not specify implementation detail.
For example state the need to store information, but not the mechanism for achieving it (e.g. database, xml file etc.)
The story must have business value.
Defines who the end user will be
The parallel with UCD is an understanding and appreciation of the user
In its most elementary form a story identifies
who wants the story, what it needs to do and why it is valuable to have
: “As an X, I want to Y, so that Z”.
Agile and UCD together
Interaction design shares many of the characteristics of Agile, however they are rarely combined and there can be conflict between the two practices
The greatest source of contention is whether UCD processes constitute “big up-front design”, an anathema to Agile
Improvements to UCD
The traditional model of UCD is coded prototype being reviewed by a business customer at the end of each iteration
More value can be extracted from this highly iterative process by using a variety of models, not just code alone. For example,
Advantages when combined
Better understanding of the problem
Allows rapid testing and validation of story concepts before time consuming code
Provides a clear, sociable visual representation of the project vision
Provides usability be stealth
Engaging the end user as a customer
Improves basis of estimation
Mitigates project risk
User-Centered Design Basics
The User-centered design (UCD) process outlines the phases throughout a design and development life-cycle all while focusing on gaining a deep understanding of who will be using the product
Design is based upon an explicit understanding of users tasks and environments
Users are involved throughout design and development
The design is driven and refined by user-centred evaluation
The process is iterative.
The design addresses the whole user experience.
General phases of the UCD process