What Are the Advantages and Disadvantages of Agile/Scrum?

I have often been asked “What are the advantages and disadvantages of Agile/Scrum?” so I thought it would be useful to summarize what I believe are the most important advantages and disadvantages.

What are the advantages and disadvantages of Agile/Scrum?

Advantages of Agile/Scrum

  • Flexibility/Adaptivity – An Agile/Scrum approach is best-suited for a relatively uncertain environment where it is very difficult, if not impossible, to accurately define the requirements and design for the solution in detail prior to the start of the project.  In that kind of environment, flexibility and adaptivity are essential to further define and elaborate the requirements and design of the solution as the project is in progress
  • Creativity/Innovation – In the highly competitive environment that we live in today, no one wants to buy average, run-of-the-mill products.  People expect a higher level of excellence and that requires creativity and innovation.  An Agile/Scrum approach emphasizes creativity and innovation to maximize the business value of the solution over planning and control which tends to stifle creativity and innovation.
  • Time-to-Market – An Agile/Scrum approach typically results in faster time-to-market due to shorter startup times and an incremental development effort that will allow early delivery of at least a portion of the solution without waiting for the entire solution to be 100% complete
  • Lower Costs – An Agile/Scrum approach can lower the costs of a project in several ways:
    • Significantly reduced overhead resulting from reducing unnecessary documentation and control requirements
    • Higher productivity of the project team
    • Reduced “feature bloat” from using an incremental development effort and prioritizing the requirements it will become apparent when the project begins to reach a point of diminishing returns where the value of the features no longer exceeds the development cost
  • Improved Quality  – In an Agile/Scrum project, quality is an integral part of the development process rather than a sequential activity.  The developers know that quality is not “someone else’s responsibility”
  • Customer Satisfaction – An Agile/Scrum approach should result in higher customer satisfaction and more effective solutions because the customer is heavily involved in providing feedback and inputs throughout the development process
  • Employee Satisfaction – An Agile/Scrum approach should also result in higher employee satisfaction from all employees that are engaged in the effort because they are much more engaged to take responsibility for their own work as part of an empowered team

Disadvantages of Agile/Scrum

  • Training and Skill Required – An Agile/Scrum approach requires a considerable amount of training and skill to implement successfully.  Many project teams don’t fully understand the need for training and skill or don’t want to put the effort into it and attempt to do Agile/Scrum mechanically without fully understanding the principles behind it and that is typically not very effective
  • Organizational Transformation – An Agile/Scrum approach may also require some level of organizational transformation to make it successful.  It require the business users to work collaboratively with the development team in a spirit of trust and partnership.  That may require breaking down some organizational barriers that make that difficult or impossible to do
  • Scalability – It can be difficult to scale an Agile/Scrum approach to large, complex projects.  There are some models for doing that (Scrum-of-Scrums, LeSS, and SAFe are examples) but none of those are a cookbook solution that is easy to implement.
  • Integration with Project/Program Management – An Agile/Scrum approach may not be totally appropriate for projects that require a more plan-driven approach; however, there are many ways to create a hybrid approach that blends a traditional plan-driven approach and an Agile/Scrum approach in the right proportions to fit the situation

Overall Summary

Agile is not a “silver bullet” and it is not a solution to every problem you might have; but if it is applied intelligently in the right situations, it has huge advantages and the advantages can easily outweigh the disadvantages.