Overview

In the old days (Waterfall), building software was like building a bridge. You planned for 2 years, built for 3 years, and hoped it worked. But software changes fast. By the time you finished, the user wanted something else. Agile is the answer. It is building the bridge while you are walking on it.

Core Idea

The core idea is Iteration. Don’t build the whole thing at once. Build a tiny piece, show it to the user, get feedback, and then build the next piece. Fail fast, learn fast.

Formal Definition

An iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. The Agile Manifesto (2001): “Responding to change over following a plan.”

Intuition

  • Waterfall: Painting a portrait. You sketch, then outline, then paint, then dry. You can’t change the pose halfway through.
  • Agile: Sculpting clay. You make a rough shape. You look at it. You squish it. You add a nose. You change the nose. You keep molding it until it’s perfect.

Examples

  • Scrum: The most popular Agile framework. Work is broken into 2-week “Sprints.” Every morning, the team has a 15-minute “Standup” meeting to sync up.
  • Kanban: A visual board (To Do -> Doing -> Done). You limit how many things are in “Doing” at once to prevent bottlenecks. (Toyota invented this for cars).
  • MVP (Minimum Viable Product): The smallest thing you can build that works. Don’t build a Ferrari; build a skateboard first. Then turn it into a scooter, then a bike, then a car.

Common Misconceptions

  • Agile means no planning: No, it means adaptive planning. You plan just enough for the next 2 weeks.
  • It’s faster: It’s not necessarily faster to build, but it’s faster to deliver value. You get a working product in weeks instead of years.
  • User Stories: Describing features from the user’s perspective. “As a user, I want to login so that I can see my emails.”
  • Retrospective: A meeting at the end of a sprint to discuss what went wrong and how to improve.

Applications

  • Spotify Model: Organizing teams into “Squads” and “Tribes” to keep them small and autonomous, even in a giant company.

Criticism / Limitations

  • Feature Creep: Since you can always change the plan, the project might never end.
  • Meeting Overload: Agile requires a lot of communication. Developers often complain they spend more time talking than coding.

Further Reading

  • Beck, Kent et al. The Agile Manifesto.
  • Sutherland, Jeff. Scrum: The Art of Doing Twice the Work in Half the Time.