You are on page 1of 6

Scope Management in Agile Versus Traditional

Software Development Methods


Israr Ur Rehman, Sajid ullah, Abul Rauf, Arshad Ali Shahid
Department of Computer Science
National University of computer and Emerging Sciences
Islamabad, Pakistan

israr.rehman@gmail.com, sajidkhattak_1984@yahoo.com,
{a.rauf, arshad.ali}@nu.edu.pk
ABSTRACT
Scope management is among one of the most important
knowledge areas of software project management
which if not managed carefully can lead the projects
towards failure. A well defined and well managed
scope is very important for a qualitative, cost effective
and timely completion of the project. In this paper we
discussed the role and impact of the scope on two very
broadly accepted methodologies for software
development. The two methodologies adopt different
techniques for the development of software. How they
are different from each other and how they adopt and
manage the scope in there development process are
discussed. Moreover, the replacement of traditional
software development methods by agile software
development methods in terms of cost, resources and
time are also a part of this work.

Keywords
Scope Management, Agile Development Methods,
Traditional Development Methods.

INTRODUCTION
To develop software in software industry, the software
development team follows a strategy that consists of
processes methods and tools.

Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies
are not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, to republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
NSEC10, 04-OCT-2010, Rawalpindi, Pakistan Copyright 2010 ACM
978-1-4503-0026-1/10/10 ...$10.00.

This strategy is called software development method


[1]. In early 1960s there were a number of software
development models available based on this strategy
for development of software such as; waterfall model,
prototyping model, spiral model, incremental model
etc. Each of these models exhibits strengths and
weaknesses, but all having a series of generic phases in
common [1].All these models follow the traditional
approach for the development of software. At the
beginning, these models were accepted widely but later
on with the passage of time the software developers
realizes thatthere are some deficiencies evolve in each
of these traditional models. These models assume that
it is possible to have a perfect understanding of the
requirements from the scratch. But in software
development process, stakeholders often dont know
completely what they want and hence cant articulate
their requirements. Software developed with traditional
approaches rarely delivers what the customer wants
despite the complete list of requirements provided by
the customer [2].
To overcome the deficiencies of traditional method, a
new method was introduced called agile method [3].
This method is simple and faster than all other
traditional methods. Agile methodologies embrace
iterations. Small teams work together with stakeholders
to define quick prototypes, proof of concepts, or other
visual means to describe the problem to be solved. The
team defines the requirements for the iteration,
develops the code, defines and runs integrated test
scripts, and the users verify the results. Verification
occurs much earlier in the development process than it
would with traditional methods, allowing stakeholders
to fine-tune requirements while theyre still relatively
easy to change [3].

Scope management is one of the most important


knowledge areas in software development lifecycle
which have very important role in both traditional and
agile methods [4]. Now a days information technology
managers are under ever increasing pressure to deliver
results in the form of applications that derives
improvements to the bottom line and its is not possible
without the proper scope management in both
traditional and agile methods. Scope management helps
both these methods to prioritize the objectives and
goals of the projects [5].
The rest of the paper is organized as follows. In section
2 the related work is discussed. Traditional software
development methods are introduced in section 3.
Section 4 contains the agile software development
methods. The comparison of both traditional and agile
methods is discussed in section 5. Section 6, 7 and 8
consist of scope management, its role in traditional and
agile software development methods respectively.
Section 9 contains comparison. Conclusion is given in
section 10.

RELATED WORK
A lot of work has been carried out on both traditional
and agile software development methods, especially
traditional methods are under heavy considerations
from the last few decades. In contrast, agile methods
are still an open area of research because these methods
are known to be a novice technique adopted for
software development. Agility means quick adoptions
to the change of requirements and surrounding
environments. Conventional process is inonolithic and
fat which makes hard to change. Agile software process
is composed of a number of light weight processes
which have small unit of size [6]. The important idea is
that process design is based on time rather than volume.
Therefore, large-volume of development should be
divided into multiple, say, versions so that they can be
iteratively and/or concurrently developed [11].
In [2], [3], [7], [12], [13] the reasons for adopting the
agile methods over the traditional methods are
explained. Also [6], [7] describe the advantages of the
agile software development methods over the
traditional software development methods for the
successful completion of the project. Scope
management is one of the most important knowledge
areas and has a very profound impact on both of these
software development methods, but work done on
scope management in both of these methods is not as
much as it should be.

TRADITIONAL DEVELOPMENT
METHODS
According to [6] traditional software development
methods are plan driven and they used command and
control approach to project development. By using
traditional methods complex software system can be
developed in a sequential phase wise manner where all
the requirements are gathered at the beginning. Software
design is completed next and finally master design is
implemented to produce high quality software.
Traditional software development methods involve very
disciplined and deliberate planning and control methods
[15]. With this approach, distinct project life cycle
phases are easily recognizable. Tasks are completed one
after another in an orderly sequence, requiring a
significant part of the project to be planned up front. For
example, in a construction project, the team needs to
determine requirements, design and plan for the entire
building, and not just incremental components, in order
to understand the full scope of the effort. Under these
traditional approaches the project managers are
responsible to make development plans. Because of the
sequential development of the software the traditional
models have some limitations. One of the most
important of these limitations is that these models
assume that all project requirements must be gathered at
the beginning of the project [15]. When a large and
complex system is going to develop it is not possible to
gather all the requirements before launching the project.
Thus changes will be made in the requirements during
the later phases of the development process which is not
supported by the traditional models. Such circumstances
definitely affect the project scope and the project will
require more time, more cost for the sake of good
quality.

