Agile vs. Waterfall – Pros, Cons and Myths

Let’s say a few words first, before we go into methodologies: there is one common principle, known for centuries – communication is key to success. Remember game of silent post? So if you place small (no matter if it’s called agile) team in one room and teach them how to communicate effectively, you will get for less effort better and faster results per item, than sharing all thoughts through different roles across whole hierarchical project chain.

I cannot judge which of the methodologies is more effective in the end, because of the lack of participation in agile projects, but I am pretty sure, that agile should not be an all-solving religion and pretty sure, you can effectively deliver anything by PRINCE2 (waterfall based). All is about people, respectively, their motivation to deliver.

Lets pinpoint some things about the two methodologies.

Waterfall (PRINCE2)

  • It’s definitely predictive – You should know what you are going to deliver at what time, scope and quality. For that you need more senior people to plan and predict well.
  • You can utilize shared resources (roles) across company (architects, marketing, business analysts…)
  • You can have control of big projects – coordination is the key stone of waterfall (in my opinion, most waterfall projects fail because of communication resulting in lack of coordination)
  • PRINCE2 offers guidance how to solve ANY issue (not only in project)
  • You need documentation as you pass waterfall stages (handover to another role). So you have very good documentation at the end, but it slows you down through waterfall stages, and of course, it’s less amusing to document and read complex documents, than talking with the team.
  • Motivation comes from accountability and defined responsibility. Lots of people can perceive responsibility as negative motivation.
  • Tighter top-down control over delivery, but reporting and managerial decision slows the delivery speeds down and do not focus on details, which could be important for the team, or the end users.
  • Worst disbenefit IMHO of PRINCE2 is that it doesn’t put importance of what happens after project. When you do a project in a company, you will for sure need to work on that (costs, maybe other people).

Overall: best suitable for well predictable, well defined projects which you want to keep under tight control. But even in non-predictable environments, you can use waterfall like hybrids – in example: Spiral model.

Agile

  • Flexible prioritization of requirements (short delivery sprints), and the backlog is never fixed
  • Development of new features comes from priorities of stakeholder representative, not from a defined management scope, which helps a bit more with user adoption
  • Supports continuous development
  • Supports collaborative thinking, thus delivering more quality outputs of small tasks. But problem with effective utilization of “shared” roles, like risk, compliance, architecture
  • Motivation comes from allowing decisions on smallest level => creating small accountability blocks. Whole team feels, that is driving the solution, learning from each other on-the fly.
  • In long term perspective, you need to create and maintain very motivational environment, to keep the team running by itself, as “agile” is saying. For a new project it’s easy, but imagine 6 years ongoing development of a mobile application. Probably the senior members of the team will start to be bored after one year, when the core product is in place.
  • Missing the will to do the hard things – ie.: documentation at some point (fluctuation of employees, or complex solution) will be needed.

Overall: suitable for a not well predictable environment (startups, innovating centers, business development, product development)

Myths

  • Faster delivery only in agile. Well, there is not only an exact Waterfall model in waterfall methodologies, but not much people knows about it. For example you can use Spiral model, which grows with your project, similar as MVP grews in next sprints in agile. Or you can plan your delivery every two weeks, have some phases, like testing in paralel etc.
  • PRINCE2 methodology is alway worse than agile. That can be true only if following strict waterfall, but in which company it’s exactly that way? In PRINCE2, you are taught how to react in which situations, so you have like all-project walkthrough. But as well, you are taught, that the most important rule is to tailor everything in your project, to in example: company culture, environment, available roles…
  • Fail fast approach can be done only in agile. Again, you can tailor your project as you want. You can have planned pilot stages. You can dedicate resources for exploration of topics. You can set bigger project buffer, because you know, there will be some learning topics for the team. The only difference is that you are saying these things upfront.

Leave a comment