Agile software development is a method to develop a software
in a quick and easy manner, in this case the requirements of the user and their
solutions by the development team gets evolved over the period of development
time and phase. It supports adaptive planning, evolving development,
Quick delivery of the product, unceasing development, More
room for quick change, early delivery.
This development method is best suited for the development
of the projects that are small to medium in size.
It has following values
Interaction among individuals
The Individuals both from user end and the
development end are in constant talks so that they can work together for the
evolving user requirements and the solutions to the new developing problems.
This keeps the product market ready for all the times.
In this method of development the product
gets in a working stage at very first iteration of development phase that may
be as early as a month. This working model provides with an early sight into
what the product would look like at the end.
Response to Change
This model is very easy with the changes
the requirements can be added on to the system in a very short period of time.
This is helpful in case with the additions at the late stages of development.
Advantages of the Agile Software Development
The development in this method is done in
very simple and quick way, more emphasis is given to speed than to the accuracy
in development. This helps in getting the product to market early and thus
beating the competition. This further helps in getting response from the user
and the stake holders.
In this method of development there is less
of documentation and more time is devoted in the development of the product and
hence the development over the stages is visible to the user and stake-holder
Agile method is good at predicting the
delivery times, this includes the estimation time of delivery of the final product
and it may even help in planning the early delivery of the product.
This method of development helps in keeping
track of the finances over various cycles of development.
This method is very responsive to changes,
these changes may even come at later stages in the development cycle.
This development method provides with a final
product which has very high level of qualities with repetitive testing and user
inputs the final product comes out to be of the finest qualities.
There is other side to the coin which shows
that the user involvement is a rigorous task for the team handling the
development of the product. More the user involvement more time needs to be
devoted in listening to those people and hence less time for development. This
may even result in adding to the work power, thus adding up to the cost.
Forever emerging Requirements.
In this method of development there can be
requirements that can arise as late as before the release of final product, moreover
sometimes there is no relation between the product being developed and the
requirements put forward by the user or stake holder thus moving off the
original goal. Additionally, the user requirements barely die out i.e. user always
wants more and more thus these requirements keep on increasing and hence you don’t
end up releasing the final product.
This method of development has less
documentation and hence the idea initially is not very clear thus leading to a
state of confusion among the development team, further leading to split of
ideas among the team members.
When to use this method of development.
When the user requirement is not very clear only a brief
idea is present in user’s mind, this method of development is best suited for
small to medium sized products thus initially a small team will be good enough.
This method is best when an early delivery of beta version is required to bring
the product to the market as early as possible there is no much emphasis on the
quality of the product being developed.