Agile Software Development Methodology is a process of software development (such as other software development methodologies – waterfall model, V-model, iterative model, etc.), however, the Agile development model is also a type of incremental model. Software develops in incremental, rapid cycles. In English, Agile means ‘the ability to move quickly and easily’ and respond to change rapidly – this is an important aspect of Agile software development.
Advantages of Agile Methodology :
- In Agile methodology the delivery of software is unremitting.
- The customers are satisfied because after every Sprint working feature of the software is delivered to them.
- Customers can have a look of the working feature which fulfilled their expectations.
- If the customers has any feedback or any change in the feature then it can be accommodated in the current release of the product.
- In Agile methodology the daily interactions are required between the business people and the developers.
- In this methodology attention is paid to the good design of the product.
- Changes in the requirements are accepted even in the later stages of the development.
- An Agile/Scrum approach can improve organizational synergy by breaking down organizational barriers and developing a spirit of trust and partnership around organizational goals.
Disadvantages of the Agile Methodology :
- In Agile methodology the documentation is less.
- Sometimes in Agile methodology the requirement is not very clear hence it’s difficult to predict the expected result.
- In few of the projects at the starting of the software development life cycle it’s difficult to estimate the actual effort required.
- Because of the ever-evolving features, there is always a risk of the ever-lasting project.
- For complex projects, the resource requirement and effort are difficult to estimate.