Analysis
Design
Figure 1.Traditional software development model.
Different phases of traditional software development
methods are described in Figure 1. Traditional software
development methods follow the traditional software

development model. The whole work is carried out


sequentially and in different phases. All the
requirements will be gathered and analyzed in analysis
phase followed by the design phase in which complete
design of the system is developed based on the
requirement analysis phase. After completing the design
phase the coding phase program the system and then
the testing of the system is performed to make sure that
whether the developed software meets the requirements
or not. After successful completion of all these phases, it
is handed over to the customer.

AGILE DEVELOPMENT METHODS


In order to meet the growing needs of todays business a
new model was introduced for software development in
late 80s called the agile method. This method was
introduced keeping in view the limitations of the
existing traditional methods. This method adopts the
incremental and iterative approach to improve the
productivity and efficiency of the development process
[6]. Agile method not only avoid requirement gathering
at the beginning of the project but also it make possible
the customers involvement throughout the development
process [14]. Thus the involvement of the customer in
the development process helps the project team to
produce right and quality product. The work is
accomplished through a series of sessions where the
team writes code, then tests working modules of the
system and repeats the process. There is minimal
documentation as the team relies almost exclusively on
informal internal communication.

model have the ability to adopt the changes and


iteratively update any other phase of the development
model. The output of the agile software development
model is in the form of small incremental release taking
into consideration the changing requirements of the
system. If any change is required in the system, is
updated in the next iteration. The first priority of this
model is to satisfy the customers by fulfilling their
needs during any phase of the development process.

AGILE VERSUS TRADITIONAL


METHODS
Both agile and traditional methods are introduced for
the enhancement of the software development process
and to make sure the delivery of the product within the
specified time and cost. Both of these methods follow
their own models for the development of the software.
The success of plan-driven development is
characterized by extensive design, longer increments in
development. Refactoring, in which the internal
structure of the existing code is changed without
changing the external behavior of the system, is
considered expensive in plan-driven methods. On the
other hand, agile methodologies are considered to be
successful in development environments characterizing
simple design, short increments, and inexpensive
refactoring [17].

Analysis
Figure 3. Software development methods.

Figure 2. Agile software development model.

Design

The agile development model has different phases


shown in figure 2. This model is followed by agile
software development methods. Each phase is iterative
and incremental nature i.e. each phase of the agile

A g ile M e t h o d s

Figure 3 shows a comparison of the both methods.


Agile methods are incremental, cooperative straight
forward and adoptive by nature and when properly
managed lead to the simple and fast and incremental
release of the software product. On the other hand
traditional mothods are sequential, plan-driven and not

Code

adaptive; therefore the output of traditional methods


results into a complex software system.

SCOPE MANAGEMENT
Scope is one of the most important knowledge area in
software project management defined by different
processes that limit and control the work included in a
project. Scope management mainly consists of five
processes [5]. Scope in software projects is defined in
the form of specification documents which include all
the work involved in creating the product of the project
and the processes used to create the product. Thus
scope management includes the processes involved in
defining and controlling what to include or not in the
project. Each process include in the scope has a set of
input and a set of output. Each process also has a set of
tools and techniques used to convert input into output
[4], [5].
Scope management also defines the baseline for
performance measurements and for controlling the
project and communicating clear responsibilities [8].
Thus it defines the work break down structure for the
project which is an outcome oriented analysis of the
work involved in a project that defines the total scope
of the project. It is a foundation document in project
management because it provides the basis for planning
and managing the project schedule, budget and requests
for any changes or deviations from plans. The WBS is
developed in the form of an inverted tree structure,
organized by objectives.

handling scope creep different tools and techniques are


used which take the project out of date and out of
budget.
Traditional scope develops work breakdown structure
(WBS) showing goals, major functions and sub
functions [5]. During the occurrence of change in the
goals of the scope, it is very hard to adopt this change
because it will need to review the whole WBS, which
definitely affects the cost resources, quality and timely
completion of the project. Therefore scope needs to be
defined very carefully for the traditional software
development methods to avoid project failure.

SCOPE IN AGILE METHODS


Scope management is very important factor in adopting
agile software development methods. Agile software
development project scope is based on high level
requirements [9]. Also agile software projects
welcomes the fresh ideas at later stages of software
development process therefore volatility in the project
scope are accepted. The development teams are ready
at any stage of the development process to embrace
changes in the project scope. The scope in the agile
software development methods is evolved in agile
manner because it accept and adopt the changes
iteratively and incrementally. Scope in agile
development is verified and controlled by the
customers who are responsible for accepting or
rejecting the features that are completed during each of
the iteration [10].

SCOPE IN TRADITIONAL
METHODS

