Agile is a set of practices and principles that help teams and organizations work more effectively by empowering teams, amplifying learning and eliminating waste.
The Benefits of Agile
The benefits of an Agile approach for the business person or end user of software systems are clear: Agile methods allow teams to build higher-quality systems, with faster return on investment. Customers can learn as they build instead of having to "get it all right" at the start. The short, built-in feedback cycle rapidly provides features that satisfy customers’ real needs. Agile methods also provide more options for managing change and risk than traditional project management techniques. Furthermore, they allow teams to show off their creativity and problem-solving abilities, in ways that the organization – customers, users, other departments – can actually see, value and use.
What’s the Down Side?
Agile methods are hard to do right! There is no simple checklist guaranteeing success. Agile adoption takes high levels of discipline, tolerance for failure, trust, truthfulness, visibility, sincerity, patience, striving for excellence, and just plain hard work. In some workplaces, the fruit of all this effort and good intention would be rapidly dissipated by chaos or bureaucracy in the organization.
But Agile methods channel this effort into a learning cycle that actually makes a difference incrementally over time.