You are on page 1of 13

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266742256

A Systematic Study on Agile Software Development Methodlogies and


Practices

Article · January 2014

CITATIONS READS

25 1,405

1 author:

Harleen Flora
GNA University
5 PUBLICATIONS   133 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Harleen Flora on 13 October 2014.

The user has requested enhancement of the downloaded file.


Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

A Systematic Study on Agile Software


Development Methodologies and Practices
 
Harleen K. Flora1, Swati V. Chande2
1
Research Scholar, The IIS University, Jaipur, India
2
 
Professor, International School of Informatics and Management, Jaipur, India

 
Abstract - Software engineering techniques have been time and sometimes failing to deliver on requirements due
employed for many years to create software products. The to the Big Design Up Front approach.
selections of appropriate software development methodologies 1.1 Agile Software Development
for a given project, and tailoring the methodologies to a Agile Development Model is based on iterative and
specific requirement have been a challenge since the
establishment of software development as a discipline. In the
incremental development approach in a highly collaborative
late 1990’s, the general trend in software development manner to produce high quality software in a cost effective
techniques has changed from traditional waterfall approaches and timely manner which allows the project to adapt the
to more iterative incremental development approaches with changes quickly. Agile methodologies stresses on
different combination of old concepts, new concepts, and delivering the smallest working piece of functionality as
metamorphosed old concepts. Nowadays, the aim of most early as possible and constantly improving it and adding
software companies is to produce software in short time additional functionality throughout the project lifecycle.
period with minimal costs, and within unstable, changing Agile helps in minimizing and mitigating the overall risk,
environments that inspired the birth of Agile. and allows the project to adapt to changes quickly and does
Agile software development practice have caught the attention
of software development teams and software engineering
not require a requirements freeze upfront unlike waterfall
researchers worldwide during the last decade but scientific model. Work is carried out in iterations, which typically last
research and published outcomes still remains quite scarce. one to six weeks. The industry mostly opts for agile
Every agile approach has its own development cycle that development process as it is highly result oriented. Agile
results in technological, managerial and environmental methods emphasize effective communication over written
changes in the software companies. This paper explains the documents. The Project requirements are well documented
values and principles of ten agile practices that are becoming upfront. Then, depending upon business priority, these
more and more dominant in the software development features are assigned to releases, which are tied to
industry. Agile processes are not always beneficial, they have iterations. Agile methods emphasize working software as
some limitations as well, and this paper also discusses the
advantages and disadvantages of Agile processes.
the primary measure of progress. The key characteristics of
the agile methodology are delivering frequently,
Keywords - Agile Software Development, Agile Methodologies, incremental and iterative approach, less defects, continuous
AUP, AM, AUP, DSDM, FDD, XP, Scrum, Lean, Kanban, testing and integration, collaborative approach and
Crystal. maximum ROI.
Although, there are many success stories of using Agile in
I. INTRODUCTION software development project in last decade but knowledge
The Waterfall Model is a sequential development approach, of implementing these practices in a particular project is
in which development flows downwards through the phases very scared. Therefore, this publication aims to
of requirements analysis, design, implementation, testing systematically review the existing literature on agile
and maintenance. software development techniques and to understand the
In waterfall model, project is divided into sequential features, benefits and challenges of using various agile
phases; emphasis is on planning, time schedules, target techniques. This paper also provides the benefits and
dates, budgets and implementation of an entire system at limitations of Agile Software Development and
one time. Tight control is maintained over the life of the recommends when to use them.
project via extensive written documentation, formal
reviews, and approval/signoff by the user and information 1.2 Agile Manifesto
technology management occurring at the end of most In recent years, with the rising competence of software
phases before beginning the next phase. market, researchers are seeking more flexible methods that
The waterfall methodology normally doesn’t allow can be used to adjust to dynamic situations where software
complete moving on the next stage unless the previous system requirements are changing over time. In 2001, the
stage is fully completed and verified however there are few Agile manifesto [1], established the approach now known
advantages and pitfalls in this methodology. The Waterfall as agile software development process created by 17
model is a traditional engineering approach applied to influential figures, a guiding force for Agile practitioners
software engineering. It has been widely blamed for several which details four core values for enabling high-
large-scale government projects running over budget, over performance, efficiency and outputs:

www.ijcsit.com 3626
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

