To cover the intrinsic problem of eliciting requirements,
many different techniques have been proposed. So here
I list some of most traditional techniques for
requirement elicitation and as I present those, please keep
in mind that these techniques can be used
separately or combined. A first technique is called background
reading. And, this technique involves collecting information by
reading existing documents such as company reports, organizational charts,
policy manuals, job descriptions, documentation of existing systems and so
on. And, this technique is especially appropriate when one Is
not familiar with your organization for which the requirements are
being collected. So you want to get some background before interviewing
actual people. And one of the main imitations of these
kinds of approaches is that written documents might be out
of sync and they often are out of sync with
reality. Tend to be long winded. It may contain many irrelevant
details, so you may have to look at a lot
of materials to extract enough information. The hard data and
samples techniques consist in deciding which hard data we want
to collect and choosing the sample of the population for which
to collect such data and hard data includes facts and
figures such as forms, invoices, financial information, survey results, marketing
data, and so on. And the sampling of this data
can be done in different ways. For example, the typical ways
to do random selection. Interviews are another typical approach for
requirement solicitation, and this is the approach that we use for
the first project in this course, for instance. Interviews can be
structured in which case there is an agenda of fairly open
questions or they can be open ended in which case there
is no preset agenda and the interview is more of a
conversation. On the positive side, interviews can collect a rich set
of information because they allow for uncovering opinions as well as
hard facts. Moreover, they can probe in depth through follow
up questions. On the more negative side, interviewing requires special
skills that are difficult to master and require experience. And
it is not enough to collect a lot of information. If
this information is hard to analyze or even irrelevant, it
might become useless. So you need to know how to conduct
an interview in order to take advantage of these techniques.
Surveys can also be extremely useful for gathering new requirements because
they can quickly collect information from a large number
of people. Moreover, they can be administered remotely. For
example, by email, through the web. On the other
hand, surveys tend to severely constrain the information that
the user can provide and might miss opportunities to
collect unforeseen, relevant information. Finally, meetings are generally used
for summarization of findings and collection of feedback, so as
to confirm or refute what has been learned. So the
only additional thing I want to mention about meetings
is the fact that it is fundamental that have clearly
stated objectives and are planned carefully. This is something that
should be quite obvious, but doesn't always happen in practice.