Although Agile practices and concepts are not all that new anymore, they are still relatively difficult to understand due to misconceptions that have been formed over the years. Specifically, Agile Software Development can be very confusing to those who have not had the opportunity to learn this way of working. There are 3 concepts that are often misunderstood by new practitioners of Agile, all of which can be dispelled through direct experience.
Misconception 1 – No planning is needed in Agile development
Due to the misuse of the term “Agile” as well as poorly-executed Agile projects, many teams that I have worked with feel that Agile software projects do not require planning. This is a big misunderstanding, since Agile development provides a rigorous structure with which planning is done…early AND often! The Daily Scrum, Sprint Planning, Sprint Review, are all events designed to enable the team to plan/re-plan together, as more knowledge is gained about the problem domain.
Misconception 2 – Agile is just a series of mini-waterfall projects
It is easy to treat iterative, incremental development as merely a collection of small waterfall projects. However, this was not the intent of following Agile practices. If a team chooses to think in terms of mini-waterfall projects, it will very likely miss out of the opportunities to adapt to changing needs and all the benefits of Agile, such as higher level of team collaboration.
Misconception 3 – Agile can only work for small projects
It is not surprising for practitioners to believe that Agile is only suitable for small software projects since Scrum was designed specifically for that purpose. However, scaling techniques for multiple teams, often up to hundreds of people on a project team, have been developed over the past few years, specifically intended for large, complex efforts. Frameworks such as Scaled Agile Framework (SAFe), Large Scale Scrum (LeSS), and Scrum@Scale are all viable and powerful models that have proven to be work very well.
In closing, it is easy to get caught up in the misconceptions of Agile, so the best way to get past that is to experiment and gain real-world experience…inspect and adapt!