SlideShare a Scribd company logo
1 of 7
Download to read offline
Agile Processes and Methodologies: A
Conceptual Study
Sheetal Sharma
Amity School of Engineering & Technology
Amity University Noida
Sheetal.meenu@gmail.com
Darothi Sarkar
Amity School of Engineering & Technology
Amity University Noida
darothisarkar@rediffmail.com
Divya Gupta
Amity School of Engineering & Technology
Amity University Noida
Fromdivya81@gmail.com
Abstract— This paper deals with the comparative study of agile processes. The paper will serve as guide to
other software development process models. Agile processes have important applications in the areas
of software project management, software schedule management, etc. In particular the aim of agile
processes is to satisfy the customer, faster development times with lower defects rate. This paper compares the
agile processes with other software development life cycle models. Agile processes are not always
advantageous, they have some drawbacks as well; the advantages and disadvantages of agile processes are
also discussed in this paper.
Keywords: Agile Development, Software Development Life Cycle (SDLC).
I. INTRODUCTION
In software development life cycle, there are two main considerations, one is to emphasize on process and the
other is the quality of the software and process itself. Agile software processes is an iterative and incremental
based development, where requirements are changeable according to customer needs. It helps in adaptive
planning, iterative development and time boxing. It is a theoretical framework that promotes foreseen interactions
throughout the development cycle. There are several SDLC models like spiral, waterfall, RAD which has their
own advantages. SDLC is a framework that describes the activities performed at each stage of a software
development life cycle[1]. The software development activities such as planning, analysis, design, coding,
testing and maintenance which need to be performed according to the demand of the customer. It depends on the
various applications to choose the specific model. In this paper, however, we will study the agile processes and its
methodologies. Agile process is itself a software development process[2]. Agile process is an iterative approach
in which customer satisfaction is at highest priority as the customer has direct involvement in evaluating the
software[3].
The agile process follows the software development life cycle which includes requirements gathering, analysis,
design , coding , testing and delivers partially implemented software and waits for the customer feedback. In the
whole process , customer satisfaction is at highest priority with faster development time. The following Figure. 1 ,
depicts the software development life cycle of Agile Process.
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 892
Figure 1. Phases of Agile Process.
This paper is organized as follows: Characteristics of Agile processes are presented in section II. Section III
discusses the agile methodologies. Section IV discusses the advantages of Agile Process, Section V discusses the
disadvantages of Agile Process, Section VI discusses the comparison of Agile with other SDLC models. Finally,
conclusions are discussed in the section VII.
II. CHARACTERISTICS OF AGILE PROJECTS
Agile process requires less planning and it divides the tasks into small increments. Agile process is meant for
short term projects with an effort of team work that follows the software development life cycle. Software
development life cycle includes the following phases 1.Requirements gathering, 2.Analysis, 3.Design, 4.Coding
, 5.Testing, 6.Maintenance. The involvement of software team management with customers reduces the risks
associated with the software. This agile process is an iterative process in which changes can be made according to
the customer satisfaction. In agile process new features can be added easily by using multiple iterations.
1. Iterative
The main objective of agile software processes is satisfaction of customers, so it focuses on single
requirement with multiple iterations.
2. Modularity
Agile process decomposes the complete system into manageable pieces called modules. Modularity plays a
major role in software development processes.
3. Time Boxing
As agile process is iterative in nature, it requires the time limits on each module with respective cycle.
Requirement
gathering
Analysis
Design
Coding
Testing
Delivery of
partially
incremented
software
Feedback from
customer
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 893
4. Parsimony
In agile processes parsimony is required to mitigate risks and achieve the goals by minimal number of
modules.
5. Incremental
As the agile process is iterative in nature, it requires the system to be developed in increments, each increment
is independent of others, and at last all increments are integrated into complete system.
6. Adaptive
Due to the iterative nature of agile process new risks may occurs. The adaptive characteristic of agile process
allows adapting the processes to attack the new risks and allows changes in the real time requirements.
7. Convergent
All the risks associated with each increment are convergent in agile process by using iterative and incremental
approach.
9. Collaborative
As agile process is modular in nature, it needs a good communication among software development team.
Different modules need to be integrated at the end of the software development process.
10. People Oriented
In the agile processes customer satisfaction is the first priority over the technology and process. A good
software development team increases the performance and productivity of the software.
III. METHODOLOGIES
There are several methodologies through which we can implement Agile Projects. Here we have discussed three
methodologies which are most widely used in Industry. The agile methods are focused on different aspects of
the software development life cycle. Some focus on the practices (extreme programming, pair programming),
while others focus on managing the software projects (the scrum approach).
A. Extreme Programming (XP)
XP is the most successful method of developing agile software because of its focus on customer satisfaction.
XP requires maximum customer interaction to develop the software. It divides the entire software development
life cycle into several number of short development cycles. It welcomes and incorporates changes or requirements
from the customers at any phase of the development life cycle.
Figure 2 : Method of Developing Agile Processes using Extreme Programming
Iteration
Planning
Project tracing
Development
(Iteration)
Iteration plan
User
Requirements
Priority
checking
Effort estimation
New user
requirements
Acceptance
testing
Latest developed
version
Release of the
latest version
Bug
New
requirementsRequirements
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 894
The above diagram shows the complete method of developing agile process using XP method. Extreme
programming starts with collecting user requirements. Depending upon these requirements the whole
development process is divided into several small no of cycles. So the next phase is iteration planning i.e.
deciding the no of cycles, prioritizing the requirements and estimating the amount of effort required to implement
each cycle. Now each iteration is developed using pair programming. During the development phase new user
requirements may come and the iteration plan should be adjusted according to that. Next step is to test the latest
developed version for bugs, if detected; the bugs will be removed in the next iteration. After every acceptance
testing project tracing should be done in which feedback is taken from the project that how much job has already
been done.
XP has introduced many new things for developers like pair programming, extensive code review, code
refactoring and open workspace [4].
B. Scrum
Scrum is another popular method of agile development through which productivity becomes very high. It is
basically based on incremental software development process. In scrum method the entire development cycle is
divided into a series of iteration where each iteration is called as a sprint. Maximum duration of a sprint is 30
days.
Figure 3: Method of Developing Agile Processes using Scrum
The method starts with collecting user requirements but it is not expected that all the requirements should
come out from the user at the beginning. User can change their mind at any time during development; they can
add new features, remove or update some existing features. Next phase is to prioritize the requirements and the
list is known as product backlog [5]. A proper planning for sprint should be done i.e. how many sprints are
needed to develop the software, duration of the sprint, and what are the requirements from the product backlog
should be implemented in each sprint. This particular list is known as sprint backlog. During each sprint one
sprint meeting is held every day to take the feedback how much work has been done. After each sprint review is
taken to determine whether all the requirements for that particular sprint have already been implemented or not
and to decide the requirements should be implemented at the next sprint. After each sprint we get a working
increment of the software
C. Feature Driven Development (FDD)
FDD is one of the agile development methods. The key advantage of this method is to design the domain of
the software to be produced before development.
User
requirements Product
backlog
Planning of
sprint
Sprint
backlog
Sprint
Review of sprint
meeting
Latest increment
of the software
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 895
Figure 4: Method of Developing Agile Processes using FDD Graph
The method starts with collecting the requirements from the users and building up the overall model of the
project. The model gives the clear idea about the scope of the software. Next step is to make a list of features
which are the client-valued functions [5]. For example ‘authenticate the password’, ‘calculate the salary for each
employee’, ‘calculate the income tax for each employee’. Now several groups of features are made based on their
domains i.e. related features are combined into a single group. Next step is to make a plan for developing the
features. Each group of features is assigned to a development team which is headed by one chief programmer.
Last step is modeling iteration in which first UML modeling is done for each feature and then developing that
particular feature. This step continues unless all the features get implemented successfully.
IV. ADVANTAGES
1) Adaptive to the changing environment: In agile software development method, software is developed
over several iterations. Each iteration is characterized by analysis, design, implementation and testing. After
each iteration the mini project is delivered to the customer for their use and feedback. Any changes that upgrade
the software are welcome from the customer at any stage of development and that changes are implemented.
2) Ensures customer satisfaction: This methodology requires active customer involvement throughout the
developmen[6]t. The deliverables developed after each iteration is given to the user for use and improvement is
done based on the customer feedback only. So at the end what we get as the final product is of high quality and
it ensures the customer satisfaction as the entire software is developed based on the requirements taken from
customer.
3) Least documentation: The documentation in agile methodology is short and to the point though it
depends on the agile team. Generally they don’t make documentation on internal design of the software. The
main things which should be on the documentation are product features list, duration for each iteration and date.
This brief documentation saves time of development and deliver the project in least possible time.
User
requirements
Developing
overall model
Preparing list of
features
Planning by
features
Modeling
iteration
Designing UML
model for each
feature
Developing by
features
Successful and
properly developed
feature
Modeling iteration
Complete
working
software
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 896
4) Reduces risks of development: As the incremented mini software is delivered to the customers after
every short development cycle and feedbacks are taken from the customers, it warns developers about the
upcoming problems which may occur at the later stages of development. It also helps to discover errors quickly
and they are fixed immediately.
V. DISADVANTAGES
1) Customer interaction is the key factor of developing successful software: Agile methodology is based
on customer involvement because the entire project is developed according to the requirements given by the
customers. So if the customer representative is not clear about the product features, the development process
will go out of the track.
2) Lack of documentation: Though the least documentation saves development time as an advantage of
agile method, on the other hand it is a big disadvantage for developer. Here the internal design is getting
changed again and again depending on user requirements after every iteration, so it is not possible to maintain
the detail documentation of design and implementation because of project deadline[7]. So because of less
available information, it is very difficult for the new developers who join the development team at the later stage
to understand the actual method followed to develop the software.
3) Time consuming and wastage of resources because of constant change of requirements: If the
customers are not satisfied by the partial software developed by certain iteration and they change their
requirements then that incremented part is of no use. So it is the total wastage of time, effort and resources
required to develop that increment.
4) More helpful for management than developer: The agile methodology helps management to take
decisions about the software development, set goals for developers and fix the deadline for them. But it is very
difficult for the baseline developers to cope up with the ever changing environment and every time changing the
design, code based on just in time requirements.
VI. COMPARISON OF AGILE PROCESS WITH OTHER SDLC MODELS
TABLE I. PRCOESS MODELS
Features
Different Process Models
Agile Process Spiral Model RAD Model
Definition
Agile process is the ability to both
create and respond to changing
requirements of software.
Spiral model is the
software development
model which focuses on
managing risks.
RAD model is “high speed
adaptation of linear sequential
model, in which component
based construction is used.
Adaptability   X
Testing Phase Unit, Integration , System testing
Unit, Integration and
System testing
Unit
Quality Factors   X
Risk Analysis X  X
Off-the- Tools X X 
Failure normally due to Code Code Architecture and design
Knowledge Required Product and domain Product and domain Domain
Entry & exit Criteria X X 
Mock up   X
Extendability   X
Project management involvement  X 
Higher Reliability   X
Time Boxing  X 
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 897
Features
Different Process Models
Agile Process Spiral Model RAD Model
Status of Development Team Less experience required Less experience required More experience required
Use of reusable components X X 
Flexibility   X
Customer Involvement   X
VII. CONCLUSION
In this paper we have discussed the software development life cycle models, the characteristics of agile
process, and spiral model, methodologies of agile process, advantages and disadvantages. In the comparative
study of agile software development with other software development models we conclude that agile project is
much better than other software development process in terms of productivity, performance, faster time cycles,
risk analysis. Agile processes are implemented in important applications such as web based, testing tools, etc.
REFERENCES
[1] Tobin J Lehman, Akhilesh Sharma , “Software Development as a service: Agile Experiences”, in annual SRII Global
Conference (2011).
[2] A. Ahmed, S. Ahmad, Dr. N Ehsan, E. Mirza, S.Z. Sarwar,“Agile Software Development: Impact on Productivity and Qulaity”,
in the Proceedings of IEEE ICMIT.(2010).
[3] B.Boehm and R.Turner, “Balancing Agility and Discipline: A Guide for the Perplexed, Addison, Wesley, 2003.
[4] Jeffery A. Livermore, “Factors that Impact Implementing an Agile Software Development Methodology” in the Proceedings of
IEEE (2007)
[5] http://en.wikipedia.org/wiki/Scrum_(development)
[6] B.Boehm, “ Anchoring the Software Process,” IEEE Software, July 1996.
[7] B. Boehm and D.Port,”Balancing Discipline and Flexibility with the Spiral Model and MBASE”. Crosstalk, Dec. 2001.
Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE)
ISSN : 0975-3397 Vol. 4 No. 05 May 2012 898

