> For the complete documentation index, see [llms.txt](https://www.pmguidebook.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.pmguidebook.com/process-skills/optimization/iterative-development-and-learning.md).

# Iterative Development and Learning

Iterative development and learning is a product management approach that emphasizes the importance of learning and adapting throughout the product development process. This approach involves starting with a small, manageable version of the product or feature, often referred to as a minimum viable product (MVP), minimum lovable product (MLP), or more simply a cupcake, then gradually expanding and refining it based on user feedback and data.

The term MVP has grown so popular that the core idea sometimes gets lost therefore it’s common to see other analogies, such as “building the cupcake first” and “building up to the multi-tier wedding cake”. This iterative process allows Product Managers to validate assumptions, learn what works and what doesn't, and make informed decisions about what to build next.

## Example

Imagine you're a Product Manager at an online word processor product, like Microsoft Word. You've been tasked with developing a new feature that allows users to collaborate on documents in real-time. Instead of trying to build the full feature all at once, you decide to take an iterative approach.

You start by developing a simple version of the feature, which allows two users to view and edit the same document simultaneously. This is your MVP or "cupcake" - a small, manageable piece of the larger feature that delivers value to users and allows you to start learning and gathering feedback.

After launching the MVP, you closely monitor user feedback and usage data. You find that users love the ability to collaborate in real-time, but they're frustrated by the lack of a feature that allows them to see who else is viewing the document at the same time. Based on this feedback, you decide to add a feature that shows a list of active users on the document.

In the next iteration, you add this feature and again monitor user feedback and usage data. This time, users are happy with the feature, but they wish they could also see where in the document the other users are editing. So, in the next iteration, you add a feature that highlights the section of the document where other users are currently working.

By taking an iterative approach, you're able to deliver value to users early and often, learn from user feedback and data, and continuously improve the feature based on what you learn. This approach also allows you to avoid investing a lot of time and resources into building features that users don't find valuable.

## Pain Points

The iterative development process requires a willingness to learn and adapt, which can be challenging in a fast-paced, deadline-driven environment. It also requires close collaboration with users and stakeholders, as well as the ability to effectively interpret and act on feedback and data.

## Practical Exercise

Think of a feature or product you want to develop. Try breaking it down into smaller, manageable pieces that can be developed and launched iteratively. What is the "cupcake" version of your feature or product? How would you gather and use feedback and data to guide your development process?

## Related Research Topics

* Agile development process \[ [Google](https://www.google.com/search?q=Agile%20development%20process%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=Agile%20development%20process%20in%20product%20management) ]
* Minimum Viable Product (MVP) \[ [Google](https://www.google.com/search?q=Minimum%20Viable%20Product%20%28MVP%29%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=Minimum%20Viable%20Product%20%28MVP%29%20in%20product%20management) ]
* Cake experience roadmap \[ [Google](https://www.google.com/search?q=Cake%20experience%20roadmap%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=Cake%20experience%20roadmap%20in%20product%20management) ]
* Cupcake to wedding cake methodology \[ [Google](https://www.google.com/search?q=Cupcake%20to%20wedding%20cake%20methodology%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=Cupcake%20to%20wedding%20cake%20methodology%20in%20product%20management) ]
* User feedback \[ [Google](https://www.google.com/search?q=User%20feedback%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=User%20feedback%20in%20product%20management) ]
* Data-driven decision making \[ [Google](https://www.google.com/search?q=Data-driven%20decision%20making%20in%20product%20management) | [Perplexity](https://www.perplexity.ai/?q=Data-driven%20decision%20making%20in%20product%20management) ]


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://www.pmguidebook.com/process-skills/optimization/iterative-development-and-learning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
