The Agile Manifesto
The Agile Manifesto is a collection of values and principles originally used to guide software development teams on agile projects. It is now used far beyond the software development industry to help teams deliver products on-time, and within quality expectations.
The Agile Manifesto authors
In 2001, this innocuous little document was created by an informal gathering of software development experts. They wanted to find an alternative to the slow and stagnant development processes that were commonplace in the software development industry.
Among those gathered were Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert Martin, Ken Schwaber, Jeff Sutherland and Dave Thomas.
The original signatories of the manifesto successfully distilled their mutually held values into 12 agile principles.
The case for Agile
Jim Highsmith explains that at the time the Agile Manifesto was written, there was an urgent need to free software development from practices that only served to fulfil the demands of an outdated and irrational corporate power structure. The authors they were not “anti-methodology” but instead were focused on revising existing methodologies to make them more practical, more flexible and more suited to a rapidly changing industry.
The 4 values of agile
While individual agile development practices may vary between methods, all draw from the 4 core agile values first outlined in the Agile Manifesto. These are:
1. Individuals and interactions over processes and tools
The authors of the Agile Manifesto knew that interaction between client, project managers and project developers is key to creating a successful product. Lack of communication leads to inaccurate forecasts and a product that doesn’t meet client expectations.
2. Working software over comprehensive documentation
Historically, projects often produced vast quantities of documentation. The Agile Manifesto authors stated the need to remove cumbersome and redundant processes, streamlining documentation so that developers can focus on more developing products. Agile does not remove the need for documentation but ensures that only the minimum needed is created during the project.
3. Customer collaboration over contract negotiation
This third value aims to include customers in the development process rather than keeping them at arms’ length so they can see more than just the initial input and final product of development. By including the customer in the development cycle, developers can better respond to customer demands and expectations.
4. Responding to change over following a plan
This final entry best encompasses the values behind agile. A lot of things can happen in the time it takes to develop a single, complete product. Our own human uncertainties aside, as time progresses, technology becomes more complex and the tools we use – both digital and physical – become more advanced. As circumstance changes, teams must adapt to ensure that their product meets the demands of a changing business environment.
The popularity of Agile
Since the creation of the Agile Manifesto, agile methods have exploded in popularity, with the most well-known methods being: Scrum, Kanban and eXtreme programming (XP).
Agile principles and values have been adapted the suit the needs of multiple industries. With agile methods it is possible to tailor work culture and environments to enhance productivity with relative ease.
Agile methods have a proven track record of boosting project success, cutting costs and delivering quality products to customers.
As industries become more complex and projects more demanding, the principles of Agile have provided a solid foundation upon which agile developers have continued to improve their methodologies..