In a WhatsApp group to which I belong, the (eternal) conversation recently arose about what are the advantages and disadvantages of using traditional methods and Agile.
I want to change the direction of the conversation by analyzing if it is possible to use traditional methods and Agile at the same time. Under what conditions? What are the advantages obtained in the end by combining traditional project management and Agile project management?
It is a recurring theme and it is not new, so I am going to present some conclusions:
Let’s start by describing a typical scenario: an IT project with a fixed scope, time, and price. Contracts must be signed following the scope statement, WBS, and schedule. All requirements are collected and estimates are made from the beginning. After that, when the execution of the project has started (ie the design and development phase), the project works with agile methods.
Sprints (Scrum) are organized and a Kanban board is used. The biggest benefit of this hybrid approach is that teasers can be shown and delivered, and the customer will know what they are getting. This is a much better scenario than a “big bang” delivery. In a classic Waterfall approach, clients get everything at once at the end of the project, and there is a very high probability that the client will not be satisfied with the result.
With a hybrid model, the customer has multiple opportunities to see and react during development in short periods. He may change your mind or add something new. With this approach, it is much easier to agree that something is out of scope because it has already been defined. There is the option to obtain more resources and/or time. Best of all, there is a good chance that the customer will give up some previously defined and desired functionality in favor of some new ones that were not considered or defined in the original plan.
Here are some of the challenges of executing projects with only Agile methods:
– The client wants to know in advance what will result when the project is finished. In this case, the requirements must be defined in the early stages of the project, which is probably impossible.
– The client wants to know the budget. Financial reserves must be prepared in advance, and to obtain them, it is necessary to be clear about the entire scope!
– The client wants to know when the project will be finished.
On the other hand, a single methodology cannot be the only tool for all situations. The primary goal of a hybrid methodology is to enable teams to define requirements and adapt to changing requirements through continuous feedback and delivery. The hybrid method retains the clarity and tracking of the waterfall method while embracing the adaptability and flexibility of Agile.
Here are some approaches for using Agile and traditional methods together:
Water-scrum-fall
The business analysis and release management teams follow traditional waterfall methods, while the development and test team scrum methods are on a limited basis. This hybrid project management employs the traditional waterfall approach to planning, requirements gathering, budgeting, and documenting project progress. When there is enough detail to start development, the team switches to an iterative version of Scrum for product development.
Agifall
Agifall’s approach combines the best of waterfall and agile by injecting agile into a loose waterfall process. Agifall’s goal is to increase speed, decrease cost and improve quality. Agifall approaches planning in a user-centric way and uses rapid prototyping tools. Lead planning activities and waterfall requirements in an agile way by breaking them down into user stories and prioritizing them in the sprint.
Balanced Agile
Abhinav Gupta, quoted by Erick, defines Balanced Agile as a concept that aims to help realign deviant projects.
Additionally, teams can learn to communicate, coordinate, and plan for success. All teams have the common goal of providing customer value. Cooperation and communication between teams, regardless of the methodology, is the key to success.
Read more:
Is it possible to use traditional and Agile methods at the same time?