More Related Content

What's hot

Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Fadhil Ismail
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...IJERA Editor
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsPiyush Gogia
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAhmed Alageed
 
Software engineering FAQ
Software engineering FAQSoftware engineering FAQ
Software engineering FAQAshok Mohanty
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4Siddharth Ayer
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5Abhimanyu Mishra
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...Ashok Mohanty
 

What's hot (18)

Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
 
Unit2
Unit2Unit2
Unit2
 
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Software process
Software processSoftware process
Software process
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software engineering FAQ
Software engineering FAQSoftware engineering FAQ
Software engineering FAQ
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 

Viewers also liked (17)

Keenan
KeenanKeenan
Keenan
 
Agile process
Agile processAgile process
Agile process
 
Taite wk 7 term 2
Taite wk 7 term 2Taite wk 7 term 2
Taite wk 7 term 2
 
Valentine's day 1
Valentine's  day 1Valentine's  day 1
Valentine's day 1
 
Task Instrumentation
Task InstrumentationTask Instrumentation
Task Instrumentation
 
Valentine's day 1
Valentine's  day 1Valentine's  day 1
Valentine's day 1
 
Valentine's day 1
Valentine's  day 1Valentine's  day 1
Valentine's day 1
 
Us eng ubp_redesign20120821_final
Us eng ubp_redesign20120821_finalUs eng ubp_redesign20120821_final
Us eng ubp_redesign20120821_final
 
