Usability is the degree to which something is easy to use for a given purpose. Its purpose is defined by a well-understood model of a problem and a set of clear requirements. A useful technique for articulating these purposes is via user stories, made famous by Scrum and Agile methodologies. User stories typically take the following form:
As a {persona}, I want to {want}, so that {purpose}...
Here are some examples of the types of user stories you'd expect if we were designing a Contacts application:
- As a user, I want to add a new contact so that I can later recall that contact from my contacts list.
- As a user, I want to delete a contact so that I will no longer see that contact in my contacts list.
- As a user, I want to easily find a contact by their surname so that I can contact them.
User stories help to define the purposes that you are catering towards and help to focus the mind on the perspective of the user. Whether you're creating a five-line function or a ten-thousand-line system, it's always worth planning out your user stories.