1. Individuals and their interactions, over processes and 2.5 Adaptive Software Development (ASD)
tools. 2.6 Feature Driven Development (FDD)
2. Delivering working software, over comprehensive 2.7 Dynamic System Development Method (DSDM)
documentation. 2.8 Agile Modeling (AM)
3. Customer collaboration, over contract negotiation. 2.9 Crystal
4. Responding to change, over following a plan. 2.10 Agile Unified Process (AUP)
The items on the right have value, however, the items on
the left define the agile philosophy. Exploring each of these 2.1 EXTREME PROGRAMMING (XP)
values will aid in gaining knowledge of the agile process A. Background
philosophy while exposing how applying the philosophy to It was introduced in 1998 by Kent Beck, Ron Jeffries, Ward
defined methods will enhance software development Cunnigham based on experience from C3 project [3].
aligning it with today’s volatile markets. B. Philosophy and Scope
1.3 Agile Principles Extreme Programming (XP) is a well-known and a light
The Agile Alliance also documented the principles they weight discipline of software development that focuses on
follow that underlie their manifesto [2]. As such the agile engineering practices. XP aims at enabling successful
methods are principle-based, rather than rule-based. Rather software development despite unclear or constantly
than have predefined rules regarding the roles, changing software requirements. It is a system of practices
relationships, and activities, the team and manager are which is intended to improve software quality and quickly
guided by these principles: addresses the changing customer requirements to meet
1. Our highest priority is to satisfy the customer through business needs. It consists of gathering informal
early and continuous delivery of valuable software. requirements from on-site customers, organizing teams of
2. Welcome changing requirements, even late in pair programmers, developing simple designs, continuous
development. Agile processes harness change for the refactoring, continuous integration and testing; and
customer's competitive advantage. advocates frequent releases in short development cycles
3. Deliver working software frequently, from a couple of that improves productivity as well introduces checkpoints
weeks to a couple of months, with a preference to the where new customer requirements can be embraced [4,5,6].
shorter timescale. XP is best suited for projects that require collocated teams
4. Business people and developers must work together of small to medium size team. On the project side XP is
daily throughout the project. meant for projects where the requirements are unstable and
5. Build projects around motivated individuals. Give them unpredictable.
the environment and support they need, and trust them C. Features and Benefits
to get the job done. Team Size: 2 to 12 members and preferably co-located
6. The most efficient and effective method of conveying Iteration Length: Usually 1 to 3 weeks.
information to and within a development team is face- XP Phases: It has 6 phases: Exploration (write story for
to-face conversation. current iteration), Iteration Planning (Prioritize Stories,
7. Working software is the primary measure of progress. effort and resource estimates), Iteration to release
8. Agile processes promote sustainable development. The (Analysis, design, coding, testing), Production (Rigors
sponsors, developers, and users should be able to testing), Maintenance (Customer supports, release for
maintain a constant pace indefinitely. customer use), Death Phase (No more requirements).
9. Continuous attention to technical excellence and good XP Values: It is based on 4 values:
design enhances agility. a. Communication: It is definitely a key factor to the
10. Simplicity, the art of maximizing the amount of work success of any project as most projects fail because of
not done is essential. poor communication. It is accomplished by
11. The best architectures, requirements, and designs collaborative workspaces, co-location of development
emerge from self-organizing teams. and business space, paired development, frequently
12. At regular intervals, the team reflects on how to changing pair partners, frequently changing
become more effective, then tunes and adjusts its assignments, public status displays, short stand-up
behavior accordingly. meetings and unit tests, demos and oral
communication, not documentation.
II. AGILE METHODOLOGIES b. Simplicity: It means to develop the simplest product
Several Agile techniques have been proposed and used by that meets the customer’s needs. It encourages
researchers in difference domains. This section identifies delivering the simplest functionality that meets
some of the well-known existing agile software business needs, designing the simplest software that
development methods and their objectives. Following supports the needed functionality, building for today
various Agile methodologies share common principles, but and not for tomorrow and writing code that is easy to
differ in practices: read, understands, maintains and modify.
2.1 Extreme Programming (XP) c. Feedback: It means that developers must obtain and
2.2 Scrum value feedback from the customer, from the system,
2.3 Lean Software Development (LSD) and from each other. It is provided by aggressive
2.4 Kanban iterative and incremental releases, frequent releases to

www.ijcsit.com 3627
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

end users, co-location with end users, automated unit D. XP Roles and Responsibilities
tests, automated functional tests. XP Coach: Guides team to follow XP process.
d. Courage: It means to be prepared to make hard
decisions that support other principles and practices. XP Customer: Writes stories, functional tests and sets
Courage is required to do the right thing in the face of implementation priority.
opposition and do the practices required to succeed. XP Administrator: Setup programmer environment and act
as local admin.
XP Activities: Coding, Testing, Listening, Designing XP Programmer: Writes tests and code.
XP Practices: It is based on following 12 practices: XP Tracker: Tracks iterations such as program/ project
a. Planning Game: It is collaboration between a customer manager, and provides gives feedback on accuracy of
and the developers where planning for the upcoming estimates and traces progress of iterations.
iteration is done, user stories are provided by the XP Tester: Helps customer write functional tests and runs
customer, technical persons determine schedules, functional test and maintains testing tools.
estimates, costs, etc. XP Consultant: An external member who guides the team
b. Small Releases: It supports the planning game. Small to solve problems. Manager makes decisions.
releases are in terms of functionality and less E. Limitations
functionality means releases happen more frequently.  XP is not suitable for large, difficult or complex
c. System Metaphor: XP teams develop a common vision projects.
of how the program works which is called metaphor. It  It requires great amount of coordination between the
is the oral architecture of the system which describes programmers while doing pair programming and any
how the program works. small conflict may damage the objective of collective
d. Simple Design: Do as little as needed and provide code ownership and hence impact the iterations.
simplest possible design to get job done. The  Development of ‘metaphor’ is required to be shared
requirements will change tomorrow, so only do what’s within team carefully to ensure the common
needed to meet today’s requirements. understanding of the terminology.
e. Test Driven Development: XP teams focus on  Pair programming is a very important practice in XP.
validation of the software at all times. Programmers However, it cannot be applied to one-developer-
develop software by writing tests first, and then projects. Customer collaboration is not very strong.
software that fulfills the requirements reflected in the Testing and code development is done by the same
tests. Customers provide acceptance tests that enable person. All the possible problems may not be found
them to be certain that the features they need are because the developer tests from the same perception
provided. the product is built.
f. Refactoring: XP teams improve the design of the 2.2 SCRUM
system throughout the entire development. This is done A. Background
by refactoring out any duplicate code generated in a It was first described by Jeff Sutherland, Ken Schwaber,
coding session. Refactoring is simplified due to Mike Beedle in 1996 [7]. It focuses on Agile project
extensive use of automated test cases. management technique rather than development aspect of
g. Continuous Integration: New features and changes are projects. Scrum is more focused on managerial skills of
worked into the system immediately. XP teams focus both managers and developers. Thus, theoretically, scrum
on validation of software at all times. Programmers can be applied to any industry.
develop softwares by writing tests first, and then code
that fulfills the requirements reflected in the tests. And B. Philosophy and Scope
customers provide acceptance tests that enable them to Term ‘Scrum’ is taken from the game ‘Rugby’ where
be certain that features they need are provided. player passes the ball in steps to hit the goal, which is
h. Collective Code Ownership: It idea that all developers similar as moving project in iterations to meet the core
own all of the code and enables refactoring. objective. Scrum is iterative, incremental process to
i. Pair Programming: XP Programmers write all develop any project/product or managing any work. It is a
production in pairs, two programmers working together light weight software development process consisting of
at one machine. implementing a small number of customer requirements in
j. Coding Standards: All code should look the same, it two to four week sprint cycles. The continuous integration
should not possible to determine who coded what using small sprint reduces the risks and help gaining client
based on the code itself confidence. Daily stand-up meeting is very powerful
k. On site Customer: It acts to “steer” the project as approach to manage and drive the sprint and hence project
customer provides quick and continuous feedback to [8].
the development team. Teams should be small comprising about seven to ten
l. 40 Hour Week: The work week should be limited to 40 people. It can be scaled to larger numbers. The
hours. Regular overtime is a symptom of a problem methodology is aimed at project management in changing
and not a long term solution. environments.

