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