IT project management methodologies: Waterfall, Scrum, Prince2

In this article, we will consider the basic methodologies of IT project management. I identify three main methodologies: Waterfall, Scrum and Prince2.


This is one of the oldest and most classical methodologies. It is based on well-defined phases that are performed sequentially. Each of them has quality control. The next phase begins only after the previous one is completed.

The main phases of the methodology:

1. Definition of requirements. We define the requirements for the future of the solution.

2. Planning. Let's review the implementation plan.

3. Design. We are engaged in the design of the system.

4. Development. Writing the code.

5. Testing. We check whether the development team did a good job.

6. Implementation. We integrate products into the business process.

7. Support. We maintain the relevance of the product, refine the functions on request.

This is a fairly transparent model that is suitable for stable projects in which requirements are pre-defined. But it is not flexible. The customer sees the result only at the end of the project. Other methodologies come to the rescue here, which we will discuss in the following posts.


This is one of the most popular and flexible methods of IT project management. Although no, not only IT. This methodology is based on the principles of the Agile approach, which I wrote about in a previous publication.

The following roles are highlighted in this methodology:

1. Product Owner — a person who determines the main requirements and priorities for the product.

2. Scrum Master — in fact, it is a project manager who manages the Scrum process, ensures compliance with the methodology and team support.

3. A development team that implements tasks within the sprint.

The main phases of Scrum:

1. Sprint planning. Goals are defined, a list of tasks is created.

2. Iteration (Sprint). The team works on the tasks for 2-4 weeks. During this phase, daily meetings are held on the progress of the day's tasks.

3. Verification. The team demonstrates the result of the work.

4. Retrospective. Reflection on the results and analysis of how the process can be improved.

5. The loop. Repeat the process until the product is ready.

6. Launch. We launch the product in production.

This flexible methodology is ideal for projects where there is a lot of uncertainty. At the same time, it requires good discipline from all team members.


Prince2 has its own principles that are worth listing:

1. The economic feasibility of the project and compliance with the overall business goals.

2. The project should be divided into stages with clear goals and results.

3. The roles and responsibilities of the participants should be clearly defined.

4. The Project Council forms the main requirements for the implementation of the project.

5. Continuous learning and adaptation based on experience.

6. Quality and measurability: The project must create a concrete and measurable product.

7. Individual approach to each project.

Now let's look at the main roles in this methodology:

1. The customer. The owner of the project that finances it.

2. The user. The person who will use the result of the project. This role is compatible with the role of the customer.

3. Supplier. In simple words, he is an expert in the field of the project, who advises the team in order to achieve the best results.

4. Project manager. The person who controls the entire project.

5. The team of performers. Responsible for the implementation of the project.

6. Administrator. He is responsible for organizing meetings, monitors updates in daily results, and is responsible for instructing performers. On small projects, this role will be performed by the project manager.

7. Advice. It usually consists of a customer, a user, and a project manager. The Council makes key decisions and oversees implementation.

And finally the phases of this methodology:

1. Launch the project. At this stage, the following are determined: "why this process is needed" and "what are the goals of the project". The initiator forms a brief description of the project and submits it for approval, after which a detailed description of the project is formed.

2. Project initiation. We have a description, but to get started on a project, you need to plan it. A detailed project implementation plan is created, the roles and responsibilities of the participants are determined. The plan is created for the following performance indicators: cost, time, quality, volume, risk and benefits.

3. Project management. The Council monitors the execution and makes key decisions.

4. Phase control. The project manager decomposes the tasks and passes them to the performers. Monitors the progress of work and helps to cope with "plugging".

5. Product management. The project manager evaluates the progress of the tasks and checks whether the product meets the declared quality.

6. Change management. Evaluation of the completed phase and preparation for the next one.

7. Completion of the project. Final summing up and completion of the project.

The model is good because it has a clear structure, adaptability, risk management and continuous growth for performers. This is a very powerful tool that can be adapted for both small and large projects.


We have reviewed three main project management methodologies: Waterfall, Scrum and Prince2. The choice of methodology depends on various factors: project size, team size, project budget and others. Approach the choice of methodology flexibly and do not get hung up on any one.



Composition of the IT development team

In this article we will look at the composition of the IT solution development team


About graphs, simply.

In this article, we will begin our acquaintance with graphs, get acquainted with the breadth-first search algorithm (BFS) and implement the graph in the Rust programming language.


What is the difference between outsourcing development and outstaffing an IT employee for development?

In this article we will understand what outsourcing and outstaff development are.


UI/UX design: The creation process

In this article we will talk about the main steps in the process of creating UI/UX design.


UI/UX design: Introduction

In this article, we begin to get acquainted with UI / UX design. This is the most important stage in the development of any visual application interface.


Agile, Six Sigma and No Principle

In the last article, we started diving into the development process. The first stage of this process is planning. At this stage, the project manager, together with other team members, forms a pool of tasks in accordance with some kind of project management methodology.


Meet the Pentest

We are beginning to consider one of the main methods of assessing the security of computer systems and networks for potential vulnerabilities - penetration testing


Reducing the implementation period of MVP

Let's figure out the timing of the implementation of the MVP.


Choosing a programming language

In this article we will talk about choosing a programming language to study


Testing an MVP concept

We will figure out how not to waste the budget on MVP development in vain


Application Architecture Design: Introduction

In this article, we will talk about the process of creating the architecture of an IT solution.


The terms of references: Structure

In this publication we will consider the universal structure of ToR


Incorrect estimation of the cost of IT contractor services

Today we will talk about the incorrect assessment of the cost of developing IT solutions. This pain is one of the main ones for enterprises and startups, including IT contractors themselves.


Introduction to Design Patterns in Software Development

In this article, we will begin to dive into the world of optimizing application architecture using design patterns.


Choosing the direction of development for programming training

In this article, you will find out what areas of IT development there are, how they differ and in which they pay more


OSI Model Levels

In this article, we will take a closer look at each of the levels of the OSI model


Main types of application architecture

In this publication, we will look at what application architectures are


10 ways to use Rust Cargo

In this short article I have collected 10 ways to use the build system and package manager of the Rust programming language


Documenting code in the Rust programming language

In this article, we will look at how documentation takes place in Rust and consider a very useful opportunity - writing tests through documentation.


Introduction to the OSI model

In this article we begin to consider the fundamental model of network interaction - OSI


CSS animation ripple

A simple example of how to implement ripple animation using HTML and CSS


What is the purpose of an ER-diagram in the development process?

Let's discuss in general terms what an ER diagram is and what it is used for.


From concept to MVP

In this article, you will learn, by example, how to move from a concept to an MVP without unnecessary complications in the functionality of the product


What are UML diagrams used for?

In this article we will talk about what UML diagrams are, what they are and where they are used


Introduction to writing the terms of references

The Terms of Reference are an important part of the development process. In this article, we will begin to dive into this issue.


Introduction to software development

Today, most companies are faced with IT development and often do not get what they want. In this article, we begin to dive into the process of creating IT solutions.


From idea to concept

In this publication, we will talk about how the idea differs from the concept. Let's do this with an example of a specific goal


Weighted graphs

In this article, we will get acquainted with weighted graphs, Dijkstra's algorithm, and its implementation in the Rust programming language.


Development Process: Planning

In this publication, we will begin to consider the development process. Let's start with the planning process.