Agile methodology is a software development process which encourages customer satisfaction through speedy and continuous delivery of software application. Agile methodology supports continuous iteration of development and testing throughout the software development life cycle.t
Agile methodology based on adaptive software development methods.
It assumes that, if end user want to change in requirement (functional, non functional) may be every week rather than every month then agile development team always welcome to be integrated.
It promotes adaptive planning, development, early delivery, continuous improvement, attention and support to rapid and flexible response to said changes.
It can be applied any software development process.
According to Roger S. Pressman Agile alliance [AG103] defines 12 principles for those who want to achieve agile -:
1. To satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirement, even late in development.
3. Deliver working software frequently.
4. Business people and developers must work together.
5. Build project around motivated individuals.
6. Face to face conversation to convey message within development team.
7. Working software is the primary measure of progress.
8. Promote sustainable development.
9. Continuous attention to technical excellence and good design.
11. Best architecture and design emerge from self organizing team.
12. Adjust behavior according to regular intervals.
Advantages of Agile methodology -:
– Customer satisfaction
– Face to face conversation for communication
– Regular adaptive and deliver frequently
– Continuous attention on excellence
Disadvantages of agile methodology -:
– Difficult to asses the effort required