Agile
Key points
- Agile is a development methodology that repeats short cycles (iterations or sprints) of planning, development, and review.
- It adapts well when requirements or circumstances change partway through, and lets you check working software early.
- Scrum is a well-known framework for putting Agile into practice.
What Agile is
Agile splits development into short periods called "iterations" or "sprints" — typically one to a few weeks — and within each one runs through planning, design, implementation, and testing, producing something working and then revisiting it. This cycle repeats many times over.
The key difference from Waterfall is that instead of deciding everything up front, Agile builds a little at a time and adjusts the plan as it goes, based on how things are going.
How the repeating cycle works
Within a single cycle (sprint), the same small sequence repeats.
(decide this cycle's scope)
(build and check)
(reflect and revisit)
Insights from the review and feedback from users feed into the plan for the next cycle, gradually bringing the work closer to completion.
Teacher Pochi's hintIt's a lot like refining a prototype step by step. Rather than aiming for a perfect product from the start, you build a simple first version, try it out, and fix what bothers you in the next version — raising the quality with each pass.
A well-known framework: Scrum
Agile is the name of a way of thinking, not a specific set of steps to follow. In practice, teams use concrete frameworks that put Agile thinking into action.
The best-known example is Scrum. It's a framework with defined roles and events, where the team runs planning meetings, review meetings, and a retrospective within each short period called a sprint, moving development forward cycle by cycle.
Advantage: resilient to change
Because working software is checked at the end of every short cycle, a mismatch between what was expected and what was built — "this isn't quite what I had in mind" — gets caught and fixed early.
Even if requests or market conditions change partway through development, they can be folded into the next cycle's plan, allowing flexible responses. It's also possible to release some features early and improve based on how users respond.
Disadvantage: the big picture is harder to see
Because Agile proceeds without fully settling every specification up front, the overall completion date and the final scope of features can be harder to pin down.
Because the team itself takes the lead in planning and adjusting as it goes, communication and teamwork among members matter even more than usual.
Practical pitfalls to watch for
Summary
Agile is a development methodology that repeats short cycles of planning, development, and review. Its ability to adapt to change is a major strength, but it also comes with the trade-off of a harder-to-see big picture. Scrum is its best-known framework.
Related topics: