As an Agile evangelist with over 13 years of overall rich software industry experience I often come across this question of Agile Vs Waterfall. Questions range from why agile to why not waterfall and everything in between.
Today, I wanted to pen down my thoughts that I think will help everyone to try and shun this debate and instead try and focus on getting success with either Agile or waterfall based on the situational awareness as both were created to solve different types of problems.
To understand why Agile was envisioned, we need to understand the increasing complexity our world is getting into which is not only related to software industry but life in general. Here’s a user story from our day to day life:
To successfully implement this simple story, you need to start early to keep your overheads low and avoid the risk of not meeting your goals because of starting late. It is also required to periodically revisit your plan and keep updating it, make any trade-offs, if required, to maximize the expected value. You need to have faith in your abilities to handle any unplanned activities as they pop up and move with confidence.
While you are handling a complex task, as life is not simple, keep your plan simple and not too complex so as you can follow the plan.
Focus on getting one smaller item completed at regular intervals and keep moving ahead. Be ready to face your failures and learn from them as you move along because success doesn’t come without failures.
From the above example, you would start noticing a pattern. I am highlighting some key items below based on the above user story, success criteria, and related explanation:
Closely examining these points would tell you that these are some of the Agile fundamentals. There are many other things that can be inferred from the above story which would further reveal its similarity with Agile, however, the point here is to highlight that life, in general, requires you to be Agile if you are gearing for success.
In case you are still wondering, Agile tries to help solve complex problems. Be it software, hardware or the life itself which deals with some of the most complex issues, Agile was designed to help navigate and conquer such issues. This is not to say that Agile is perfect but the very definition of Agile means that you are highly responsive to change, and you believe in your abilities so that you can make necessary amendments to your plan or action as and when required to ensure you meet your story’s success criteria.
No Trainings found