Agile is a popular, well-known methodology, which allows Project Teams to foster an environment of continuous development and bring products to market more quickly.
The iterative, flexible and collaborative environment accommodates the evolution of changing needs, which makes Agile a suitable methodology to use across varying industries.
The traditional methodology of Project Management, Waterfall, is a structured methodology that is worked through in stages. Whilst Waterfall does have its advantages, the priority of bringing a complete product to market with no changes or additions during the process means that it can be a number of years before a project is complete.
In the meantime, the new, innovative product may no longer have a strong market fit or have been superseded by a rival competitor, particularly in fast-moving industries such as technology.
Waterfall also cultivated what is referred to as a “Development Graveyard”, where projects would remain half-finished as they were no longer required or fit the needs of the market.
It was Software Development teams that led the move away from Waterfall during the 1990’s to a more light-weight model which gave more flexibility and required less initial planning. Methods such as Scrum, DSDM, Application Development and Extreme Programming began to gain prominence and are now recognised as early Agile methods.
Early in 2000, seventeen software developers met to discuss how they could speed up development times and bring products to market more quickly. They identified that to do this they would need to shorten the delay of benefits to the user and obtain timely feedback from users so that continual improvements could be made.
For more details on the difference between Waterfall and Agile, visit Choosing between Agile and Waterfall Project Management.
The Agile Manifesto
The seventeen developers met once again in February 2001, and from this, the Agile Manifesto was born.
The manifesto set out four core values:
Individuals and interactions over processes and tools
Where processes and tools drive development, response to change is stifled and the team is less likely to meet the customer’s needs. It is the team that have the ability to respond to business needs, communicating when the need arises rather than being restricted to a schedule with specific content.
Working software over comprehensive documentation
Before Agile was introduced, teams could spend hour after hour documenting processes, causing significant delays in development. Although thorough documentation is still required, Agile streamlined the process, allowing the team to perform the actions needed to successfully complete the project without being swamped by minute details.
Customer collaboration over contract negotiation
Within Agile, the customer is engaged and collaborates with the Product Manager throughout the process. This close contact allows the team to develop the product to the customer’s needs more effectively. The team may bring in the customer periodically to test the product or have an end-user on the project team who attends all meetings and ensures that the product meets the requirements of the customer.
Responding to change over following a plan
Traditional methods of project management require all planning to be in place before commencing the project. The detailed plans position each step as high priority, with a number of dependencies. Any changes to the process are viewed as expensive and are therefore avoided.
Agile’s short iterations means that priorities can be changed between iterations, with new features added where needed. Instead of viewing change as expensive, Agile teams view it as improving the project, and therefore created additional value.
To share information about Agile, the founders created the Agile Alliance, a professional, non-profit organisation which provides resources for project teams and continues to evolve the methodology. This was followed by the first annual Agile Conference, which continues each year.
The Agile Manifesto has really gained prominence over the last few years, as organisations published successful case studies and metrics showing the benefit of adopting an Agile methodology. Agile has now moved beyond software delivery, with the definition of Agile Testing which focusses on delivering quality products frequently, prioritising the prevention of defects over their detection.