Skip to content
UoL CS Notes

Requirement Elicitation

COMP107 Lectures

The process of obtaining, through systematic research the requirements of a system form the various users, customers and other stakeholders.

  • Needs a principle approach as it is often hard for users to articulate their need or their business problems.
  • Any system that doesn’t meet the users need is neither useful nor useable.

How to Elicit Requirements?

From the Artefact

  • Documents analysis
  • Interface analysis
  • Prototyping
    • Code
    • Show
    • Tune
  • Reverse Engineering

From People or Asking Stakeholders

  • Questionnaires
    • Open or Closed questions
  • Interviews
  • Focus groups
    • Guided discussions
  • Brainstorming
    • Free discussion
  • Ethnographic analysis
    • Watching what people do

When eliciting from people you should take into account who you want to talk to. There should be adequate stakeholders to get comprehensive coverage. There should be selection based on role, position, decision power, usage, expertise, exposure to problems, interests and influence on uptake.

Interviewing can also be difficult as there may be:

  • Conflicting points of view.
  • Different backgrounds, culture, terminology.
  • Different languages, jargon, hidden knowledge.
  • Internal politics and dynamics.

Example

If you had to put together a new website for the University where would you start?

Data Gathering Techniques

For a grid of data gathering techniques and their pros and cons view the slides for this lecture.

User stories could apply to all three methods. These are anecdotal stories in the workplace that apply to the issue. Enduring stories capture all aspect of the organisation and are the ones a systems analysts should be looking for.

Stories can be used to validate the companies decision, explain why the company acted in a certain way, describe an experience or prescribe the listener how to act. They can be used to complement other methods.

The main methods to gather information are:

Questionnaires

  • They are useful in gathering form key users or potential users. They can collect information on:
    • Attitudes
    • Beliefs
    • Behaviours
    • Characteristics

Interviewing

  • They are painful as they need to be planned. The following should be considered:
    • Dispersion of organisation members.
    • Number of members.
    • Exploratory work required.
    • Problem solving prior to the interviews.
  • Interviewing is an important method of collecting data on human and system information requirements. They reveal information about:
    • Opinions
    • Feelings
    • Goals
    • Key user experience concerns.
  • Due to the instant nature of interviews there should be some preparation for the interview.
    • Reading background material.
    • Establishing interview objectives.
    • Deciding whom to interview.
    • Preparing the interviewee.
    • Deciding on question types and structure.
  • A pyramid or funnel method should be used in interviewing questions. You should start with a very general question and add more details to get to the source of the problem.
  • Reports should be written as soon a possible after the interview so that as much detail is retained as possible. Two people can take notes to compare later.

Joint application design

  • Involving the users from the start in the design of the system.
  • The users will develop a greater link to the system. This will make the system more useful to them.
  • You should consider if the issue meets the following requirements before using this method:
    • Users want something new and bespoke.
    • The organisational culture supports joint problem solving behaviours and allows leave to participate in the exercise.
    • The analyst reckons that many more ideas will be generated using JAD than with one-to-one sessions.
    • The analyst should also be trained in the technique.
  • People involved:
    • Executive sponsor
    • System analyst
    • Users
    • Session leaders
    • Observers
    • Scribe
  • Benefits of JAD:
    • Time is saved, compared with traditional interviewing.
    • Rapid development of systems.
    • Creative idea production is improved.
  • Drawbacks of JAD:
    • It requires a large block of time to be available for all session participants.
    • If preparation or the follow-up report is incomplete the session may not be successful.
    • The organisational skills and culture may not be conducive to a JAD session.