Can Agile and Waterfall Methodology Work Together?- PART 2
From all discussions and articles that appear on the internet, we can see a glorification of the agile approach as the best and the only option for managing projects. Many resources say that you must choose Agile methodology regardless of costs and common sense. As it is a perfect option for complex problems and operating in unpredictable environments, what to choose for this project is simple, easily repeatable. We already know what steps to take to fulfill the goal. There are plenty of tools for both. The important question is – is it possible to leverage both approaches, Agile and Waterfall, to project management so that can both serve us?
Agile – the response to Waterfall challenges
Agile was created as a response to the challenges resulting from the reality that surrounds us today. About the world of SPAM and the Red Queen, you can read in the article: How world of SPAM can reach us agility
In the traditional model of project management:
- business value is delivered at the end of the project
- confirmation that the project requirements have been met takes place after its completion
- project planning and control requires a lot of work and commitment
- extensive documentation requirements – in case of significant changes to the project’s scope, it may be necessary to cancel it, as well as to restarts from beginning.
The agile approach focuses on:
- communication between teams and clients,
- client satisfaction,
- and time-saving.
The client receives the current work results at agreed time intervals. Depending on changing conditions, the project’s scope may be modified and adapted to current needs.
In Agile methodology, project planning and control are also of great importance, but these are short-term plans, not a detailed multi-year plan to deliver the expected results. The project implementation way itself already limits the risk of project failure: if we provide something iteratively and incrementally, now and then, the client can give feedback quicker, and we can easier adapt requested changes.
IRON TRIANGlE VS. Quality Driven
In the Waterfall approach, which presents a triangle called The Iron Triangle: we plan the project considering the scope. On this basis, we adjust the plan and the necessary resources. Then we also know how much money will be needed. Resources depend on the scope. Then we also know how much money will be needed.
In the agile approach, client immediately knows the costs because he can determine how much time and resources he can allocate. Then mini-projects, so-called sprints necessary to implement the final product, are created. Each sprint can be considered a short project (Scrum Guide 2020). Unlike the traditional model, time and resources are constant, and what changes is the project’s scope, which is adjusted depending on the current needs.
The principle of the agile approach is that we never sacrifice quality and are always open to change. Changes can be introduced from the beginning of the project, thanks to which the final cost of their implementation is not so high, as we can constantly adapt.
There is a reluctance to change in traditional projects where everything is planned because changes mean problems and costs. Each change requires a budget and documentation changes, and the later the implementation stage, the more difficult it is.
And sometimes changes are no longer possible. For this reason, traditional projects are sometimes called watermelon projects because everything goes according to plan until the tests and request changes begin. Then it turns out that the status of a project is not green but red (because we can’t change some things anymore), although we still show it as green because it follows the original plan, scope, and budget.
Agility REquires a Change in mindset: fixed vs. Growth Mindset
Many organizations are beginning to adopt an agile approach in project management, individual departments, and even entire companies. However, for such organizational changes to be successful, it is first necessary to change the way we think. It is not easy because no one likes change: changes mean leaving our comfort zone; they can overwhelm us. However, if we want to be “agile,” we must like changes.
According to the Agile Manifesto of 2001, which sets the direction of this methodology: adapting to changes is more important than implementing the plan. What matters is the product that works, not the detailed documentation.
However, to react appropriately and accept changes, we must change our attitude towards changes in ourselves. It is worth starting with developing Growth Mindset – a term popularized by the psychologist Carol Dweck, which means focusing on development, seeing failures as opportunities, learning from mistakes, taking up challenges, and accepting constructive criticism. If we have such an attitude, it is easier for us to work with teams, clients in business.
The opposite of a Growth Mindset is a Fixed Mindset which means focusing on constancy and thinking about failures as limitations. It is an attitude in which we do not learn new skills, and we do not take up new challenges or risks, thus wanting to avoid failures.
How to choose: Cynefin Framework
When choosing a model for running a specific project, we should remember that there is no such thing as a “right” methodology, ideal for use in each particular project.
Which one to choose depends on many factors, including the type of the project itself. Not every project is suitable for implementation in the Agile methodology.
How to choose then? The Cynefin Framework, which was developed in 1999 by Dave Snowden, comes with help. It allows selecting the suitable behavior model, depending on the problem/project classification type. It also helps us decide how to manage the project.
Cynefin framework distinguishes four types of problems/projects depending on their complexity: simple, complicated, complex, chaotic. They can be divided into ordered: simple and complicated and disordered (complex and chaotic). In the case of disordered stages with too many unknowns, we can be sure that the Waterfall approach will not work very well. When we have simple, repeatable stages that have already been checked, it is worth using a Waterfall approach: planning small steps and making short plans.
Agile vs. Waterfall: Combining Two Approaches
The answer to the question why Agile and not a Waterfall grows out of the present reality which is the world of SPAM and the Red Queen. A world where Agile methodology is better suited. However, we cannot forget about the huge experience gathered over several dozen years of traditional project management methodology, where many techniques and processes related to risk management and communication play a huge role.
Both approaches are tools that, in my opinion, when applied in an appropriate way, give the expected results depending on the area in which we operate (Cynefin). Scrum, one of the Agile frameworks, indicates in the Scrum Guide that “Every Sprint can be considered a short project” – a short period of time with planning at the very beginning and control of work results at the end. These are plans prepared by the team to achieve business goals and deliver value in a given time, and the acquired knowledge resulting from experience gives the opportunity to develop products.
Scrum Master at Sigma IT Poland
Want to deliver your software project more Efficiently? looking for experienced IT Professionals who will help you meet your Project goals?
Create Your delivery team or Expand your own with us!
Dedicated delivery teams:
We assemble dedicated teams of IT professionals with wide range of expertise in the area of web and mobile development, cloud computing, data management, project managers and many more