Page 88 -
P. 88

TRANSITION  TO  AGILE  SOFTWARE  DEVELOPMENT  IN  A  LARGE-SCALE  PROJECT     73
                      Review of the most recent literature on agile software development reveals that the research
                    that deals specifically with the design-related activities carried out in agile software development
                    environments is very limited. The existing literature that does address design-related aspects of
                    agile software development deals mainly with the incorporation of a specific design method in an
                    agile project and with the effectiveness of the agile approach with respect to the design activity.
                    For example, Patton (2002) describes how user-centered design in agile software development
                    increases success, helps to meet end-user expectations sooner and supports the development of
                    a usable software; Feldman (2003) describes how design by contract is synergistic with several
                    practices of Extreme Programming; Macias, Holcombe, and Gheorghe (2003) illustrate how
                    Extreme Programming reduces the time dedicated to specification and design—7 percent in an
                    Extreme Programming project vs. 14 percent in a plan-driven project. In addition, literature exists
                    on refactoring, test-driven development, agile modeling, and other agile practices that are closely
                    attached to design in agile software development processes.
                      This chapter presents one aspect of a research project we conducted for the past three years.
                    Specifically, it examines the transition from a plan-driven process to an agile one in a large-scale
                    software project using the perspective of systems analysis and design. The project is conducted in
                    the army, which can be characterized as a large and hard-to-change organization with respect to
                    fixed regulations, project approval, management methods, organizational structure, and culture.
                    In previous works we presented results with respect to the specifications and testing artifacts
                    (Dubinsky et al., 2005, 2006; Talby et al., 2006). In this chapter, we enrich with further research
                    data and elaborate with data analysis about the role of the systems analyst.
                      The main contribution of this research is expressed in the field-based evidence that it provides
                    with respect to the role and the functionality of systems analysis and design in an agile large-
                    scale software project in a large organization. Thus, we address the need for increasing the body
                    of knowledge that deals with agile practices (Erickson, Lyytinen, and Siau, 2005) by adding the
                    topic from the systems analysis and design perspective.

                    THE TRANSITION PROCESS

                    The in-transition software project on which this chapter focuses has been developed by a dozen
                    small teams of skilled systems engineers, systems analysts, developers, and testers, organized in a
                    hierarchical structure of small teams. The project develops large-scale, enterprise-critical software,
                    intended to be used by a large and varied user population.
                      As aforementioned, from an organizational perspective, the army is known as a large and
                    hard-to-change organization. However, in our case of software development, when the project
                    leadership decided to change the software development method to cope with the challenges that
                    the project set, the unit leadership supported the decided-upon transition as a means to improve
                    software process and quality.
                      After several months during which the fitness of different development methods to the project
                    had been investigated, Extreme Programming was selected to be implemented and a pilot team of
                    fifteen people was established and started working according to this agile method. All of the other
                    teams on the project continued working according to the previous plan-driven method.
                      It is important to note that prior to the transition, tools and procedures were developed and
                    used by the people in this software unit for years. Though it was accepted that agile develop-
                    ment can improve the process, it was also agreed that there are tools and procedures that will
                    not be changed at the current stage, either because they are good practices or because of time
                    constraints.
   83   84   85   86   87   88   89   90   91   92   93