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.

Plan
(decide this cycle's scope)
Develop
(build and check)
Review
(reflect and revisit)
Into the next cycle

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.

StrengthAdapts well to change and gets feedback early
WeaknessHarder to forecast the overall schedule, and demands strong self-management from the team

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

Scope creepPulling in too many new requests every cycle blurs the overall goal. Prioritizing the product backlog is essential to keeping it in check.
Scrum in name onlyCopying the "form" — standups, sprints — while losing sight of the actual point, feeding feedback back into the next plan, makes it far less effective.
Clarify the product owner's roleHaving a clearly designated person who decides what to prioritize (the product owner) keeps decision-making fast and consistent.

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:

🏠 Back to top