The seeds for agile techniques have been around for a long time. In fact, agile values, principles, and practices are simply a codification of common sense. This figure shows a quick history of agile project management, dating to the 1930s with Walter Sherwart's Plan-Do-Study-Act (PDSA) approach to project quality.
In 1986, Hirotaka Takeuchi and Ikujiro Nonaka published an article called “The New New Product Development Game” in the Harvard Business Review. Takeuchi and Nonaka's article described a rapid, flexible development strategy to meet fast-paced product demands. This article first paired the term scrum with product development. (Scrum referred to a player formation in rugby.) Scrum eventually became one of the most popular agile frameworks for delivering value to customers.
In 2001, a group of software and project experts got together to talk about what their successful projects had in common. This group created the Manifesto for Agile Software Development (commonly referred to as the Agile Manifesto), a statement of values for successful software development:
Manifesto for Agile Software Development*
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
* Agile Manifesto Copyright © 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
This declaration may be freely copied in any form, but only in its entirety through this notice.These experts also created twelve principles behind the Agile Manifesto that help support the values in the Agile Manifesto.
Agile, in product development terms, is a descriptor for approaches that focus on people, communications, the product, and flexibility. If you’re looking for the agile methodology, you won’t find it. However, all agile methodologies (for example, Crystal), frameworks (for example, scrum), techniques (for example, user story requirements), and tools (for example, relative estimating) have one thing in common: adherence to the Agile Manifesto and the twelve Agile Principles.
Martin Fowler, one of the co-authors of the Agile Manifesto, writes that many different words were discussed for naming their movement. They considered lightweight methods, adaptive, and many others until landing on agile as the best descriptor of the adaptiveness and responsiveness to change they were seeking. Other synonyms are resilient, nimble, and healthy. When you think of agile, think healthy. Healthy organizations and teams are agile, resilient, nimble, and responsive.
How agile projects workAgile approaches are based on an empirical control method — a process of making decisions based on the realities observed in the project. In the context of software development methodologies, an empirical approach can be effective in both new product development and enhancement and upgrade projects. By using frequent and firsthand inspection of the work to date, you can make immediate adjustments, if necessary. Empirical control requires:
- Unfettered transparency: Everyone involved in an agile project knows what is going on and how the project is progressing.
- Frequent inspection: The people who are invested in the product and process the most regularly evaluate the product and process.
- Immediate adaptation: Adjustments are made quickly to minimize problems; if an inspection shows that something should change, it is changed immediately.
This figure shows the difference between a linear waterfall project and an agile project.
Mixing traditional project management methods with agile approaches is like saying, “I have a Tesla Model S. However, I'm using a wagon wheel on the front left side. How can I make my car as fast and efficient as the other Teslas?” The answer, of course, is you can't. If you fully commit to an agile approach, you will have a better chance of project success.