On February 13, 2001, a group of high-profile developers met in Snowbird, Utah to share new lightweight approaches in developing software. There was consensus that traditional, waterfall-based approaches actually hindered how developers write code. They discussed how Extreme Programming (XP) related to other light-development processes and they tried to come up with a unification of concepts. It is at that meeting that the term Agile was adopted and the Manifesto for Agile Software Development was written.
You can view the full text of the Manifesto for Agile Software Development at the following link: agilemanifesto.org.
Here follows a general overview of the Agile approach to software development. To begin, the process and tools should not take precedence over the developers. In contrast, large projects (such as government or military projects) require extensive documentation. It is an environment where Big Requirements Up Front (BRUF) are needed to an extent. It is quite clear, however, that the process of gathering reams of documentation will slow down the developer. The Agile methodology espouses the importance of working code over documentation. In contrast to Agile methodologies, many larger projects focus on the project specification as the be-all-and-end-all. In a waterfall approach, once you have laid out your plans, a large vehicle is set in motion; good or bad, your project will lumber forward. If there are flaws in your ...