Page 126 -
P. 126
4.5 Requirements elicitation and analysis 109
Ethnographic Debriefing Focused
Analysis Meetings Ethnography
Figure 4.16 Prototype
Ethnography and Evaluation
prototyping for Generic System System
requirements Development Prototyping
analysis
integrating ethnography into the software engineering process by linking it with
requirements engineering methods (Viller and Sommerville, 1999; Viller and
Sommerville, 2000) and documenting patterns of interaction in cooperative systems
(Martin et al., 2001; Martin et al., 2002; Martin and Sommerville, 2004).
Ethnography is particularly effective for discovering two types of requirements:
1. Requirements that are derived from the way in which people actually work,
rather than the way in which process definitions say they ought to work. For
example, air traffic controllers may switch off a conflict alert system that
detects aircraft with intersecting flight paths, even though normal control
procedures specify that it should be used. They deliberately put the aircraft
on conflicting paths for a short time to help manage the airspace. Their con-
trol strategy is designed to ensure that these aircrafts are moved apart before
problems occur and they find that the conflict alert alarm distracts them from
their work.
2. Requirements that are derived from cooperation and awareness of other people’s
activities. For example, air traffic controllers may use an awareness of other
controllers’ work to predict the number of aircrafts that will be entering their
control sector. They then modify their control strategies depending on that pre-
dicted workload. Therefore, an automated ATC system should allow controllers
in a sector to have some visibility of the work in adjacent sectors.
Ethnography can be combined with prototyping (Figure 4.16). The ethnography
informs the development of the prototype so that fewer prototype refinement cycles
are required. Furthermore, the prototyping focuses the ethnography by identifying
problems and questions that can then be discussed with the ethnographer. He or she
should then look for the answers to these questions during the next phase of the sys-
tem study (Sommerville et al., 1993).
Ethnographic studies can reveal critical process details that are often missed by
other requirements elicitation techniques. However, because of its focus on the
end-user, this approach is not always appropriate for discovering organizational or
domain requirements. They cannot always identify new features that should be
added to a system. Ethnography is not, therefore, a complete approach to elicita-
tion on its own and it should be used to complement other approaches, such as use
case analysis.