Honestly ... Which methodology do you prefer ... Agile or Waterfall?
Hold it right there.
The title of the post is a question, but before you close your eyes and put your index finger on one, let me ask you this - You sure you understand the question? You sure, you understand the methodology of your choice? Answers to both of these questions is absolutely necessary if you want to do justice to your methodology of choice and yes, more so ... if you want to be honest that is.
For me, the choice is Clear - "Agile works anywhere and I am a great fan of ?. But if someone asks
me “which one is better, Waterfall or Agile”, my answer would be … which one is
better “Iron ore or Steel Rod” ... which one is better .... "A seed or a Fruit". Agile would not exist without Waterfall. It's
one of those kinds – Dog is an animal, but every animal is not a dog. Same way
Agile is Waterfall, but waterfall is not Agile. .... Yes, I can see some of the eyebrows touching the sky already .... so here!!!
Agile
is concept. Scrum is a framework that uses Waterfall underlying. Agile is a set of best practices that people put together and called it by a Name. The way I see
it, When you are doing Scrum, you are doing waterfall .... repeatedly and fast enough focusing on small
portions so that you can avoid surprises along with customer interaction. And
in the process you are shifting responsibilities from a controlled and
one-person-managed environment to a responsible team along with customer involvement and collaboration.
Scrum provides you the guidelines and framework to work together with shared responsibility. If you
notice, the focus of all Agile methodologies is “people too” and not just
Processes.
So what is this big fuss about "which is better"? To me, comparing Agile with Waterfall is a stupid debate. The comparison should not be and need not be between Agile and Waterfall. It rather should be between Agile and Traditional. I repeat .. I am saying “traditional” … coz
you cannot ignore waterfall. You cannot write the code without design and you
cannot test it without requirement. So process is set, one thing after
another ... a liner way. So do it one after another, do it more frequent and faster, do it collaborative way, do it with shared responsibilities, mix some of the best practices, and there ... you have Agile.
Would you agree? And if you do not, I am sure I missed something in the post. So shoot it in the comments and I will res