Software development is an integral part of software engineering, along with disciplines responsible for the functioning and maintenance of software products.
The software development process is the procedure according to which the development of software is performed.
The development process consists of a number of steps, some of which are shown below. In the waterfall model, they go one after another, in agile models their order or composition changes.
Waterfall model was proposed in 1970 by Winston Royce. It provides the consistent implementation of all phases of the project in a strictly fixed order. Once work is completed in one stage it can then move on to the next. The requirements defined at each stage are strictly documented in the form of a technical assignment and are fixed for the entire project development. It finally ends with the release of the software implemented by developers. accompanied by a complete set of documentation.
Stages of the project in accordance with the waterfall model:
In the waterfall model, the inaccuracy of any requirement, or its incorrect interpretation, means you have to "roll back" to the early phase of the project; in this case, the required processing not only delays the project team’s
An alternative to a waterfall model is the so-called iterative and incremental development (IID).
The IID model assumes a breakdown of the project lifecycle into a series of iterations, each of which resembles a "
The goal of each iteration is to get a working version of the software system, including functionality. The final output contains all the required functionality of the product. Thus, with the completion of each iteration, the product evolves one step further.