www.ijcsit.com 3628
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

C. Features and Benefits members, a minor lack in coordination/ communication


Team size: Scrum team is usually 5 to 7 members may cause major impact in the sprint.
Iteration length: sprint length is 2-4 weeks  Scrum does not explicitly address the issue of
Phases of Scrum: Pre-Game (Preparation of product criticality.
backlog list, effort assessment, high level architectural  Customer is offsite and tight customer collaboration is
design); Development (Sprints, analysis, design, delivery) not possible. Also improved team dynamics enabled by
and Post-Game (System testing, integration testing, Scrum are not available in one-developer project.
documentation releases).
Values: Scrum strongly supports the values of Respect, 2.3 LEAN SOFTWARE DEVELOPMENT (LSD)
Commitment, Focus, Courage, and Openness. A. Background
Techniques: Team creation, Backlog creation, Project It was adapted from Lean manufacturing of TOYOTA
segmentation, Scrum meetings, Burn down charts. production system and Bob Charette’s Lean development in
4 Meetings: Sprint planning meeting, daily scrum meeting, the 1980s. Lean Software Development Poppendieck &
sprint review meeting and sprint retrospective meeting. Poppendieck in 2003 [9]. It focuses on the project
management aspects of a project and specifies no technical
Scrum Artifacts: practices; it integrates well with other agile methodologies,
a. Product backlog: It is the complete list of requirements such as XP, that focus more on the technical aspects of
– including bugs, enhancements requests, and usability software development.
and performance improvements – that are not currently B. Philosophy and Scope
in the product release. Lean Software Development (LSD) is an iterative
b. Sprint backlog: It is the list of backlog items assigned methodology that focuses on reducing waste and optimizing
to a sprint, but not yet completed in common practice; the entire process to achieve the maximum possible gain.
no sprint backlog item should take more than two days Lean has a rich history in manufacturing and has gained
to complete. The sprint backlog helps the team predict popularity in software development in recent years. It
the level of effort required to complete a sprint. integrates well with the concept of six sigma [9].
c. Burn down chart: This chart is updated every day, Any software development project where there is need for
shows the work remaining within the sprint. The burn radical change. Focused at company CEOs. No team size
down chart is used to track sprint progress and to specifications because LD is more of a software
decide when items must be removed from the sprint development management philosophy than a methodology.
backlog and deferred to the next sprint. C. Features and Benefits
d. Release backlog: Requirements pulled from the Team Size and Iteration Length: Since Lean Software
product backlog and identified and prioritized for an Development is more of a management philosophy than a
upcoming release. The release backlog contains more development process, team size and iteration lengths are not
details about the requirement and low level estimate directly addressed.
which are usually estimated by the team performing the Principles: Lean Software Development promotes seven
work. Lean principles. The methodology revolves around these
Scrum fits well into small projects. Some work releases are principles, and all other aspects of Lean are designed to
created and requirements can be prioritized in a well- reinforce them. The seven principles are:
structured manner. a. Eliminate Waste: Eliminate anything that does not add
customer value.
D. Roles and Responsibilities b. Build Quality In: Validate and re-validate all
Scrum Master: Responsible to facilitate the communication assumptions throughout the process. If a metric or
between product owner and team and ensures Scrum practice no longer has value, discard it.
practices and values are followed up to the end of the c. Create Knowledge: Use short iterative cycles to
project. provide quick, constant feedback to ensure the right
Product Owner: Responsible for the success of the product things are being focused on.
and owns product backlog and manages the project and d. Defer Commitment: Don't make decisions until enough
controls and makes visible the Product Backlog list. is known to make the decision—a sound understanding
Scrum Team: Responsible to create a shippable of the problem and the trade-offs of potential solutions
project/product based on client requirement in incremental is required.
ways and has authority to decide actions and is self– e. Deliver Fast: Minimize the time it takes to identify a
organizing so as to complete a Sprint. business problem and deliver a system or feature that
Customer: Participates in product backlog items. addresses it.
Management: Makes final decision and participates in f. Respect People: Empower the team to succeed.
setting of goals and requirements. g. Optimize the Whole: Use cross-functional teams to
E. Limitations keep from missing important, possibly critical aspects
 Usually it works well with small team therefore of the problem and of the system designed to solve it.
growing team may require extended coordination. Usually only customer provides business requirement to the
 The project is highly dependent on cohesiveness of the team and play vital role. The prime objective is to eliminate
team and the individual commitments of the team the waste and optimize the entire process to achieve the

www.ijcsit.com 3629
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

maximum possible gain and it integrates well with the 2.5 ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
concept of six sigma. A. Background
It was described by Jim Highsmith and Sam Bayer in 2000
D. Roles and Responsibilities [10]. ASD is part of rapid application development and
No specific mention of roles and responsibilities except that focuses on rapid creation and evolution of software
LD is aimed at CEOs before it can be implemented in systems.
the organization. B. Philosophy and Scope
E. Limitations ASD is a method for creating and developing software
 The project is highly dependent on cohesiveness and systems. It offers solutions for the development of large and
the individual commitments of the team members complex systems by incremental and iterative development,
therefore team building is critical factor. with constant prototyping. It involves product initiation,
 A missing or inappropriate involvement from adaptive cycle planning, concurrent feature development,
