A type of software development method in which the project team starts with a very simple project design and adds functionalities through short iterations. At the end of each iteration, an updated, tested, potentially shippable version of the software is presented, and project stakeholders decide what the next iteration will target, incorporating feedback from users, the team and any relevant outside trend.
Unlike the waterfall methodology, agile methods allow for changes at any stage of the project and incorporate feedback from users and the customer at an early stage. This helps ensure that the end product is in line with customer expectations and relevant to market needs.
Agile methodologies mostly differ by the length of their iterations (1 to 4 weeks), the type of activities performed and the resulting deliverables.
see also: scrum, extreme programming, feature driven development, dynamic systems development method, crystal methodologies, lean software development, waterfall methodology
related articles: scaling agile: how to measure progress? with johanna rothman, planisware enterprise demo: combining agile and stage-gate for new product development, agile-stage-gate hybrids: combining the best of both systems for accelerated new-product development, webinar: going agile to accelerate new product development