Pros and cons

Waterfall and Agile are two different methodologies. Waterfall is a linear approach to software development—a sequential design process used in software development processes, it is considered as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation, and maintenance. As for Agile, it is a set of principles for software development that maintain different methodologies for flexible development of projects.

Advantages

Waterfall Agile
Easy to understand and use; Iterative development;
This methodology is well-defined and it facilitates implementation for semi-skilled teams; Time boxes;
Stable requirements for the project/product from the very beginning; The end-user is involved in the process from the start;
Clear milestones; Easy to get the first trial version of the product out for testing;
The projects are in control, and time, resources, and risks are kept track of; Corrections and changes in development process cause some trouble.
Quality is a key factor.

Disadvantages

Waterfall Agile
The requirements should be concrete and elaborated in detail before development; There is a risk of lower quality products;
Costly and slow; The project may not be completed;
Susceptible to changes; Problems may rise concerning product expandability.
It is difficult for the end-user to influence the objectives of the project and requirements of the product;
The issue of problem detection is of great current relevance;
Consists of a large amount of technical documentation, and this can lead to confusion for the end-user or customer.

When you should use it:

Waterfall Agile
Transparent and strong requirements; The end-user is engaged in the project from the very beginning;
 Well-known instruments and technologies;  Clear business goals of the product/project;
 The project is big, expensive, and difficult;  Small or medium-sized project, to be delivered in  a relatively short amount of time;

 Samples:New version implementation of known product;

ERP systems implementation.

 Steady team composition;
 Team that possesses high standards of professionalism;
 Technical requirements are acceptable; they are correlated with technologies that would be used for development;
 The system may be modular.

These two methodologies have their own advantages and disadvantages, and they are each appropriate for the application of projects with different input data. There are cases when product supply can be implemented by the means of the two methodologies. Such key parameters as cost, time, team qualification, and the end-user influence the choice of methodology.

It is up to a project manager to select the most appropriate way to make great strides. Waterfall, RUP, Scrum, RAD, XP, FDD, TDD may be your assistants. The main task is to understand the important differences between them, their principles, advantages, and disadvantages. It is essential to find the right combination of approaches for every project stage.