appropriate business analyst could result in scope quality review, and final quality assurance and release. It
creep. relies on team members’ work at peer level. Usually
2.4 KANBAN customer doesn’t have all the requirements in the beginning
A. Background and act as a member with the concept of progressive
The Kanban method as formulated by David J. Anderson. It elaboration.
focuses on continuous flow of work instead of sprinting; It is essentially a management philosophy for agile projects
starting and stopping the delivery of work every 2 to 4 and therefore limited to project management activities. The
weeks. limits of this methodology when it comes to team sizes
B. Philosophy and Scope depends on the size of the project, but like any other agile
Kanban is taken from Japanese term which means methodology the level of agility decreases as the team gets
‘signboard’. Kanban is a visual process management system larger. The methodologies of communication determine the
that tells what to produce, when to produce it, and how rigor in a project and the support for distributed
much to produce. It is a method for managing the creation development.
of products with an emphasis on continual delivery while C. Features and Benefits
not overburdening the development team. Phases: Speculate (initiation and planning), Collaborate
Like Scrum, Kanban is a process designed to help teams (concurrent feature development) and Learn (quality
work together more effectively. It uses the concept of review).
‘signboard’ using workflow status (such as TBD, WIP,
Done) that provides a comprehensive view of the project Lifecycle Characteristics: Mission focused, Time boxed,
and promotes the concept of ‘wide communication’. It Risk driven, iterative, Change tolerant, Feature based.
advises to reduce the stock level with an objective to reduce D. Roles and Responsibilities
the overhead cost and believes in JIT. Executive Sponsor: Person with overall responsibility for
C. Features and Benefits the product.
Kanban Principles: The 6 principles of Kanban are Participants: in joint application development sessions
Visualize the work flow, Limit WIP (Work in Progress), Developer: programmer.
Manage the work flow, Make processes/policies explicit, Customer: User
Implement feedback loops, Improve collaboratively. 2.6 FEATURE DRIVEN DEVELOPMENT (FDD)
A. Background
Kanban Practices: Start with what you do now, Agree to It arose in the late 1999 from collaboration between Jeff
pursue incremental, evolutionary change, Respect the DeLuca and Peter Coad and was later described by Palmer
current processes, roles, responsibilities & job titles, and and Felsing in 2002 [11, 12]. It focuses on the domain
Encourage acts of leadership at all levels. model, there are five activities: Develop an overall model,
D. Roles and Responsibilities Build a list of features, Plan by feature, Design by feature
Kanban does not prescribe any roles. It depends on and Build by feature.
company and team to decide. Kanban recommends B. Philosophy and Scope
minimizing the cycle time, so if adding a role helps FDD focuses on the design and building phases,
minimize the cycle time, the role can be added and if it emphasizes quality aspects throughout the process and
makes the process slower, then the role should not be there. includes frequent and tangible deliveries, along with
Also, if the cost of the role is higher than the value of accurate monitoring of the progress of the project. It is
improved cycle time, then it’s unnecessary overhead. simple to understand but powerful approach to build the
E. Limitations product or solutions [13].
 A small breakdown in Kanban system’s process can FDD is limited to small to medium sized teams (4 - 20
result in entire line shutting down and recovery people). The methodology deals with uncertain
requires an additional effort. requirements and center on Object Oriented modeling.
 The throughput of the Kanban system is not managed C. Features and Benefits
instead it comes as a result of controlled WIP and Team size: Team size varies depending on the complexity
known cycle time. of the feature at hand. DeLuca stresses the importance of
premium people, especially modeling experts.

www.ijcsit.com 3630
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

Iteration length: Up to two weeks. B. Philosophy and Scope


Phases: The five phases are Develop overall model; Build DSDM is an iterative and incremental methodology that
the Feature, Plan by Feature, Design by Feature and Build combines the project and product management life cycle
by Feature. into one best process. It was developed to fill in some of the
Practices: Domain Object Modeling, Developing by gaps in the RAD method by providing a framework which
Feature, Individual Class (Code) Ownership, Feature takes into account the entire development cycle. It is a
Teams, Inspections, Configuration Management, Regular proven framework for agile project management and
Builds, Visibility of progress and results delivery, helping to deliver results quickly and effectively
Activities: Develop Overall Model, Build Feature List, Plan as it concentrates on strategic goals and incremental
By Feature, Design By Feature, Build By Feature, delivery of real business benefits while keeping control of
Milestones. time, cost, risk and quality.
Values: A system for building systems is necessary in order DSDM is not suitable for all projects. In particular, systems
to scale to larger projects, A simple, well-defined process that are real-time, safety critical, or have well defined
works best, Process steps should be logical and their worth requirements are not suited to the use of DSDM. DSDM is
immediately obvious to each team member, Process pride especially suited to projects with changing requirements. It
can keep the real work from happening, Good processes is critical that these requirements be capable of being
move to the background so team members can focus on prioritized.
results, Short, iterative, feature-driven life cycle are best.
C. Features and Benefits
D. Roles and Responsibilities Team Size and Iteration Length: DSDM is not so much a
Project Manager: Responsible for all administrative aspects method as it is a framework. Because of DSDM’s
of the project, including the financial and reporting ones. framework nature, it does not specifically address team size
Chief Architect: Responsible for the overall design of the and exact iteration lengths. Team size varies from two to
system, including running all design sessions, code reviews, six people but there may be many teams in a project
and technology decisions. Phases: The DSDM lifecycle has six stages: Pre-project,
Development Manager: On the hook for the daily Feasibility Study, Business Study, Functional Model
development activities. Coordinating the development team Iteration, Design and Build Iteration, Implementation, and
and their activities, and dealing with resource issues. Post-project.
Chief Programmer: A senior developer involved in on- Principles: DSDM relies on nine principles: active user
going design and development activities, and is assigned to involvement, teams must be empowered to make their own
be responsible for one or more Feature Sets. decisions, frequent delivery of releases is more important
Class Owner: A developer who works under the direction than maximizing quality, the primary criteria for
of a Chief Programmer to design, code, test, and document deliverables is meeting the business needs, iterative
features as they are implemented. development is essential to reach a correct solution, any
Domain Expert: Any business related stakeholder who can change during development can be reversed, the most high
define required features that the system should provide. level requirements should be unchangeable, testing shall
These would include clients, users, and various analysts; occur throughout the lifecycle of the project, all
anyone who has knowledge of how the business works that stakeholders must cooperate and communicate.
could impact the system. Techniques: Time boxing, MoSCoW, Prototyping, Testing,
Tester: Responsible for verifying that each feature performs Workshop, and Modelling. MoSCoW is famous
as defined. prioritization technique, it indicates ‘Must have’, ‘Should
Deploy Manager: Deals with not only the actual have’, ‘Could have’ and ‘Would nice to have’ while
deployment of code to various environments, but also the prioritizing the features.
definition and/or conversion of data from one format to This is heavier than XP and Scrum. It provides a technique-
another. independent process and is flexible in terms of requirement
Technical Writer: Responsible for creating and maintaining evolution. It is efficient in terms of budget and time.
all the online and printed documentation that a user will
need for the final system. D. Roles and Responsibilities
E. Limitations Executive Sponsor: An important role from the user
 The FDD prescription does not specifically address organisation who has the ability and responsibility to
