Agile vs Waterfall

Agile project management is distinguished by its iterative approach to planning and implementation, using short processes. The iterations are reviewed and analyzed by the team members; they are the ones that allow to define the next step. Iterations are short, maximum two weeks on average.  With the agile methodology, problems are identified, adjusted and solved quickly.

The traditional project management is the best known. Colloquially known as cascade or sequential development, this methodological approach rigorously orders the stages of the process for the development of the project. In this methodology, scope and time are decisive. It emphasizes in its schedules that usually, the beginning of each stage must wait for the completion of the previous stage.

Hybrid management is the combination of classic project management and agile management.  Its promoters and practitioners are experts in the two previous ones. The model is used in industries where innovation and competitiveness are the key. In these projects, generally, development periods are short, time is pressing, and you must be in the market before your competitors. The changes in the sector require constant innovation and adoption of a more flexible model that must focus on results and above all on customers.

The selection of an appropriate project management model for each industry or company will depend on the circumstances of the organization that decides to carry out the project, its team and the type of problem to be solved. 

In the technology and telecommunications sector, the agile management model is often used. Other industries such as construction and space prefer the cascade or sequential model. The mixture of both is usual in retail and in the development of electronic or digital products of massive consumption. The interesting thing is that, in these same sectors that are betting on the traditional and/or agile, there is a growing trend to use hybrid management as a result of the digital transformation and the changes we are currently experiencing.

It is necessary to study the environment in which the project will be developed:

Is it an environment of high uncertainty, volatility, complexity and/or ambiguity? If so, perhaps the best way to approach the project is through an agile methodology.

Work team: How have you worked so far? If the team has no training or experience in these types of methodologies, it may be complex to introduce initially.

Experience: what type of methodology has previously given the best result for projects with similar characteristics?

Company: what is more important in your environment? People, technology, processes… In an agile environment more importance is given to people while in a traditional environment the processes take the lead. When these processes are highly directed by security standards, etc, it is possible that traditional methodologies can plan all the work in advance in a more efficient way.

At this point it is already possible to have an initial idea of where to direct the management of a project, but you can go a step further and analyze its life cycle to determine the final decision:

Requirements: if these are defined in advance, even before starting, you could work with a cascade methodology but if they are going to emerge during the course of the project and have to be adapted to a changing market context, customer or priorities, it would be a project whose evolution will be better if agile methodologies are used.

Deliveries: there could be different scenarios from a single final delivery to incremental deliveries previously assessed by the customer, in which case it would be better solved by an agile methodology.

The change: it will also depend on the project. This is restricted in cascade methodologies while in agile methodologies it is incorporated in real time.

The stakeholders: we must consider how they are going to be incorporated into the project: continuously, only at the initial moment, at specific moments? The agile development methodology requires a greater participation of the client. Customers are very involved in the early stages of the software development process when they use the traditional methodology. More specifically, their input is needed during the requirements gathering phase, as they must provide a detailed description of what their requirements are with respect to the software application to be developed and how they envision it working. However, they have limited participation after the software development process begins, in addition to attending status meetings, making reviews, and providing approvals. They can usually see the entire product after completing a software development life cycle.

In contrast, customers are heavily involved at each stage when they employ the agile development process. They can review the application at each stage and make suggestions for improvement. As a result, customers are more involved in the entire development process, in turn ensuring that they are satisfied with the final product.

Risks and costs: Is it possible to control risks as they arise or must there be detailed planning for them?

In short, we could say that a predictive or cascade methodology should be applied when it is clear what needs to be done and how.

Agile methodologies, on the other hand, are appropriate when it comes to discovering what needs to be done and how.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

KanbanKanban

Kanban is a methodology that allows an improvement in the workflow of the team by separating a production process into several phases that are perfectly delimited. Kanban means visual cards

READ MOREREAD MORE