Agile methodology is similar to an iterative type of model. Agile methodology is also known as alternative to waterfall model. Extreme Programming (XP) is the most well-known agile methodology. Agile methodology focuses more on process adaptability and customer satisfaction by delivering the application rapidly in the market for customer use.
In agile methodology the phases like development-requirements, design is revisited many times in its lifecycle. Agile methodology is used where the detailed planning is not required but there is a clarity on the focus of the functionality of an application.
This methodology is better than other traditional models by making it better to fit in the fast changing environment. In agile methodology the activities/tasks are divided into small frames to deliver the specific requirements in the market. The most popular agile models are Rational Unified process, Extreme Programming.
Agile testing is a software testing methodology where testing is carried out in different modules. As soon as a module is developed for any application it goes for testing. Agile methodology promotes testing throughout the development phase of any application or project. Both development and testing activities goes hand in hand.
The objective of agile testing is to keep the client involved at every step so that they have a product which they wish to have. At the end of every sprint, user acceptance testing is performed.
When to use Agile model?
1. Testing and coding are done incrementally and iteratively.
2. Defects are detected early so cost of fixing them also reduces.
– Error can be fixed in the middle of the project.
– Documentation attends less priority than software development
3. When new features are to be added the developers doesn’t need to scratch all modules but needs only hours to implement that new feature.
4. This model is used where very little planning is required to develop the application. Changes are done with very little cost.
5. When client suggests some changes in current developing application then with agile methodology it is very easy to implement suggested changes.
Advantages of Agile model:-
1. Small projects can be implemented very quickly.
2. Changes in requirement can be implemented in the middle of development phase without huge amendments to the budget or schedule.
3. Documentation is given less Priority.
4. Need not need more planning for developing the software.
5. It is Cost effective.
6. Changes are implemented easily.
7. Less amount of resources are required for developing an application.
Disadvantages of Agile model:-
1. For large projects it is difficult to give effort required at the beginning of SDLC.
2. Visibility about future implementation methodology is missing.
3. If client is not in contact for few days or weeks then development of application may come to halt or wrong built may get develop.
4. This model is not suitable for developing the complex applications.
5. Software pricing is not fixed, so selling the software using this methodology is quite challenging.
6. Poor client participation directly affects the quality of the software.