project criticality. commit appropriate funds and resources. This role has an
ultimate power to make decisions.
2.7 DYNAMIC SYSTEMS DEVELOPMENT METHOD Visionary: The one who has the responsibility to initialise
(DSDM) the project by ensuring that essential requirements are
A. Background found early on. Visionary has the most accurate perception
It was described by Stapleton in 1995 [14]. DSDM was of the business objectives of the system and the project.
initially created in 1994 through collaboration of a large Another task is to supervise and keep the development
number of project practitioners who were seeking to build process in the right track.
quality into Rapid Application Development (RAD). It Ambassador: User Brings the knowledge of user
focuses upon early delivery of real benefits to the business. community into the project, ensures that the developers

www.ijcsit.com 3631
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

receive enough amount of user’s feedbacks during the


development process. C. Features and Benefits
Advisor: User can be any user that represents an important Team Size and Iteration Length: Since AM is not a
viewpoint and brings the daily knowledge of the project. complete software process development method and should
Project Manager: Can be anyone from user community or be used with other development methods, the team size,
IT staffs who manages the project in general. exact iteration lengths, distribution and system criticality
Technical Co-ordinator: Responsible in designing the will depend on the development process being used
system architecture and control the technical quality in the
project. Values: include those of XP - communication, simplicity,
Team Leader: Leads his team and ensures that the team feedback and courage; and also include humility.
works effectively as a whole.
Solution Developer: Interpret the system requirements and Goals: The three main goals of AM are to define and show
model it including developing the deliverable codes and how to put into practice a collection of values, principles
build the prototypes. and practices that lead to effective and lightweight
Solution Tester: Checks the correctness in a technical extent modelling; to address the issue on how to apply modeling
by performing some testing’s, raise defects where necessary techniques on Agile software development processes; and
and retest once fixed. Tester will have to give some to address how you can apply effective modeling
comments and documentation. techniques independently of the software process in use.
Scribe: Responsible to gather and record the requirements,
agreements, and decisions made in every workshop. D. Roles and Responsibilities
Facilitator: Responsible in managing the workshops AMDD teams are expected to come from developers and
progress, acts as a motor for preparation and project stakeholders. Teams should be composed of self–
communication. motivated hard working developers. The modeling must be
Specialist Roles: Business Architect, Quality Manager, done in teams where everyone must participate.
System Integrator, etc.
E. Limitations
E. Limitations Agile Modeling disciplines can be difficult to apply:
 It is based on user involvement which is not possible in  On large teams (> 30) without adequate tooling
every project support.
 Because of its strictness and eight principles, the main  Where team members are unable to share and
problem with DSDM is that it can be restrictive and collaborate on models (which would make Agile
difficult to work with compared to other agile Software Development in general difficult).
development software methods.  When modeling skills are weak or lacking.

2.8 AGILE MODELING (AM)


A. Background 2.9 CRYSTAL
Agile Modeling (AM) is proposed by Scott Ambler in 2002 A. Background
[15]. It focuses only on documentation and modeling. It can It was developed by Alistair Cockburn in 2001. It focuses
be used with any software development process as it’s not a more on people rather than process.
complete software development method.
B. Philosophy and Scope
B. Philosophy and Scope Crystal methods are collection of agile methods that selects
AM is a new approach for performing modeling activities. the most suitable one and tailoring them for each individual
It attempts to adapt modeling practices using an agile project based on project complexity and team size. Larger
philosophy. It is a practice-based methodology for effective projects are likely to ask for more coordination and heavier
modeling and documentation of software-based systems. methods than smaller ones. It is demonstrated in four
At a high level, it is a collection of best practices and at a colours: Red for extreme large size, Orange for large size,
more detailed level, it is a collection of values, principles, Yellow for medium size and Clear that focuses on
and practices for modeling software that can be applied on a communication in small teams developing software that is
software development project in an effective and light- not life-critical. Crystal methods involve frequent delivery;
weight manner. It is a supplement to other agile reflective improvement; close communication; personal
methodologies such as Scrum, XP, and RUP and explicitly safety; focus; easy access to expert users; and a technical
included as part of the Disciplined Agile Delivery (DAD) environment with automated testing, configuration
framework [16, 17]. The aim is to keep the amount of management, and frequent integration [17].
models and documentation as low as possible. Cultural The Crystal family of methodologies is essentially a project
issues are addressed by depicting ways to encourage management philosophy that defines projects according to
communication, and to organize team structures. team sizes. It is rather difficult to spell out the scope of
No specific team size is mentioned but the methodology Crystal because the methodology provides a basis for
aims for small teams. The AMDD framework can be selecting and tuning other methodologies.
combined with all non–modeling agile methodologies.

www.ijcsit.com 3632
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

C. Features and Benefits