Seni Lukis Klasik
Seni Lukis KlasikSeni Lukis Klasik
Seni Lukis Klasik
 
Kelompok 4 wirus
Kelompok 4 wirusKelompok 4 wirus
Kelompok 4 wirus
 
Aim crisp handout
Aim crisp handoutAim crisp handout
Aim crisp handout
 
Wenerei wk 5 term 2pdf
Wenerei wk 5 term 2pdfWenerei wk 5 term 2pdf
Wenerei wk 5 term 2pdf
 
2012 brochure
2012 brochure2012 brochure
2012 brochure
 
Door Lock with Sensor Vibration
Door Lock with Sensor VibrationDoor Lock with Sensor Vibration
Door Lock with Sensor Vibration
 
Business plan - kue hewir
Business plan - kue hewirBusiness plan - kue hewir
Business plan - kue hewir
 
Ap ar netting
Ap ar nettingAp ar netting
Ap ar netting
 
Si jelantah pembawa berkah
Si jelantah pembawa berkahSi jelantah pembawa berkah
Si jelantah pembawa berkah
 

Similar to Agile process

A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...ijseajournal
 
International journal of computer science and innovation vol 2015-n2-paper3
International journal of computer science and innovation  vol 2015-n2-paper3International journal of computer science and innovation  vol 2015-n2-paper3
International journal of computer science and innovation vol 2015-n2-paper3sophiabelthome
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentDanWooster1
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayMarisela Stone
 
