The agile software development agile methodologies or processes (such as, for example, XP, Scrum, DSDM, Crystal, etc.) development methodologies are those that are based on the adaptability of any change as a means to increase the chances of success of a project.
Most agile methods try to minimize the risk to develop the software in iterations, which typically last from one to four weeks. Each iteration is like a miniature project final project, and includes all of the tasks required to implement new functions: planning, analysis of requirements, design, coding, testing, and documentation. While an iteration may not add enough functionality to warrant releasing the product, an agile software project aims to be able to release new software at the end of all the iterations. In many cases, the software was released at the end of each iteration, especially when the software is web-based and can be released easily. However, at the end of each iteration, the team reavalua the priorities of the project.
The basic principles of the agile methodology are:
- Individuals and interactions over processes and tools
- The software that runs on top of the documentation
- The collaboration with the client over the negotiation of contracts
- The response to the change over following a plan closed