Team size: The Crystal Family accommodates any team The AUP applies agile techniques including test driven
size; however, Cockburn puts a premium on premium development (TDD), Agile Modeling, agile change
people. In Crystal Clear the team size is up to six management, and database refactoring to improve
developers. In Crystal Orange the team size is from ten up productivity.
to forty developers. Crystal methodologies are not suitable
for life–critical systems. C. Features and Benefits
Disciplines: Each iteration consists of seven work areas or
Iteration length: Up to 4 months for large, highly critical disciplines performed during the iteration. Disciplines are
projects. performed in an iterative manner, defining the activities
which development team members perform to build,
Properties: Frequent delivery, Reflection improvement, validate, and deliver working software which meets the
Osmotic communication, Personal safety, Focus, Easy needs of their stakeholders. The seven disciplines are:
access to expert users, Technical environment with
automated tests, configuration management and frequent a. Model. The goal is to understand the business of the
integration organization, the problem domain being addressed by
the project, and identify a viable solution to address the
Strategies: Exploratory 360°, Early victory, Walking problem domain.
skeleton, Incremental, re-architecture, Information radiators b. Implementation. The goal is to transform model(s) into
executable code and perform a basic level of testing, in
Techniques: Methodology shaping, Reflection workshop, particular unit testing.
Blitz planning, Delphi estimation using expertise ranking, c. Test. The goal is to perform an objective evaluation to
Daily stand-up meetings, Essential interaction design, ensure quality. This includes finding defects, validating
Process miniature, Side-by-side programming, Burn charts that the system works as designed, and verifying that
the requirements are met.
D. Roles and Responsibilities d. Deployment. The goal is to plan for the delivery of the
Sponsor: Finances the project and delivers the mission system and to execute the plan to make the system
statement. available to end users.
Senior Designer: Maintains team structure, implements e. Configuration Management. The goal is to manage
methodology, designs the system. access to project artifacts. This includes not only
Designer/Programmer: Creates screen drafts, design tracking artifacts versions over time but also
sketches and notes, common object model, source code, controlling and managing changes to them.
packaged system, migration code, and test cases. f. Project Management. The goal is to direct the activities
User: Helps with use case and screen drafts. that take place within the project. This includes
Business Expert: May come from the sponsor, the user or managing risks, directing people (assigning tasks,
the senior designer. tracking progress, etc.), and coordinating with people
Coordinator/Tester/Writer: May come from the designers. and systems outside the scope of the project to be sure
Crystal Orange has the following additional roles arranged that it is delivered on time and within budget.
into teams: system planning, project mentoring, g. Environment. The goal is to support the rest of the
architecture, technology, functions, infrastructure and effort by ensuring that the proper process, guidance
external test teams. (standards and guidelines), and tools (hardware,
software, etc.) are available for the team as needed.
E. Limitations For each discipline, AUP defines sets of Artifacts (work
 Crystal supports 4 basic criticalities: failure resulting in products), Activities (units of work on the artifacts); and
loss of comfort, discretionary money, essential money, roles (responsibilities taken on by development team
and life. members).
2.10 AGILE UNIFIED PROCESS (AUP)
A. Background AUP Philosophies
Agile Unified Process (AUP) is a simplified version of the a. Your staff knows what they're doing. People are not
IBM Rational Unified Process (RUP) developed by Scott going to read detailed process documentation, but they
Ambler. Introduced in 2005 and revised in 2006 [18]. The will want some high-level guidance and/or training
major enhancements focus is on real-time and web-based from time to time. The AUP product provides links to
development. many of the details, if you are interested, but doesn't
force them upon you.
B. Philosophy and Scope b. Simplicity. Everything is described concisely using a
AUP describes a simple, easy to understand approach to handful of pages, not thousands of them.
developing business application software using agile c. Agility. The Agile UP conforms to the values and
techniques and concepts yet still remaining true to the RUP. principles of the agile software development and the
In 2012, the AUP was superseded by Disciplined Agile Agile Alliance.
Delivery. Since then work has ceased on evolving AUP.

www.ijcsit.com 3633
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

d. Focus on high-value activities. The focus is on the small features releases are delivered quickly and
activities which actually count not every possible thing frequently on a fixed schedule iterations of 1-4 weeks
that could happen to you on a project. each, with a high level of predictability. Project plans,
e. Tool independence. You can use any toolset that you requirements, design, code and tests are created
want with the Agile UP. The recommendation is that initially and updated incrementally as required to adapt
you use the tools which are best suited for the job, to project changes. This helps in checking and
which are often simple tools. monitoring the software functionality progress
f. You'll want to tailor the AUP to meet your own needs. frequently rather than at end of long milestones.
2. Increased performance: Daily stand-up meetings
AUP Phases provide an opportunity to exchange valuable
The overall development cycle consists of four phases: information and to fine tune improvements
Phase 1: Inception: The goal is to identify the initial scope continuously. The ability to discuss complex projects
of the project, a potential architecture for your system, and through simple stories and simple design encourages
to obtain initial project funding and stakeholder acceptance. teamwork. Frequent and better communication leads to
Phase 2: Elaboration: The goal is to prove the architecture increased knowledge sharing and trust among team
of the system. members which increases the team productivity and
Phase 3: Construction: The goal is to build working generates better performance in terms of good Return
software on a regular, incremental basis which meets the on Investment.
highest-priority needs of your project stakeholders. 3. Flexibility of design: Flexibility is based on the
Phase 4: Transition: The goal is to validate and deploy development process used for the project and is defined
your system into your production environment. as ability to change directions quickly. The main
Each phase can be further broken down into Iterations. feature of Agile approach is to adapt to changing
Iteration is a complete development loop resulting in a requirements quickly which enables the design to be
release of an executable increment to the system. made flexible that can handle changes easily.
4. Adaptive to the changing environment: Using agile
AUP Releases software development approach, software is developed
The Agile Unified Process distinguishes between two types over several iterations. Each iteration is characterized
of iterations: A development release iteration results in a by analysis, design, coding and testing. The working
deployment to the quality-assurance and/or demo area and a software is delivered to the customer and end user for
production release iteration results in a deployment to the their use and feedback after every iteration. Agile
production area. This is a significant refinement to the approach encourages and implements any change
Rational Unified Process. requirement from the customer at any stage of
development to upgrade the software.
D. Limitations 5. Reduces risks of development: As the incremented
 Tackling model inconsistency is not explicitly mini software is delivered to the customers after every
addressed. short development cycle and feedbacks are taken from
 Modeling may risk agility if limits are not strictly the customers, it warns developers about the upcoming
observed; the list of AUP’s models that are produced as problems which may occur at the later stages of
the absolute minimum is actually quite long. development. It also helps to discover errors quickly
 The AUP isn't for everyone. XP users will likely find and they are fixed immediately.