Difference Between Agile And Waterfall Model
Difference Between Agile And Waterfall ModelDifference Between Agile And Waterfall Model
Difference Between Agile And Waterfall ModelTammy Moncrief
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyIAEME Publication
 
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYMAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYcscpconf
 
Mapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologyMapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologycsandit
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A StudyEswar Publications
 
Agile projectdevelopment
Agile projectdevelopmentAgile projectdevelopment
Agile projectdevelopmentJainul Musani
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.RishavChandel1
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processijseajournal
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesSean Flores
 

Similar to Agile process (20)

A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
 
International journal of computer science and innovation vol 2015-n2-paper3
International journal of computer science and innovation  vol 2015-n2-paper3International journal of computer science and innovation  vol 2015-n2-paper3
International journal of computer science and innovation vol 2015-n2-paper3
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
AGILE & AGILE FRAMEWORKS.pptx
AGILE & AGILE FRAMEWORKS.pptxAGILE & AGILE FRAMEWORKS.pptx
AGILE & AGILE FRAMEWORKS.pptx
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle Essay
 
Difference Between Agile And Waterfall Model
Difference Between Agile And Waterfall ModelDifference Between Agile And Waterfall Model
Difference Between Agile And Waterfall Model
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
 
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYMAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
 
Mapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologyMapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodology
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
 
