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.
   121   122   123   124   125   126   127   128   129   130   131