the AUP fairly heavy, and "traditional RUP" users may 6. Working software: Agile development’s commitment
find that it's too streamlined. If you want something to the delivery of working, tested software at recurrent
lighter, then XP is highly suggested. If detailed, well- intervals ensures a much greater reliability and
defined software process is required, then it is highly opportunity to incorporate the user and technology-
suggested to consider RUP. Management seems to driven feedback. Agile practices focus on working
prefer RUP than developers due to the large number of software that provides greater feedback which makes
artifacts and has a lot to offer, and can be cut down to agile projects easier to manage and customer gets the
something quite useful. The AUP lands between the best product as learning is incorporated.
two, adopting many of the agile techniques of XP and
other agile processes yet retaining some of the
formality of the RUP. 7. Ensures customer satisfaction: Agile methodology
encourages active customer involvement throughout
III. ADVANTAGES OF AGILE SOFTWRE DEVELOPMENT the software development lifecycle. The deliverables
The key benefits of adopting agile methodology [24, 25] in developed after each iteration is given to the user for
software development processes explained in detail as use and improvement is done based on the customer
follows: feedback only. So at the end what we get as the final
1. Rapid, iterative and incremental delivery: Project product is of high quality and ensures the customer
delivery is divided into small functional releases to satisfaction as the entire software is developed based
check functionality, to manage risk and to get early on the requirements taken from customer.
feedback from customer and end users. These new and

www.ijcsit.com 3634
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

8. Avoids over production: The traditional system well to larger projects, as numerous iterations are
requirement document is still built where many needed to complete the desired functionality. On a
features are not wanted or required. These “low” or large scale project, opportunity cost to employ agile
“no” value features are at the bottom of the backlog but methods may be too high for a foregone production on
they still get built in Waterfall. On contrary, Agile more profitable and lean projects.
approach builds the best product by building it for now 2. Customer interaction: Agile requires active user
and not later. involvement and close collaboration with the project
9. Improvement in quality: Breaking down the project team throughout the software development cycle. This
into manageable units or sprits allows the project team practice of Agile is very rewarding and ensures
to focus on high quality development, testing, and delivery of the right product. However, in practice,
collaboration. Quality is also improved by producing these principles are very demanding on the user
frequent builds and conducting continuous testing and representative’s time and require a big commitment for
customer feedback during each iteration. Test-driven the duration of the project.
development and refactoring is often used in finding 3. Insufficient and unclear requirements: Agile
and fixing defects quickly and identifying expectation requirements are usually insufficient and unclear which
mismatches early that leads to higher code reuse and eliminates wasted effort on deliverables that don’t last
better quality. which controls budget and schedule. The requirements
10. Least documentation: The documentation in agile are clarified and specified during the development
methodology is short and to the point as internal design phase just in time and documented in much less detail
of the software is usually not documented. The main due to the timeliness of conversations. However, this
content in the documentation are product features list, provides limited information to new starters in the team
duration for each iteration and date which saves the about product features and how they should work.
development time and deliver the project in least Agile methodology is based on customer involvement
possible time. because the entire project is developed according to the
11. Fault detection: Organizational processes demand requirements given by the customers. So if the
high quality bug free software. A continuous testing customer representative is not clear about the product
and integration characteristic of agile methodologies features and final outcome, the development process
such as XP enforces the delivery of high quality bug and project can easily get taken off track.
free software. As testing is performed during each 4. Changing requirements: Requirements emerge and
iteration, error and faults are identified earlier and are evolve throughout the development lifecycle which
fixed instantaneously before it increases in severity. means flexibility to makes change as needed to ensure
Automated tests find regression defects earlier, delivery of the right product. However, this principle of
continuous integration finds defects earlier, pair Agile creates the risk of never ending projects and
Programming finds defects much sooner earlier. Also, there is much less predictability during of the project
continuous testing allows continuous testing feedback, lifecycle final product delivery requirement. Without
which further improves code developed in future the maturity of a strong and clear vision, and the
iterations. discipline of fixing schedule, budget and scope is
12. Best practices: Incorporating some well-known Agile harder. Agile is time consuming and can cause wastage
practices can help the teams employ highly competent, of resources because of constant change of
well-tested applications across the required spectrum of requirements. If the customers are not satisfied by the
platforms and devices. Agile forces “architecture partial software developed by certain iteration and they
killers” to the start of the project. Better to fail early, change their requirements then that incremented part is
not late - when all the money has been spent, most of no use. So it is the total wastage of time, effort and
changes have low cost of change. resources required to develop that increment.
5. Difficulty in integration testing: Testing is integrated
Agile software development approach not only provides throughout the product development lifecycle which
benefits to the development team, but also provides number ensures the quality throughout the project without the
of business benefits to the client. Agile addresses many of need for an extensive test phase at the end of the
the most common project drawbacks, such as budget project. This practice of Agile demands testers
control, schedule predictability and scope creep. throughout the project which increases the cost of
resources on the project. The cost of a long and
IV. DISADVANTAGES OF AGILE SOFTWARE DEVELOPMENT unpredictable test phase can cause huge unexpected
Besides many advantages of using agile software costs when a project over-runs. It does have the effect
development method and like traditional methods, the agile of reducing some very significant risks that have
methods also have some limitations and have also been proven through research to cause many projects to fail.
criticized by some practitioners and researchers, mainly Also, there is an additional cost to the project to adopt
focusing on following aspects [6, 10, 11, 20, 21, 23, 24, continuous testing throughout.
25]: 6. Frequent delivery: Adopting an Agile method
1. Not suitable for large projects: An agile development promotes frequent delivery of product, followed by
method is suitable for small teams, but does not scale User Acceptance Testing (UAT) for which the product

www.ijcsit.com 3635
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

