Page 90 -
P. 90

TRANSITION  TO  AGILE  SOFTWARE  DEVELOPMENT  IN  A  LARGE-SCALE  PROJECT     75
                    period developed four releases that were each two months long and composed of four two-week-
                    long iterations.
                      We use several measures to compare specifications and tests. One measure is the size of the
                    specifications and tests, which is used for comparison alignment. Another measure of the specifi-
                    cations is composed of two measures that are used to assess the complexity of the specifications,
                    one of which is inspired by the measure of code cyclomatic complexity (McCabe, 1976; Watson
                    and McCabe, 1996). In the data analysis section the measures are elaborated and illustrated. These
                    measures were selected because we wanted the quantitative data to represent ongoing real work
                    rather than one or a few checkpoints of an artificial setting. Using the specifications and test data
                    enables us to examine continuous fieldwork over eight months.
                      Though the compared specifications and tests are taken from two different products of two dif-
                    ferent teams, we suggest that when a comparison between two development methods is made, it
                    is more important that the two teams work in the same organization, with the same infrastructure
                    and tools, and with people of similar experience and expertise. Furthermore, in order to eliminate
                    as much as possible the differences in the two products, we searched for trends and relative-to-size
                    technical measures rather than absolute numbers.

                    Qualitative Approach

                    The second research approach is a qualitative approach in which we sought to understand the
                    process from the systems analysts’ and designers’ point of view. Accordingly, we interviewed
                    systems analysts and asked them questions such as “Do you feel that your role has changed? If
                    no, please describe your role before and after the transition. If yes, please describe how your role
                    has changed.” “Compare the traditional method of software development and the agile Extreme
                    Programming one.”
                      In addition, we used two questionnaires. The first one is a software development culture ques-
                    tionnaire (Hazzan and Dubinsky, 2005) that maps the perspective of our interviewees with respect
                    to software development processes (see Appendix 6.1). The second questionnaire is related to the
                    role of the systems analyst (see Appendix 6.2).

                    DATA ANALYSIS

                    In this section, the project specifications and acceptance tests are compared, and the change in the
                    role of the systems analysts is examined.

                    Specifications Comparison

                    As stated earlier, some of the specification measures consider modularity and relative complexity.
                    To define such measures, we define a module of specifications—in contrast to a module of code,
                    such as a class or a package. As described above, the specifications of the analyzed projects were
                    written in a semiformal metadata repository, which enabled the systems analysts and architects
                    to define specifications modules.
                      The chosen method of specifications was data-centered; that is, a module in this system com-
                    pletely specifies one data entity and its related processes. Each module specifies—for one entity
                    and its subentities—the database layout and properties, application server services, user interface
                    forms, queries, input and output to external interfaces, permissions, and other specified features.
                    This comprises the entire business logic that must be implemented. Part of this business logic is
   85   86   87   88   89   90   91   92   93   94   95