Agile software development combines set of software development methodologies based on iterative development. Ruby on Rails development takes from agile methods and is all about disciplined project management process that requires constant verification and adaptation to changes. Process of analyzing requirements and planing solutions takes place among self-organizing cross-functional teams, in which a leadership philosophy encourages teamwork.

A set of engineering best practices intended to allow for rapid delivery of high-quality software and for specific business approach and web services that aligns development with business partner needs and buisness partner goals.

Face-to-face communication is emphasized over written documents when the team is using agile methods, specially all in the same location. When a team works in different locations, they contact each other through videoconferencing, voice, e-mail, etc.

The term was coined in the year 2001 when the Agile Manifesto was formulated.

Manifesto for Agile Software Development

We are 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

That is, while there is value in the items on
the right, we value the items on the left more