The Two Methodologies Today
Both Waterfall and Agile are used across different organizations today.
However, the introduction of Agile stemmed from a changing technological landscape. A few years ago, Waterfall worked for most companies because features were only released on a periodic basis.
As releases became more regular for many companies working to deliver on an hourly, daily, weekly, or monthly basis instead of a yearly one, Waterfall became less practical for many people.
With the option of Agile, teams had more flexibility to quickly deliver high functioning features and answer changing customer demand by releasing new iterations and updates more regularly.
While there has been somewhat of a shift to Agile and it leads as the primary management approach today, many people still use Waterfall for projects that clearly rely on extensive planning and static requirements or are unlikely to change.
Next Steps for Teams That Want To Go Agile
If you are interested in moving to Agile, identify the roles and people you need on your team to make a successful transition.
Look at your current team, as well, to understand where there are silos and barriers to communication. Agile works best when this is cross-departmental collaboration, so it's important to work from the inside out.
Look at your current planning process, and outline how your strategy will change in Agile development to allow for more feedback and flexibility. This will be crucial to shifting to a new way of thinking in your team's workflow.
Agile will require more testing earlier in the software development life cycle. Make it a priority to evaluate whether you will need to introduce automation, additional QA team members, new tools, or something else to help you be successful.
Identify the areas that currently challenge your team and what you're going to improve in the transition to Agile.
For more information, check out these resources:
Choosing Between Speed vs Quality in Software Development
Understanding Continuous Integration Testing
Prioritizing Your Scrum Team's Definition of Done
What is DevOps, Really?
The Difference Between Manual vs Automated Testing