A Requirement is a condition or capability that must be met by a system or component to satisfy a contract, standard, specification, or other form of request.

User Experience

User Experience (UX) refers to a person’s total experience using a particular product, system or service.

Good user experience is often the difference between a functional product and a successful product. UX is more than just making user interfaces look pretty however, it also incorporates human-computer interaction research, user psychology, accessibility and marketing issues.

The primary goal of good User Experience is to achieve all of the primary functionality without difficulty. This is fairy subjective and so user research is often necessary. User Experience fits into HSD in three ways:

Philosophically

User Experience Driven Design

User Experience Storyboarding

UX Philosophy in HSD

Philosophically, the aims of good User Experience simply align to the aims of good software development which HSD embodies. We constantly recommend that requirements are customer based, and that teams are business value orientated to maximize utility to end-customers.

Not all software is user facing, and sometimes the cost of good user experience is outweighed by other needs (e.g. time critical functionality). However, in most user facing systems, discounting UX in favor of other non-functionals undermines Business Value. Good UX means that users can make sense of a system and use it effectively, maximizing Business Value. For example, a safety critical medical device that is extremely difficult, even counter-intuitive, to use will result in more mistakes than one with good UX.

Our definition of Problems, is UX based as it is concerned with damage to the relationship between users and the system:

A Problem is an issue negatively affecting the relationship between a User/Stakeholder and the Product. Problems are often represented as "Bugs" or "Changes"

User Experience Driven Design

For Products where User Experience is very important (such as public facing apps/services) we recommend user-centric design. UX Driven Design involves doing significant market and user research as part of Scoping a Product. Often a UX Design will be created that deals with human-computer interaction, style, look and feel, content strategy and interaction design.

A UX design this comprehensive often replaces elements of the Requirements stack, and Architectural Overview material, even directing some Architectural Mechanisms. Care must be taken however not to over-detail user experience design, the same principles of the Cone of Uncertainty, iterative elaboration and inevitable change apply. Big Up Front UX is just as bad as Big Up Front Requirements. Instead look to adopt the inch-deep mile wide approach, establishing a common direction for development but letting details change iteratively/continuously.

Not all pieces of work are appropriate for User Experience Driven Design, and because it uses a different set of skills (and therefore probably people) to traditional requirements and architectural elaboration conflict can be caused when UX is new to an organization. Even if not formally adopting UX Driven Design we recommend UX is considered during all requirements and customer interaction/feedback work.

We recommend that UX Design is sketched rather than being too precise as very detailed prototypes and UX designs introduce false accuracy and lead to confusion with users who can think “the work is done” when they see an interface.

User Experience Storyboarding

User Experience Storyboarding is a detailed UX practice that replaces, or complements, Integration Scenarios or large User Stories. Showing in detail a storyboard of UX/system information annotated with notes as a way of communicating requirements.

A storyboard is typically a sequence of graphical designs showing the stages of interaction between users and a Product with annotations and extra information to clarify requirements.

UX Storyboarding can be mixed with graphical and textual Integration Scenarios as suits the set of requirements. As with UX Driven design we recommend storyboards are done in a sketched, rather than polished, finish.