Page 87 -
P. 87

ChaptEr 6




                              TRANSITION TO AGILE SOFTWARE
                      DEVELOPMENT IN A LARGE-SCALE PROJECT




                                 A Systems Analysis and Design Perspective



                     yaEl dubinsky, orit haZZan, daVid talby, and ariE kErEn





                    Abstract: In this chapter we focus on the implementation of Extreme Programming, one of the
                    agile software development methods, in a large-scale software project in the Israeli Air Force,
                    and describe the transition from a plan-driven process to an agile one as it is perceived from the
                    systems analysis and design perspective. Specifically, during the first eight months of transition,
                    the project specifications and acceptance tests of the agile team are compared with those of a
                    team that continues working according to the previous plan-driven method. Size and complexity
                    measures are used as the basis of the comparison. In addition, the role of the systems analysts
                    during the transition process is examined and different development models with respect to systems
                    analysis and design are discussed.

                    Keywords: Software Engineering, Agile Software Development, Systems Analysis and Design,
                    Systems Analyst Role


                    INTRODUCTION
                    Agile software development methods mainly aim at increasing software quality by fostering
                    customer collaboration and performing exhaustive testing (Cockburn, 2002; Highsmith, 2002).
                    The introduction of agile software development in general and of a specific agile method, for
                    example, Extreme Programming (Beck, 2000; Beck and Andres, 2005) into an organization is
                    accompanied with conceptual and organizational changes. For example, with Extreme Program-
                    ming all teammates listen to the customer stories, contribute to high-level design, and maintain
                    detailed designs during each iteration of development. Another example is the concept of whole
                    team, which means that all role holders are part of the development team, in contrast to an or-
                    ganizational structure composed of separate groups such as systems analysts, developers, and
                    quality assurance people.
                      The role of systems analysts, as well as other roles, receives a different meaning in the agile
                    software development environment. The change might pass smoothly in a one-team project in a
                    small company; however, the change becomes significant when agile-oriented software development
                    process is introduced into a large-scale project in a large organization in which many software teams
                    work for many years according to a traditional plan-driven software development process.
                                                         72
   82   83   84   85   86   87   88   89   90   91   92