Agile vs Waterfall. Why?

Every week it seems like I read, see or hear someone positioning Agile as some sort of opposite of Waterfall.  I understand why people do this – it’s a shortcut of sorts.  However I feel it can be extremely shortsighted and a potential conversation-killer, especially when people in positions of authority or of significant influence are the ones doing these comparisons.  It’s even worse, in my opinion, when Agile practitioners do it.

Waterfall, as a software development approach, is largely a straw-man.  If you don’t believe me, read the source that seems to have started it all. And yet, even if you believe Waterfall is real, recognize that it is primarily (if not solely) focused on the process aspects of developing and delivering software.

Agile, on the other hand, and in my opinion, is a cultural approach (future posts will explore this) to software development.  This culture has been adopted outside of software development.  Agile is not only concerned with process.  It is concerned with both the people and the practices involved in software development.

So while Agile is about incremental and iterative software development (which is why its often pitted as an opposite of the straw-man that is Waterfall), that’s not where it ends. Agile informs how we organize to address our software development challenges.  Agile addresses the importance of engaging those who will use our solutions during the development process (as does Royce’s paper by the way).  Agile emphasizes paying attention to our technical practices and improving as we progress.

So instead of comparing Waterfall with Agile – which reminds me of people who compare the United States with Africa (thinking Africa is a country) and I’ve met quite a few of those people in my day – let’s have meaningful conversations around the aspects of the way we work that we’d like to improve.


8 Replies to “Agile vs Waterfall. Why?”

  1. Agreed. And Agile and waterfall are SDLC’s. Why does some management turn Project Managers into Scrum Masters (eliminating the PM function) and remove Program Managers? Agile is just the SDLC, it does not replace everything. We still need the traditional project, program and portfolio management functions to orchestrate and coordinate or it all turns into chaos. I’m just sayin’ 🙂


    1. Hi Carolyn –

      Nice to read from you.

      You are making my point – even though you may not know it. 🙂 Agile is NOT just the SDLC. It is more than that. Agile influences EVERYTHING because its culture around development and delivery. It informs whether you actually do Programs and Projects. If you do, it then guides you on the best way to manage those things – which may (and often is) be different from conventional/traditional ways of doing it.

      This Agile as a culture. Not what we find in most organizations where people have just adopted some processes found in Agile and think that they are now “Agile”.

      Now Agile, is a choice. Maybe not the right choice for every environment and situation. But let’s be explicit about what we’re really choosing.


    1. Carolyn, its too easy to simply label functional versus dysfunctional, right? I’m not sure its as binary as you are making it out to be.

      There are teams and orgs that are on a legitimate Agile journey. There are others that are simply not (even though they claim to be). It’s not that hard to tell the difference quite honestly. 🙂


  2. Eb, if you are on a legitimate journey or not…isn’t that binary as well?

    As you stated above “This Agile is a culture. Not what we find in most organizations…”.
    I’ve always worked in the “not what we find in most organizations” scenario so am writing from this point of view because, irregardless, we still are expected to generate favorable results, legitimate journey or not, supporting culture or not.

    So I’ll rephrase my original point. In most organizations where Agile is not a culture but an SDLC, throwing away over-arching orchestration/choreography roles like program and management is a bad idea. These roles exist in the agile methodology I received 2 days training on way-back-when and should continue to be supported. They are needed.


    1. Carolyn –

      Is being on journey binary? In my experience no. 🙂

      I’m stating that Agile as “just” an SDLC doesn’t exist. 🙂

      So yes, orgs need to decide what’s important to them and how they intend to attain such results whether it be by Agile (holistically) or some other means.


  3. Not to belabor the point but your statement was “There are teams and orgs that are on a legitimate Agile journey. There are others that are simply not.” if you are on a legitimate journey (True) or not (False) – sorry, but that statement is indeed binary – the bit value is either 0 or 1. 🙂 🙂


    1. Its not belaboring the point. I interpreted your point about it being ‘binary’ in the same manner of dysfunction/function.

      Yes, you are either on the journey or not. In that sense, it’s binary.

      Journeys (specifically business transformations) are full of twists and turns – that it may even seem at times, that you are no longer on the journey. Note, that I did point out a “legitimate” journey. So yes, an org is either committed to real Agile as a means of doing business or they are not.

      We always have a choice.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s