Understanding HCI

Requirements gathering and Analysis

  1. A requirement is something the product must do or a quality that the product must have
  2. Users may not be aware of all requirements
  3. Users may voice a perceived need
  4. But users do not mention some requirements
    1. assume that the requirement is obvious
    2. good interviews, observation will help to reveal these
    3. some only surface when models are constructed or prototypes are reviewed
  5. users also may not appreciate technical possibilities (or impossibilities)
    1. early prototyping helps here

2 types of requirements

  1. Functional requirements
  2. Non-functional requirements

Functional requirements

What the system must do

  1. specifications of the system’s functionality
  2. actions that the system must take (verbs)
  3. not a quality e.g. ‘fast’
  4. take care to be precise & unambiguous

Non-functional requirements

A quality that the system must have (adjectives or adverbs)

  1. secure, reliable, quickly, easy to use, compliant with Data Protection legislation
  2. often about image in consumer products
  3. customer and user may judge product mainly on nonfunctional qualities
  4. again must be precise and unambiguous

Different types of nonfunctional requirements

  1. look and feel
    1. spirit of the product’s appearance, aesthetics, trendy or corporate
    2. do what users expect
    3. not detailed design
  2. usability
    1. specify ease to use by whom, with what skills or training
    2. also ease of learning
    3. user acceptance
    4. productivity gains
    5. error rates
    6. use by non-(English) speakers
    7. accessibility
  3. performance
    1. speed
    2. safety
    3. throughput
    4. accuracy
    5. reliability
    6. availability
  4. operational
    1. technical environment
    2. physical environment
  5. security
    1. confidentiality
    2. recovery after emergencies
    3. safe storage

Examples

Requirements for PDA hospital system

It is impossible to design a (usable?) system without knowledge of

  1. who will use it?
  2. where will they use it?
  3. what will they use it for?
  4. how will they use it?
  5. what will reduce their effectiveness in using the system?
  6. what will reduce your effectiveness in designing the system?
  7. what are the agendas of the people involved, hidden or otherwise?

Some methods used to ascertain the answers to the above questions include

  1. ethnography
  2. Interviews *
  3. Focus Groups *
  4. User Logging
  5. Questionnaires
  6. technology tour
  7. task analysis *
  8. end user profiling *
  9. pact analysis *
  10. cultural probes
  11. artefact collection
  12. activity theory

Methods marked with * are the ones we will concentrate on for this module. Others are available for your information.