Topic 02

Iterative, Incremental, and the Agile Values

Concept

If Waterfall's problem is that you find out too late, the fix is obvious: find out sooner. Instead of one giant pass, build the product in small working slices, put each in front of users, and learn before the next slice. This approach is iterative and incremental — and the mindset built around it is called Agile.

Agile isn't a tool or a strict process. It started as a short statement of values — four simple preferences about what to care about most when building software — written by a group of developers frustrated with heavy, slow, document-first methods.

Think of painting. You can sketch the whole canvas roughly and keep refining the entire thing (iterative), or finish it one section at a time (incremental). In practice you usually do both — and either beats locking the full painting in your head and only revealing it when it's "done".

Iterative vs Incremental

The two words are related but not identical. Iterative means refining the same thing over repeated passes — a rough version that gets better each loop. Incremental means adding finished pieces one at a time — feature by feature. Most real teams do a mix: they add a new slice (incremental) and improve the existing ones (iterative) every cycle. The key shared idea is small, frequent steps instead of one big leap.

The Agile Values

Agile's heart is four value statements. Each says "we value the thing on the left more than the thing on the right" — not that the right side is worthless, just that when they conflict, the left wins.

We value……over…
Individuals and interactionsprocesses and tools
Working softwarecomprehensive documentation
Customer collaborationcontract negotiation
Responding to changefollowing a plan

Read together, they describe a team that talks more than it documents, ships working software early and often, stays close to its customers, and treats a plan as something to adjust rather than obey. That's the whole philosophy; everything called "Agile" is an attempt to live it.

Why It Beat Big-Bang Delivery

Delivering in small slices wins for one concrete reason: feedback comes early and often, so mistakes are caught cheap — the flat-left side of the cost-of-change curve again. Build a thin version of a feature, watch real users with it, and you learn within days whether you're on the right track, instead of after a year. The big-bang launch bets everything on getting it right the first time; iterative delivery never makes that bet.

A Mindset, Not a Process

Here's the crucial subtlety: Agile is a set of values, not a set of steps. You can't "install" Agile. Scrum and Kanban, the next two topics, are concrete ways to practice those values — the actual meetings, roles, and rules. People often say "Agile" when they mean Scrum; keeping the mindset separate from the method it's done with will save you a lot of confusion.

The Cadence team lives this. Rather than build the whole app and reveal it, they ship thin slices — first just "create a habit", then "check it off daily", then "see your streak" — and put each in front of a handful of users. When early users barely used the streak screen but kept asking for reminders, the team learned it in week three, not after launch. That early signal is the entire point of working this way.

Common Confusions
  • "Agile means no planning and no documentation." It means just enough, continuously — valuing working software and adaptation over heavy upfront documents, not abolishing them.
  • "Agile and Scrum are the same thing." Agile is the mindset; Scrum is one specific way to practice it. There are others, like Kanban. Many people use the words interchangeably, but they're different levels.
  • "Iterative and incremental are just two words for the same idea." Related, but distinct: iterative refines the same thing over passes; incremental adds finished pieces. Most teams do both.
Why It Matters
  • Agile is the dominant mindset on modern teams — its values sit behind every ceremony, role, and habit in the next several topics.
  • It's the direct answer to Waterfall's late-feedback problem, and a living example of catching mistakes on the cheap side of the cost-of-change curve.
  • Separating the Agile mindset from the methods that practice it (Scrum, Kanban) prevents one of the most common beginner mix-ups.

Knowledge Check

What is Agile, at its core?

  • A set of values about how to build software, favoring working software and adapting to change
  • A specific software tool that teams install and run
  • A strict and rigid step-by-step process that is fully fixed in place at the very start of a project
  • A programming language designed for fast development

What does an Agile value statement like "working software over comprehensive documentation" actually mean?

  • When the two conflict, favor the left — but the right still has value
  • Documentation is worthless and should never be written
  • The two sides are always exactly equal in value, so their order never matters at all
  • Documentation is valued more highly than working software

Why does delivering in small slices beat one big-bang launch?

  • Feedback comes early and often, so mistakes are caught cheaply
  • Because the software always ends up with far fewer total features overall
  • Because it lets the team skip planning entirely
  • Because typing small amounts of code is always faster

How do Scrum and Kanban relate to Agile?

  • They are concrete ways to practice the Agile values
  • They are rival mindsets that reject Agile entirely
  • They are the original method that Agile later replaced
  • They are two programming languages used by Agile teams

What's the difference between "iterative" and "incremental"?

  • Iterative refines the same thing over passes; incremental adds finished pieces one by one
  • They mean exactly the same thing
  • Iterative means adding finished pieces, while incremental means refining the same thing over time
  • One of them is just another name for Waterfall

You got correct