In the last ten years 'Agile' has become a much used but often misunderstood word. Agile software development is actually a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight iterations throughout the development cycle.
The Agile Manifesto introduced the term in 2001. Since then, the Agile Movement, with all its values, principles, methods, practices, tools, champions and practitioners, philosophies and cultures, has significantly changed the landscape of the modern software engineering and commercial software development in the Internet era.
The 17 software developers that authored the Agile Manifesto stated that they were; "uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value":
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
What they meant was that while they believed that there was value in the items on the right, they valued the items on the left more.
For a more comprehensive explanation of Agile principles, techniques and methods, please watch the video below produced by AssistKD's Lynda Girvan.