Unit -1.ppt
Unit -1.pptUnit -1.ppt
Unit -1.ppt
 
Agile projectdevelopment
Agile projectdevelopmentAgile projectdevelopment
Agile projectdevelopment
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum process
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And Practices
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Agile process

  • 1. Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida Sheetal.meenu@gmail.com Darothi Sarkar Amity School of Engineering & Technology Amity University Noida darothisarkar@rediffmail.com Divya Gupta Amity School of Engineering & Technology Amity University Noida Fromdivya81@gmail.com Abstract— This paper deals with the comparative study of agile processes. The paper will serve as guide to other software development process models. Agile processes have important applications in the areas of software project management, software schedule management, etc. In particular the aim of agile processes is to satisfy the customer, faster development times with lower defects rate. This paper compares the agile processes with other software development life cycle models. Agile processes are not always advantageous, they have some drawbacks as well; the advantages and disadvantages of agile processes are also discussed in this paper. Keywords: Agile Development, Software Development Life Cycle (SDLC). I. INTRODUCTION In software development life cycle, there are two main considerations, one is to emphasize on process and the other is the quality of the software and process itself. Agile software processes is an iterative and incremental based development, where requirements are changeable according to customer needs. It helps in adaptive planning, iterative development and time boxing. It is a theoretical framework that promotes foreseen interactions throughout the development cycle. There are several SDLC models like spiral, waterfall, RAD which has their own advantages. SDLC is a framework that describes the activities performed at each stage of a software development life cycle[1]. The software development activities such as planning, analysis, design, coding, testing and maintenance which need to be performed according to the demand of the customer. It depends on the various applications to choose the specific model. In this paper, however, we will study the agile processes and its methodologies. Agile process is itself a software development process[2]. Agile process is an iterative approach in which customer satisfaction is at highest priority as the customer has direct involvement in evaluating the software[3]. The agile process follows the software development life cycle which includes requirements gathering, analysis, design , coding , testing and delivers partially implemented software and waits for the customer feedback. In the whole process , customer satisfaction is at highest priority with faster development time. The following Figure. 1 , depicts the software development life cycle of Agile Process. Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 892
  • 2. Figure 1. Phases of Agile Process. This paper is organized as follows: Characteristics of Agile processes are presented in section II. Section III discusses the agile methodologies. Section IV discusses the advantages of Agile Process, Section V discusses the disadvantages of Agile Process, Section VI discusses the comparison of Agile with other SDLC models. Finally, conclusions are discussed in the section VII. II. CHARACTERISTICS OF AGILE PROJECTS Agile process requires less planning and it divides the tasks into small increments. Agile process is meant for short term projects with an effort of team work that follows the software development life cycle. Software development life cycle includes the following phases 1.Requirements gathering, 2.Analysis, 3.Design, 4.Coding , 5.Testing, 6.Maintenance. The involvement of software team management with customers reduces the risks associated with the software. This agile process is an iterative process in which changes can be made according to the customer satisfaction. In agile process new features can be added easily by using multiple iterations. 1. Iterative The main objective of agile software processes is satisfaction of customers, so it focuses on single requirement with multiple iterations. 2. Modularity Agile process decomposes the complete system into manageable pieces called modules. Modularity plays a major role in software development processes. 3. Time Boxing As agile process is iterative in nature, it requires the time limits on each module with respective cycle. Requirement gathering Analysis Design Coding Testing Delivery of partially incremented software Feedback from customer Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 893
  • 3. 4. Parsimony In agile processes parsimony is required to mitigate risks and achieve the goals by minimal number of modules. 5. Incremental As the agile process is iterative in nature, it requires the system to be developed in increments, each increment is independent of others, and at last all increments are integrated into complete system. 6. Adaptive Due to the iterative nature of agile process new risks may occurs. The adaptive characteristic of agile process allows adapting the processes to attack the new risks and allows changes in the real time requirements. 7. Convergent All the risks associated with each increment are convergent in agile process by using iterative and incremental approach. 9. Collaborative As agile process is modular in nature, it needs a good communication among software development team. Different modules need to be integrated at the end of the software development process. 10. People Oriented In the agile processes customer satisfaction is the first priority over the technology and process. A good software development team increases the performance and productivity of the software. III. METHODOLOGIES There are several methodologies through which we can implement Agile Projects. Here we have discussed three methodologies which are most widely used in Industry. The agile methods are focused on different aspects of the software development life cycle. Some focus on the practices (extreme programming, pair programming), while others focus on managing the software projects (the scrum approach). A. Extreme Programming (XP) XP is the most successful method of developing agile software because of its focus on customer satisfaction. XP requires maximum customer interaction to develop the software. It divides the entire software development life cycle into several number of short development cycles. It welcomes and incorporates changes or requirements from the customers at any phase of the development life cycle. Figure 2 : Method of Developing Agile Processes using Extreme Programming Iteration Planning Project tracing Development (Iteration) Iteration plan User Requirements Priority checking Effort estimation New user requirements Acceptance testing Latest developed version Release of the latest version Bug New requirementsRequirements Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 894
  • 4. The above diagram shows the complete method of developing agile process using XP method. Extreme programming starts with collecting user requirements. Depending upon these requirements the whole development process is divided into several small no of cycles. So the next phase is iteration planning i.e. deciding the no of cycles, prioritizing the requirements and estimating the amount of effort required to implement each cycle. Now each iteration is developed using pair programming. During the development phase new user requirements may come and the iteration plan should be adjusted according to that. Next step is to test the latest developed version for bugs, if detected; the bugs will be removed in the next iteration. After every acceptance testing project tracing should be done in which feedback is taken from the project that how much job has already been done. XP has introduced many new things for developers like pair programming, extensive code review, code refactoring and open workspace [4]. B. Scrum Scrum is another popular method of agile development through which productivity becomes very high. It is basically based on incremental software development process. In scrum method the entire development cycle is divided into a series of iteration where each iteration is called as a sprint. Maximum duration of a sprint is 30 days. Figure 3: Method of Developing Agile Processes using Scrum The method starts with collecting user requirements but it is not expected that all the requirements should come out from the user at the beginning. User can change their mind at any time during development; they can add new features, remove or update some existing features. Next phase is to prioritize the requirements and the list is known as product backlog [5]. A proper planning for sprint should be done i.e. how many sprints are needed to develop the software, duration of the sprint, and what are the requirements from the product backlog should be implemented in each sprint. This particular list is known as sprint backlog. During each sprint one sprint meeting is held every day to take the feedback how much work has been done. After each sprint review is taken to determine whether all the requirements for that particular sprint have already been implemented or not and to decide the requirements should be implemented at the next sprint. After each sprint we get a working increment of the software C. Feature Driven Development (FDD) FDD is one of the agile development methods. The key advantage of this method is to design the domain of the software to be produced before development. User requirements Product backlog Planning of sprint Sprint backlog Sprint Review of sprint meeting Latest increment of the software Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 895
  • 5. Figure 4: Method of Developing Agile Processes using FDD Graph The method starts with collecting the requirements from the users and building up the overall model of the project. The model gives the clear idea about the scope of the software. Next step is to make a list of features which are the client-valued functions [5]. For example ‘authenticate the password’, ‘calculate the salary for each employee’, ‘calculate the income tax for each employee’. Now several groups of features are made based on their domains i.e. related features are combined into a single group. Next step is to make a plan for developing the features. Each group of features is assigned to a development team which is headed by one chief programmer. Last step is modeling iteration in which first UML modeling is done for each feature and then developing that particular feature. This step continues unless all the features get implemented successfully. IV. ADVANTAGES 1) Adaptive to the changing environment: In agile software development method, software is developed over several iterations. Each iteration is characterized by analysis, design, implementation and testing. After each iteration the mini project is delivered to the customer for their use and feedback. Any changes that upgrade the software are welcome from the customer at any stage of development and that changes are implemented. 2) Ensures customer satisfaction: This methodology requires active customer involvement throughout the developmen[6]t. The deliverables developed after each iteration is given to the user for use and improvement is done based on the customer feedback only. So at the end what we get as the final product is of high quality and it ensures the customer satisfaction as the entire software is developed based on the requirements taken from customer. 3) Least documentation: The documentation in agile methodology is short and to the point though it depends on the agile team. Generally they don’t make documentation on internal design of the software. The main things which should be on the documentation are product features list, duration for each iteration and date. This brief documentation saves time of development and deliver the project in least possible time. User requirements Developing overall model Preparing list of features Planning by features Modeling iteration Designing UML model for each feature Developing by features Successful and properly developed feature Modeling iteration Complete working software Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 896
  • 6. 4) Reduces risks of development: As the incremented mini software is delivered to the customers after every short development cycle and feedbacks are taken from the customers, it warns developers about the upcoming problems which may occur at the later stages of development. It also helps to discover errors quickly and they are fixed immediately. V. DISADVANTAGES 1) Customer interaction is the key factor of developing successful software: Agile methodology is based on customer involvement because the entire project is developed according to the requirements given by the customers. So if the customer representative is not clear about the product features, the development process will go out of the track. 2) Lack of documentation: Though the least documentation saves development time as an advantage of agile method, on the other hand it is a big disadvantage for developer. Here the internal design is getting changed again and again depending on user requirements after every iteration, so it is not possible to maintain the detail documentation of design and implementation because of project deadline[7]. So because of less available information, it is very difficult for the new developers who join the development team at the later stage to understand the actual method followed to develop the software. 3) Time consuming and wastage of resources because of constant change of requirements: If the customers are not satisfied by the partial software developed by certain iteration and they change their requirements then that incremented part is of no use. So it is the total wastage of time, effort and resources required to develop that increment. 4) More helpful for management than developer: The agile methodology helps management to take decisions about the software development, set goals for developers and fix the deadline for them. But it is very difficult for the baseline developers to cope up with the ever changing environment and every time changing the design, code based on just in time requirements. VI. COMPARISON OF AGILE PROCESS WITH OTHER SDLC MODELS TABLE I. PRCOESS MODELS Features Different Process Models Agile Process Spiral Model RAD Model Definition Agile process is the ability to both create and respond to changing requirements of software. Spiral model is the software development model which focuses on managing risks. RAD model is “high speed adaptation of linear sequential model, in which component based construction is used. Adaptability   X Testing Phase Unit, Integration , System testing Unit, Integration and System testing Unit Quality Factors   X Risk Analysis X  X Off-the- Tools X X  Failure normally due to Code Code Architecture and design Knowledge Required Product and domain Product and domain Domain Entry & exit Criteria X X  Mock up   X Extendability   X Project management involvement  X  Higher Reliability   X Time Boxing  X  Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 897
  • 7. Features Different Process Models Agile Process Spiral Model RAD Model Status of Development Team Less experience required Less experience required More experience required Use of reusable components X X  Flexibility   X Customer Involvement   X VII. CONCLUSION In this paper we have discussed the software development life cycle models, the characteristics of agile process, and spiral model, methodologies of agile process, advantages and disadvantages. In the comparative study of agile software development with other software development models we conclude that agile project is much better than other software development process in terms of productivity, performance, faster time cycles, risk analysis. Agile processes are implemented in important applications such as web based, testing tools, etc. REFERENCES [1] Tobin J Lehman, Akhilesh Sharma , “Software Development as a service: Agile Experiences”, in annual SRII Global Conference (2011). [2] A. Ahmed, S. Ahmad, Dr. N Ehsan, E. Mirza, S.Z. Sarwar,“Agile Software Development: Impact on Productivity and Qulaity”, in the Proceedings of IEEE ICMIT.(2010). [3] B.Boehm and R.Turner, “Balancing Agility and Discipline: A Guide for the Perplexed, Addison, Wesley, 2003. [4] Jeffery A. Livermore, “Factors that Impact Implementing an Agile Software Development Methodology” in the Proceedings of IEEE (2007) [5] http://en.wikipedia.org/wiki/Scrum_(development) [6] B.Boehm, “ Anchoring the Software Process,” IEEE Software, July 1996. [7] B. Boehm and D.Port,”Balancing Discipline and Flexibility with the Spiral Model and MBASE”. Crosstalk, Dec. 2001. Sheetal Sharma et al. / International Journal on Computer Science and Engineering (IJCSE) ISSN : 0975-3397 Vol. 4 No. 05 May 2012 898