- Waterfall model – A consistent method of development with clearly defined output products at each stage.
Many experts in IT are followers of this model and still strictly carry out analysis and revisions in order to ensure the availability of satisfactory criteria for entry to the next step. This model is suitable for standard projects with clear requirements.
- Iterative model – Step by step creation of a system beginning with basic functions and then gradually adding other functions until the whole system is ready for deployment.
In comparison to the waterfall model, iterative development allows larger flexibility in the application of new requirements or changes. Iterative models also provide the opportunity to make some improvements in subsequent iterations based on lessons learned from previous phases. Within the confines of such an approach, a project passes through a repeated cycle: Planning – Realization – Testing – Evaluation. Such models can be appropriate for more complicated projects.
- Agile - Methodology appeared as a result of the development of the Internet and the need of more complicated and non-standard applications.
To some extent, Agile models are a modified variant of the iterative model mentioned above, where output results are provided at each stage. The main distinction between Agile and iterative models is that output results are presented in weeks rather than months. Agile methodology places importance on the communication between members of a project team and the customer, and also interaction within a project team between its members. Documentation is of secondary importance. A good workflow management system allows managers to optimize the project schedule to better utilize and distribute the roles of specialists. This allows a more effective and efficient use of all resources.