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.
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.
No comments:
Post a Comment