What
is Agile model – advantages, disadvantages and when to use it?
Agile development model is
also a type of Incremental model. Software is developed in incremental, rapid
cycles. This results in small incremental releases with each release building
on previous functionality. Each release is thoroughly tested to ensure software
quality is maintained. It is used
for time critical applications. Extreme Programming (XP)
is currently one of the most well known agile development life cycle model.
Diagram of Agile model:
Advantages of Agile model:
·
Customer satisfaction by rapid,
continuous delivery of useful software.
·
People and interactions are
emphasized rather than process and tools. Customers, developers and testers
constantly interact with each other.
·
Working software is delivered
frequently (weeks rather than months).
·
Face-to-face conversation is the best form of communication.
·
Close and daily cooperation
between business people and developers.
·
Continuous attention to technical
excellence and good design.
·
Regular adaptation to changing
circumstances.
·
Even late changes in requirements
are welcomed.
Disadvantages of Agile model:
·
In case of some software
deliverables, especially the large ones, it is difficult to assess the effort
required at the beginning of the software development life cycle.
·
There is lack of emphasis on
necessary designing and documentation.
·
The project can easily get taken
off track if the customer representative is not clear what final outcome that
they want.
·
Only senior programmers are
capable of taking the kind of decisions required during the development
process. Hence it has no place for newbie programmers, unless combined with
experienced resources.
When to use agile model?
·
When new changes are needed to be
implemented. The freedom agile gives to change is very important. New changes
can be implemented at very little cost because of the frequency of new
increments that are produced.
·
To implement a new feature the
developers need to lose only the work of a few days, or even only hours, to
roll back and implement
it.
Unlike the waterfall
model in agile model very limited planning is required to get started with the
project. Agile assumes that the end users’ needs are ever changing in a dynamic
business and IT world.
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.