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.