What Is Agile?
In 2001, seventeen software developers met at a ski resort in Utah and wrote the Agile Manifesto — four values and twelve principles that said, roughly: the old way of planning everything up front isn't working; here's what we've seen work instead.
The four values
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Read them carefully: the items on the right aren't worthless — the manifesto says "while there is value in the items on the right, we value the items on the left more." Agile done badly treats the right side as the enemy. It isn't. Nobody wants broken software with no documentation built by people who never talk.
The core idea in one paragraph
Build a small piece. Show it to someone who cares. Learn what's wrong. Build the next small piece better. Repeat. Everything in agile — sprints, standups, backlogs, boards — is scaffolding around that loop. If a practice doesn't shorten the loop between building and learning, it's not pulling its weight.
What agile is not
- Not "no planning." Agile plans constantly — in small increments, with fresh information. "No planning" is just chaos with a trendy name.
- Not "no documentation." It's enough documentation, written when it's useful instead of up front when it's speculative.
- Not a specific process. Scrum and Kanban are frameworks people use with agile thinking. Doing the ceremonies without the thinking is the most common way agile fails (see How Agile Goes Wrong).
- Not faster in the way managers hope. Agile doesn't make work take less time. It makes wrong work visible sooner, so you waste less of it.
Where it came from
Before agile, the dominant model was waterfall: gather all requirements, design everything, build everything, test everything — in sequence, over months or years. It works when requirements genuinely don't change (building a bridge; launching a rocket). Software requirements always change, because building the thing teaches you what the thing should be. Agile is the admission that learning is part of the work, not a failure of planning.