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,
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. Changes can be discussed and
features can be newly effected or removed based on feedback. This
effectively gives the customer the finished system they want or need.
- Both system developers and stakeholders alike,
find they also get more freedom of time and options than if the software
was developed in a more rigid sequential way. Having options gives them
the ability to leave important decisions until more or better data or even
entire hosting programs are available; meaning the project can continue to
move forward without fear of reaching a sudden standstill.
No comments:
Post a Comment