Waterfall or Agile – which is the best?
The discussion about which method is the best, Waterfall, Agile, or even Fountain, is based on the idea that a project should only use one method. However, we think a project should use two methods.
We advocate that a project should use one method for the overall plan covering the whole project and a different method for the detailed plans covering the next few weeks. The overall plan can be more Waterfall, and the detailed plans preferably Agile.
In a project, you need to be able to move between different time horizons at regular intervals. Zoom-out to see the big picture described in the overall plan – Zoom-in to manage the details described in the detailed plans – back and forth. There is always an optimal way to get from start to finish that you only can see if you zoom out to see the whole project. In the same way, you can only manage all the essential details if you zoom in and focus on what needs to be done in the next few weeks. Moving between the complete picture and all the essential details increases understanding, improves efficiency, and boosts team building and motivation.
Learnings from the detailed plans may lead to adjustments to the overall plan. Conversely, adjustments in the overall plan will influence the detailed plans. The symbiotic relationship between the overall and detailed plans is like the relationship between an anemone and a clownfish — two different organisms benefiting from each other. By going from one method to two methods, you get the benefits of two methods and avoid many of the disadvantages of both.
Many software projects could benefit from improving their overall planning, covering a large number of sprints. Create the bigger picture and a strategy to promote proactive activities focusing on the system architecture, risks, and business case. In the same way, many hardware projects could benefit from submerging themselves into all the nitty-gritty and essential details necessary to optimize the activities that need to be done in the next few weeks. We have found that this planning philosophy of using two plans is the best way to work with projects involving both software, hardware, and services.
In Product Development, we have found that the Overall plan can preferably be a milestone plan, and the detailed plans can be anything from a scrum board, network diagram, Gantt-chart, or a simple To-Do-List. You can use different planning methods for your detailed plans for software and hardware, or different types at the beginning of your project compared to the end.
The debate sometimes gets undertones of fundamentalism at that there is only one true method that is the solution to everything. We don´t think there is any such method. All models and methods have pros and cons. Even what we recommend in this post has pros and cons. There is no silver bullet. Instead, we believe that most projects will benefit from an open attitude and see the merits and disadvantages of Waterfall, Agile, Scrum, Fountain, or whatever the method is called.
Per och Ulf