An iteration is a set time period within a project during which a stable, working version of a product is produced. It is accompanied by installation scripts, accompanying documentation, and other artifacts that are necessary to use this release.
At a Glance
A working version of the product allows you to show stakeholders the actual development of the project. During the demonstration, the development team can get feedback on what needs to be done in order to broaden their understanding of the needs and how to implement them. The next iteration builds on the previous one. The resulting product is one step closer to the final product. An iteration is a limited period. In other words, the schedule is fairly rigidly fixed. In order to meet this schedule, the content of the time period may change.
Features
Iteration is a well-defined period. The development of the project has carefully planned goals, itselfthe duration of the time interval is fixed. When regulating, each iteration sets its own evaluation criteria. At the same time, responsibilities and tasks are clearly distributed among the participants involved in the project. Additionally, a study of objective indicators of project development is carried out. An iteration is a period involving a certain number of reworks. It should be said that they are all carried out in a structured way.
Integration
Any simple iteration should take into account the likely risks that are important to the project, as well as implement high-priority components of the work. As a result, there is confidence that each period adds the maximum value for stakeholders against the backdrop of reduced uncertainty. Typically, iterative development is combined with continuous or frequent integration. In other words, once the components pass their unit tests, they are integrated into the overall design. After assembly and testing are carried out. Thus, the capabilities of integrated products increase throughout the iteration relative to the goals that were identified during planning. Regular builds (daily or more frequent) allow you to separate the problems and tasks of integration and testing, distribute them evenly throughout the development cycle. Often the reason for the collapse of projects is that all difficulties are discovered at one moment within the framework of one integration process taking place onfinal stage. In this case, a single problem stops the entire team.
Prospects
Due to the complexity of the software used today, it is not always possible to consistently design, define requirements, test, implement, choose an architecture, perform these and other steps correctly. An iterative solution allows, at the end of each period, to give access to the project opportunities to interested parties. In this case, during development, the team quickly and periodically receives feedback. These, in turn, allow improvements and problems to be addressed at a lower cost if within the time and budget of the project and well before development has progressed far enough that significant rework may be required. Iteration allows you to get the current code. It can be activated, evaluated and adjusted in the direction of project development. As a rule, the duration of the period is four weeks. However, there are teams that work for seven days or longer, up to a month and a half.