The Agile Methodology
Agile software development uses iterative development where requirements and solutions evolve via collaboration between the organization and their customer. Agile processes fundamentally incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system. It also encourages rapid and flexible response to change.
For Agile development, we often use Scrum which is designed for development teams of between three to nine members who break their work into actions that can be completed within time-boxed iterations, called sprints (30 days or less, most commonly two weeks) and track progress and replan in 15-minute stand-up meetings, called daily scrums. Each sprint has a running list of deliverables, planned at the start of the sprint.
Deliverables are prioritized by business value as determined by the customer. As sprint is completed team should do a sprint review and retrospective meetings, in the sprint retrospective two main questions are asked: What went well during the sprint? What could be improved in the next sprint?