Agile vs. Waterfall: Are We Just Making Work for Managers?

Hossein Dehnavifard

 In the world of software and systems development, the battle between Agile and Waterfall never seems to end. On paper, both methods have their strengths. But in real life—especially if you've sat through back-to-back status meetings—you start to wonder: is all this structure really helping, or are we just keeping project managers busy?


The Waterfall Model: Classic but Rigid

Pros:

  • Clear stages: requirements, design, implementation, testing, and maintenance.

  • Predictable timelines and budgets.

  • Easy to manage for projects with well-understood requirements.

Cons:

  • No flexibility once the plan is in motion.

  • High risk if requirements change midstream (which they almost always do).

  • Testing comes late, which can lead to costly rework.


The Agile Model: Flexible but Demanding

Pros:

  • Iterative delivery—working software early and often.

  • Adapts well to changing requirements.

  • Strong collaboration with customers.

Cons:

  • Constant meetings (stand-ups, planning, retrospectives, grooming).

  • Can feel chaotic or directionless without strong team discipline.

  • Difficult to predict long-term effort or cost.


Are We Just Making Work for Project Managers?

Let’s be honest—when you spend 30–40% of your week in meetings just to coordinate work, the process starts to feel like the real product. Ironically, Agile was meant to reduce overhead, not become a new kind of bureaucracy. But when it's run by people with little technical background—often financial or administrative types—the process can morph into micromanagement with a friendly name.

What If Engineers Were the Managers?

If project and product managers had engineering experience, you’d likely see:

  • Fewer, more meaningful meetings.

  • Process tuned toward technical efficiency instead of tracking metrics.

  • Decisions based on tradeoffs and realities of implementation.

  • More deep work, less status noise.

A manager who understands code complexity, integration pain, or the nuances of hardware-software interfaces isn’t going to ask for a “quick change” every two days. They’d know better.


A Radical Thought: What If We Had a Task Pool?

Imagine this: instead of rigid sprints, grooming, and planning rituals, what if there was just a pool of prioritized tasks (like a queue of engineering chores)? Engineers could:

  • Pick tasks they have the expertise or interest in.

  • Estimate their own deadlines based on scope, existing load, and unknowns.

  • Be trusted to communicate blockers and progress without constant check-ins.

This isn’t fantasy—it’s how many high-performing open-source teams operate. The work gets done because there’s trust and autonomy—not in spite of it. You remove the manager bottleneck, reduce meeting time, and allow engineers to own their productivity.

Would it be more efficient? In many environments, yes. Less time managing the process means more time solving real problems. More self-direction leads to better ownership and motivation. And most importantly, engineers stop being treated like factory-line workers and start being trusted as the builders they are.


So, What’s the Best Model?

There isn’t a one-size-fits-all. But here’s a hint: if the process is taking more energy than the product, it’s broken. Maybe it’s time to revisit the basics—trust the team, reduce the noise, and let engineers do what they do best: build


hosseindehnavifard.com    

Comments

Popular posts from this blog

The Hidden Cost of Return-to-Office Mandates: Environment, Employees, and Empty Optics

Embedded Systems: The Brain Behind Electric Vehicles

Electric Vehicle Development: A Journey Towards a Greener Future