owner needs to be available for prompt testing of the sometimes challenging. Agile is also not suitable for
features as they are delivered and throughout the entire maintenance due to less documentation for the systems.
duration of the project. This exercise can be quite time 12. Unfamiliarity with Agile: To get the advantages of
consuming but helps drastically to ensure a quality applying agile methodologies in the development, there
product that meets user expectations. The feedback is is a set of assumptions that are assumed to be true. To
that agile practice is rather intense for developers as mention some are: cooperation and face to face relation
they are required to complete each feature 100% within between the customers and the development team;
each iteration, and the endlessness of iterations can be evolving and changing requirements of the project;
mentally tiring, so it’s important to find a sustainable developers having good individual skills and
pace for the team. experiences. If these assumptions do not apply to a
7. Lack of documentation: Though the least software development project, then it is better to look
documentation saves lot of development time as an for other methodologies to apply for the development
advantage of Agile method but it is a big disadvantage process, in order to get better results.
for the developer. Since internal design changes
frequently based upon users changing requirements V. CONCLUSION
after every iteration, it is not possible to maintain the Traditional software development approaches have a
detail documentation of design and implementation potential to provide straightforward, systematic, and
because of project deadline. Therefore, due to limited organized process in the software development. However,
available information, it is very difficult for the new the traditional approaches have limitations, which include
developers who join the development team at the later slow adaptation to rapidly changing business requirements,
stage to understand the actual method followed to a tendency to be over budget and behind schedule, a lack of
develop the software. dramatic improvements in productivity, reliability, and
8. More helpful for management than developer: The simplicity.
agile methodology helps management to take decisions Agile development methodology is a conceptual framework
about the software development, set goals for for undertaking any software engineering project. In general
developers and fix the deadline for them. But it is very agile approach can provide a shorter development cycle,
difficult for the baseline developers to cope up with the higher customer satisfaction, and quicker adaptation to
ever changing environment, changing design and code rapidly changing business requirements. It also attempts to
based on just in time requirements. Management minimize risk and maximize productivity by delivering
overhead is also increases as successful application of working software in short iterations that increases the
an agile methodology requires strong teamwork and the internal and external practices of the software development.
project manager should always be involved in the A selection and implementation of appropriate process is
dynamics of the team. crucial as it ensures the organization to maximize their
9. Culture and co-located teams: Many times chance to deliver their software successfully with long term
application development teams are located in different implications.
parts of the globe, making in person face to face
communication almost impossible. To overcome this REFERENCES
problem, most developers use video conferencing tool [1] Agile Alliance. “Principles behind Agile Manifesto”.
www.agilemanifesto.org/principles.html, 2006.
to deliver high quality product. [2] Beck, Kent, "Manifesto for Agile Software Development". Agile
10. Experienced resources: Agile approach allows only Alliance, http://agilemanifesto.org, 2001.
senior programmers to take decisions required during [3] Beck, K. and C. Andres, “Extreme Programming Explained” (2nd
the development process and does not allow novice Edition), Addison-Wesley Professional, 2004.
[4] Beck, Kent, “Extreme Programming Explained: Embrace Change”,
developers to make decisions unless combined with Addison-Wesley, ISBN 0-201-61641-6, 2000.
experienced resources. Another limitation is that agile [5] Beck, Kent, “Extreme Programming Explained: Embrace Change”,
methodologies concentrate work quality on the skills second ed., Addison-Wesley, ISBN 978-0321278654, 2004.
and behaviours of the developers, as the design of the [6] D. Cohen, M. Lindvall, P. Costa, “An introduction to agile methods,
in: M.V. Zelkowitz (Ed.)”, Advances in Computers, Advances in
modules and sub-modules are created mainly by single Software Engineering, vol. 62, Elsevier, Amsterdam, 2004.
developer. Agile methodologies will not provide the [7] Schwaber, K. and M. Beedle, “Agile Software Development with
best solution, when developing reusable software as it Scrum”, Prentice Hall PTR, 2001.
focuses in building a system to solve specific problems, [8] K. Schwaber, M. Beedle, “Agile Software Development with
Scrum”, Prentice Hall, Upper Saddle River, 2001.
and not the general ones. So, Agile works best for [9] M. Poppendieck, T. Poppendieck, “Lean Software Development: An
relatively small team’s members as compared to large Agile Toolkit for Software Development Managers”, Addison-
teams. Wesley, Boston, ISBN 0-321-15078-3, 2003.
11. Traditional waterfall development mind set: [10] Highsmith, J., “Adaptive software development: a collaborative
approach to managing complex systems”, Dorset House Publishing
Organizations steeped in waterfall development mind Co., Inc, 2000.
set are reluctant to adopt agile methodologies. In Agile [11] Coad, P., J. deLuca, et al., “Java Modeling Color with Uml:
software development method, the main emphasis is on Enterprise Components and Process with CDROM”, Prentice Hall
development rather than design. It basically focuses on PTR, 1999.
[12] Palmer, S. R. and M. Felsing, “A Practical Guide to Feature-Driven
processes for getting requirements and developing code Development”, Pearson Education, 2001.
and does not focus on product design which can be

www.ijcsit.com 3636
Harleen K. Flora et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3) , 2014, 3626-3637

[13] S.R. Palmer, J.M. Felsing, “A Practical Guide to Feature-driven


Development”, Prentice Hall, Upper Saddle River, NJ, ISBN 0- 13-
067615-2, 2002.
[14] A. P. Framework and I. DSDM, “Introduction Introducing the
DSDM ® Agile Project Framework”.
[15] Agile Modeling (AM) Home Page, “Effective Practices for Modeling
and Documentation” (http://www.agilemodeling.com/).
[16] Ambysoft. “The Agile System Development Life Cycle (SDLC)”,
http://www.ambysoft.com/essays/agileLifecycle.html#Cycle0, 2011.
[17] A. Cockburn, “Crystal Clear: A Human-Powered Methodology for
Small Teams”, Addison-Wesley, ISBN 0-201-69947-8, 2004.
[18] Waters, John K, "Agile lands role in games and business software",
2008.
[19] http://www.ambysoft.com/unifiedprocess/agileUP.html.
[20] H. Merisalo-Rantanen, T. Tuure, R. Matti, “Is extreme programming
just old wine in new bottles: a comparison of two cases, Journal of
Database Management” 16 (4) (2005) 41–61, 2005.
[21] M. Stephens, D. Rosenberg, “Extreme Programming Refactored: The
Case Against XP”, Apress, Berkeley, CA, ISBN 1-59059-096-1,
2003.
[22] P. Mcbreen, “Questioning Extreme Programming”, Pearson
Education, Boston, MA, USA, ISBN 0-201-84457-5, 2003.
[23] Kelly Waters, “Disadvantages of Agile Development”,
http://www.allaboutagile.com/disadvantages-of-agile-development.
Sept. 2007.
[24] Gaurav Kumar, Pradeep Kumar Bhatia, “Impact of Agile
Methodology on Software Development Process”, International
Journal of Computer Technology and Electronics Engineering
(IJCTEE) Volume 2, Issue 4, August 2012.
[25] Sheetal Sharma”Agile Processes and Methodologies: A Conceptual
Study”, International Journal on Computer Science and Engineering
(IJCSE). Vol. 4 No. 5. May 2012.

www.ijcsit.com 3637

View publication stats

You might also like