Flexible iterative development

Flexible development methodology (Agile software development, agile-methods) – a series of approaches to software development that is oriented on the use of iterative development and dynamic formation of requirements and ensure their implementation as a result of constant interaction between the inside of the self-organizing working groups consisting of various profiles specialists.

Most flexible methodologies are aimed at minimizing risks by reducing the development of a series of short cycles, called iterations, which usually last for two-three weeks. Each iteration itself looks like a software project in miniature and includes all the tasks necessary for the issuance of a mini-increment of functionality: planning, requirements analysis, design, programming, testing and documentation.

Although separate iteration, as a rule, is not sufficient to release a new version of the product, means that a flexible software project ready for release at the end of each iteration. At the end of each iteration, the team performs revaluation of development priorities.