dedomainia home banner.jpg



Agile vs Waterfall approach in Software development?

It is 11:05 am on Monday. Meeting started at 11 am and after the usual and polite “Hello, how have you been “, Mike and I are discussing why there is a need for an extra budget, couple of weeks only after the total cost of the project has been signed-off.

I am a senior product manager in a tech company offering web-based solutions. I have extensive product development experience and to best answer to my customers’ requirements, I follow Agile principles. Instead of planning for the whole project, I break down the development process in small Development Life Cycle lasting no more than couple of weeks. At the start of each Development Life Cycle, a list of deliverables is prioritized based on customer input. Regularly we review and evaluate the work and factor any updated/new requirements from the customer into the next Development Life Cycle.

Mike, on his side, heads the operations of a large financial institution and works in a constrain environment where budget and resources need to be carefully planned. Usually, 2022 IT budget and resources are formally signed at the end of 2021. I give to Mike my estimates of the efforts required for the work to be performed in 2022 using a Waterfall approach. Waterfall project management is a sequential methodology where all requirements are gathered as much as possible before the start of the development and used to provide precise plan, budget, and resources for the entire project.

The call did not go nicely. Mike is upset that he must go back to the steering group in charge of the project to ask for extra budget. In addition, the overall timeline has shifted and all the sudden a project that only started few weeks ago and was progressing well is flagged as off track internally.

So I am wondering if there is a place for wagility (Waterfall + Agility at the same time). How to deliver at pre-agreed budget the best product for your customer? Seems to me that the promise of Agility is to implement Customer new requirements based on the initial Development Cycles to make the product better. If we don’t and stick to the initial budget, there will be important features missing in the final version. Any thoughts?

PS: This is a simplified and fictive scenario to illustrate what seems to be a constant dilemma when developing softwares. If this short article echoes to other, I will share shortly my vision and the strategy in place at Dedomainia to build new products under a fixed budget while taking into account feedback/comments from the Users as they emerge.