The developed approaches are very different from each other. They differ in scope, detail, self-sufficiency, and formalization. In the title, we called them “methods” for convenience, but in fact, this article introduces the standards, concepts, methods, and frameworks that are used in project management. The purpose of this article is to provide the broadest overview of existing project management approaches. An IT software development company can choose any scheme based on its own experience. But the choice must be justified and agreed with the customer. It is imperative to provide a software process model example.
1. The Waterfall Model
Traditional software development model examples include a cascade. A waterfall or waterfall model of software development is a development process in which all phases go through sequentially. Among them are the stages:
• Collection and analysis of requirements;
• Design and prototyping;
• Implementation of tasks;
• Testing of finished pieces;
• Product integration and support.
This is an outdated model. It is not rational to use it for big data development services.
2. The V-Model
The V-model is an improved version of the classic cascade model. The main difference is that each stage is tested before starting the next stage. Testing takes place even at the stage of drafting product requirements. This allows you to save budget and time, avoiding a lot of bugs in the release. But for complex large projects, this approach is also not suitable. If you need flexibility in decision-making or there are no clear requirements, this model also cannot be applied.
3. Iterative (and Incremental) Model
Iterative and incremental models belong to the class of agile approaches. Their similarity lies in the fact that development is carried out in very short cycles. At the end of each cycle, the project owner sees a detailed presentation and progress report. The difference is as follows:
1. In iterative models, there is a mockup of the whole product at once. The functionality is gradually increasing.
2. In the incremental model, the general view of the final product is not clear. Small pieces are growing, but they are already fully functional for release.
4. Prototyping Model
When prototyping is used, the development team approves a number of requirements and design elements and creates several mockups and prototypes of the finished software. Prototypes can even be used as a finished product. But the difference is that a huge number of bugs must be eliminated and functionality increased before release.
5. Spiral Model
This circuit is similar to advanced prototyping. It also uses layouts, which may well be a working product. The layout is being run through a series of improvements. These cycles are spiraling. Demonstration of the product to the customer is required after each loop. If the client considers the product to be of high quality, the enhancement of functionality ends and the project is released to the market.
Scrum is not a specific technique. This is a framework or set of rules that each development team adapts to their own needs. Among the clear conditions:
• The length of the sprint (development of a certain part of the project) is from 2 to 4 weeks.
• The size of the team is from 3 to 9 people plus a Scrum master who coordinates the work.
• 5 mandatory team member meetings (daily or during the sprint).
In Kanban, it is allowed to leave an unfinished task at one of the stages if its priority has changed and there are other urgent tasks. This is the main difference from Scrum, in which the task cannot be dropped, but the sprint can be closed. Also, the length of the development stages is not so rigidly fixed, although it should still be kept short. The team’s results depend on accurate calculation and planning at the beginning