Agile software development methods are also


welcomed in global software development. Global
software development needs incremental and
component based software development in distributed
sites across the country or across the world. Agile
software development methods helps the team in
distributed environment to not only manage and control
the scope of their project but also make possible the
within time and cost delivery of the project [16].

In Traditional software development methods the scope


is defined as a complete requirement specification of
the software project. It contains the detailed
requirements at the start of the project which are going
to be needed in the later phases of the development
process [8]. Generating such a comprehensive
documents takes a lot of time and effort. It also does
not support the changes occurred in later phases of the
development process. Thus most often uncontrolled
changes occurred that leads to scope creep [10]. For

One of the very important aspects of the scope


management on agile software development is
managing the scope creep [10]. Changes occur more
often during the development process and there is the
possibility of unwanted changes to occur which can
affect the whole project but scope management
techniques in agile software development manage these
unwanted changes therefore there is almost no chance
of unwanted changes to occur during the agile
development. In agile software development no work

Scope management is needed within a project because


of a number of reasons evolved including unclear and
changing requirements, unavailability of the resources,
changing environments and inflexibility etc. Thus
without scope management a project will definitely go
towards failure.

break down structure is created. Instead an iteration


plan serves to divide the work into small work
packages.

COMPARASION
Scope management in agile methods gives very
prominent results as compare to traditional methods as
shown in figure 4. Scope management in agile
methods require high level requirement and also accept
changes and reduce unwanted changes and also follow
the iteration plan. These properties of scope
management guarantee the on time and within budget
and good quality delivery of software product. On other
hand Scope managed in traditional methods require
detail requirements which results in comprehensive
documentation.

agile and traditional software development methods. It


defines the boundaries for the whole development
process. Both agile and traditional methodologies
accepted scope management as a basic knowledge area
for the development process. However agile software
development methods has got more advantage for the
successful completion of the project as compared to
traditional software development methods because of
their iterative, incremental nature, adoptive, and
cooperative. These properties can be properly managed
by using scope management processes in order to
complete the project within the specified resources, time
and budget.

REFERENCES
[1]

[2]
[3]
[4]
[5]
[6]
[7]
[8]

[9]

Figure 4. Shows comparasion of scope management


in both agile and traditional methods.
Also scope management in traditional development
methods results in scope creep and require work break
down structure (WBS). Scope creep take the project out
of budget and also out of time because of the unwanted
changes that scope creep introduce. WBS results into
the complex structure of all the activities which will be
performed through out the development process.

[10]
[11]

[12]

CONCLUSION
Scope management is a major factor for the successful
completion of the software development process in both

[13]

Bandinelli, S. et al., Modeling and Improving an


Industrial Software Process, IEEE Transaction on
Software Engineering, vol. 21, no. 5, pp.440-454,
May 1995.
Pekka Abrahamsson, Outi Salo, Jussi Ronkainen,
Juhani Warsta, Agile Software Development
Methods, VTT Publications, 478, ESPOO 2002.
An Introduction to Agile Software Development,
Serena, June 2007.
Avneet Mathur, Scope Management, The
PROJECT PERFECT White Paper Collection, 2007.
Project Scope Management, Management for
Development Series,2008. http://www.pm4dev.com.
Victor Szalvay, An Introduction to Agile Software
Development, Danube Technologies, November
2004.
Kathleen B. Hass, The Blending of Traditional and
Agile Project Management, Published in PM World
Today, Vol. 09, May 2007.
Jeff Patton, Unfixing the Fixed Scope Project: Using
Agile Methodologies to Create Flexibility in Project
Scope, Proceedings of the Agile Development
Conference, 2003.
Carol Dekkers, Pekka Forselius, Increase ICT
Project Success with Concrete Scope Management,
Conference on Software Engineering and Advanced
Applications, (SEAA 2007).
Abramovici, Adrian, Controlling Scope Creep, PM
Network, January 2000.
Outi Salo, Improving Software Process in Agile
Software Development Projects: Results from Two
XP Case Studies, Proceedings of the 30th
EUROMICRO Conference, 2004.
Mike Cohn, Ken Schwaber, The Need for Agile
Project Management, Agile Times, Vol. 1, January
2003.
Cockburn, Alistair Agile Software Development,
Addison Wesley Longman, 2001.

[14]

[15]

B. Boehm and R. Turner, Observations on Balancing


Discipline and Agility presented at Agile
Development Conference 2003, Salt Lake City, Utah,
and archived at
http://agiledevelopmentconference.com/2003/files/P4
Paper.pdf
J. Highsmith, Adaptive Software Development: A
Collaborative Approach to Managing Complex
Systems. New York: Dorset House, 2000.

[16]

Korkala M. and P. Abrahamsson Communication in


Distributed Agile Development: A Case Study In the
Proceedings of the 33rd EUROMICRO Conference
on Software Engineering and Advanced Applications,
2831 Aug. 2007, pp.203210.

[17]

Jeff Patton Unfixing the Fixed Scope Project: Using


Agile Methodologies to Create Flexibility in Project
Scope Proceedings of the Agile Development
Conference, 2003.

You might also like