Agile is a software development methodology that delivers work in short iterations (sprints), embraces changing requirements, and values collaboration over documentation. Instead of spending months planning and building before releasing, agile teams ship working software every 1-4 weeks and iterate based on feedback.

How Agile Works

Instead of a 6-month waterfall plan: define a 2-week sprint with specific goals. Team picks tasks from a prioritized backlog. Daily standups identify blockers. At sprint end: demo working software, get feedback, adjust priorities. Repeat. Working software is the primary measure of progress.

The Agile Manifesto (2001) values: individuals over processes, working software over documentation, customer collaboration over contract negotiation, responding to change over following a plan.

Why Developers Use Agile

Most software teams use some form of agile. Understanding sprint planning, standups, retrospectives, and backlog management is essential for working on any development team.

Key Concepts

  • Sprints — Fixed time periods (1-4 weeks) with defined goals — ship working software each sprint
  • Backlog — Prioritized list of features, bugs, and tasks — the product owner maintains priority
  • Daily Standup — Brief daily meeting: what you did, what you'll do, any blockers — keeps the team synchronized
  • Retrospective — End-of-sprint reflection: what went well, what to improve — continuous process improvement
  • User Stories — Requirements written from the user's perspective: 'As a user, I want X so that Y'
  • Velocity — How much work the team completes per sprint — used for planning future sprints

Frequently Asked Questions

Agile vs Waterfall?

Waterfall: plan everything upfront, build sequentially, deliver at the end. Agile: plan incrementally, build in sprints, deliver continuously. Agile handles uncertainty and changing requirements better.

Is Agile always better?

Agile works best for software with evolving requirements. For fixed-scope projects (construction, hardware), waterfall-style planning may be more appropriate.

What's the difference between Agile and Scrum?

Agile is the philosophy/values. Scrum is a specific framework implementing agile with defined roles (Scrum Master, Product Owner), ceremonies (sprint planning, retrospectives), and artifacts (backlog, sprint board).