Managing a Project… Agile or Waterfall?

Compartir en redes

Rodrigo Quintana, Process Improvement & Compliance Manager

Many times, doubts arise about which approach is best for a particular project. Sometimes, it is even the client who pushes for a certain method due to trends or habits, without sufficient arguments or situational analysis. This is where the guidance of project managers becomes essential.

Both theory and practice have shown that the choice of methodology is not solely dictated by the nature of the product but by other variables that define the characteristics of the project. These variables, known as the “Iron Triangle,” are responsible for a project’s success or failure: Scope, Time, and Cost.

The triangle establishes a triple constraint through these variables. This means that constraints are balanced when the combination of cost and time equals the scope. In other words, this balance ensures that the project does not stall due to deficiencies in one of the variables. To understand this, we can visualize it as a scale:

If the scope increases, it must be balanced by adding resources (cost) and/or time (extending the deadline). If cost (available investment) or time (bringing the deadline forward) decreases, the scope must be reduced accordingly. If this balance is not maintained, one party (either the client or the provider) will suffer the consequences, and the project will not be successful as it will fail to meet expectations. It is important to highlight that in a successful project, both the provider and the client obtain the expected benefits (economic return, expected functionalities).

The traditional or “Waterfall” method is based on a fixed scope, allowing for a well-defined plan. In contrast, an Agile method works with the concept of a Minimum Viable Product, where the scope is variable. Both aim to achieve the same result but start from different levels of risk, which affects the level of visibility the client must have regarding the value being generated in the solution’s construction.

Imagine implementing an email service based on Microsoft 365. The scope is easy to determine, such as the number of mailboxes to migrate, current rules, and required storage. The expected outcome is straightforward to align with the client from the kick-off. In this scenario, applying the Waterfall method is the most efficient approach.

Now, suppose we are implementing AI for a traditional service desk. The client knows that AI will bring benefits but does not fully understand how. They only know that they have a budget allocated for this period to find a viable solution. Here, the level of uncertainty is so high that following a predetermined plan is extremely risky. The probability that the implementers’ vision aligns with the client’s expectations is low. The problem with applying a Waterfall method in this scenario is that the difference in vision will only become apparent at the end of the project, which is a perfect recipe for failure. However, an Agile approach ensures continuous scope revision based on what is being built and validated with the client.

Some may think that this iterative review process is slower rather than agile. The issue here is assuming that “agile” means “fast.” In the context of methodologies, agility refers to adaptability. A project is considered agile because it can adapt to changes with minimal impact, not because it is completed in record time.

Ultimately, each method is highly effective when chosen according to the initial conditions of the project. In fact, elements from both methods could even be combined if business conditions and organizational culture warrant it.

As an additional note, the core principles of Agile methodologies did not even originate in the IT industry but in the automotive industry towards the end of World War II.

But that´s another story…