---
title: "Stay lean"
source: 18F Guides
source_url: https://github.com/18F/guides
licence: CC0-1.0
domain: engineering
subdomain: 18f-guides
date_added: 2026-04-25
---

{% comment %}
  Needs updating since 18F website no longer refers to path analyses or E&I. And needs to update the links to other guides later.
{% endcomment %}

18F designers take a collaborative, outcome-focused approach to our work. We manage risk through continuous learning. Each new iteration builds on the people-validated research of the previous iteration. Incrementally identifying and challenging assumptions helps keep the cost of change low. The Lean UX process, which is described below, incorporates ongoing research into each phase of work and fits nicely into the rhythms of agile product management and development processes (scrum, kanban, extreme programming, etc.) and helps to inform larger investments and areas of opportunity within the service delivery itself. 


## Lean design at 18F

18F engagements generally transition between two phases: [Strategy Development](https://18f.gsa.gov/work-with-us/), during which the problem is framed, and Experiment & Iterate, when solutions are explored. The first stage of any effort is to do research and identify the highest-impact opportunity areas.

Lean Design becomes particularly relevant during the [Experiment & Iterate](https://18f.gsa.gov/how-we-work/#experiment--iterate) (E&I) phase of 18F engagements when we iteratively test hypotheses and assumptions. The result of this series of experiments is a product designed to take into account user needs.  

The Lean Design process iterates through these steps:

### Research

At each step we do just enough research to validate our hypotheses, and plan another experiment.

### Framing problems

We start with user needs framed as problem statements. A problem statement describes ways you will know (or measure) when you have solved the problem.

Problem statements can be expressed in this format:

> We have observed that [product/service/organization] isn’t meeting [these goals/needs], which is causing [this adverse effect]. How might we improve so that our product/service/team/organization is more successful based on [these measurable criteria]?

You can read more about defining problems in the [18F Product Guide]({{ '../../../product/define/problem/' | url }}).


### Identifying assumptions

An iterative approach requires that we make assumptions based on the information available to us at any given moment.

Those assumptions may include:
- Who our users are
  - Their role in various social systems
  - Their demographic information
  - Their mental models
  - Their abilities (especially relative to their environment)
- Our users’ context of use
  - The practices they undertake
  - The information they use and share
  - The people with whom they interact
  - The services available to them
  - The devices they use
  - The channels they communicate through
- What features we think will be most important
- Our mission, vision, business model, etc.

Assumptions are a necessary part of the process; [bias]({{ '../../research/bias/' | url }}) is unavoidable. But it is important to identify and validate (or invalidate) our assumptions through ongoing experimentation and research.

Any proposed solution is an assumption until it’s validated through research with users. Before deciding what to test (building hypotheses), it’s important to consider all of our team’s potential assumptions — especially about our users.

Once assumptions have been identified, we have to prioritize which are most important to test first. When prioritizing we should consider which of our assumptions create the biggest risks.

### Creating hypotheses

Hypotheses make our assumptions explicit, and experiments help us test our hypotheses. A hypothesis should succinctly state expected outcomes and measures of success. These hypotheses help us begin to answer how we might solve the problems we’ve identified. This framework can help make our design hypotheses explicit:

>We believe that [doing / building / creating this] for this [user / persona] will result in [this outcome]. We’ll know we’re right when we see this [signal / metric].

### Designing experiments

We validate or invalidate our hypotheses through experimentation. These experiments check our assumptions with feedback from our users, and can take the form of service blueprints, diagrams, prototypes, wireframes, drafts of messaging, or other research probes.

### Iterate

The application of these experiments brings us back to the research phase and feeds into another iteration of testing and learning. Lean UX can be used to identify and test the riskiest assumptions in each iteration. This process of ongoing learning allows our teams to be truly agile and responsive to our emerging understanding of the problems we are solving for our users. The ability to continually test and learn and adjust our approach increases our teams’ efficiency and effectiveness while managing risk for our partners.


## Lean design principles

In addition to our team principles, the following principles from Lean Design are especially important in our work:

**Problem first.** Prudent experimentation requires that we first identify the problem(s) we’re solving. We work with stakeholders to define and prioritize specific problem(s) that the project will attempt to resolve.

**Outcomes over outputs.** We focus on outcomes — for example, the changes in behavior we want to see — rather than specific features.

**Keep experiments light.** Light experiments help us move quickly. Lean UX avoids wasting money and/or time on a solution that has not yet been proven to solve the problem at hand. This way we can reduce risk and find the most appropriate solution for our needs.

**Learn and respond.** Our Experiment & Iterate (E&I) engagements are essentially a series of small experiments conducted in close collaboration with users. Each experiment informs the next, so that we’re always building on the things that bring us closer to desired outcomes and removing or adjusting things that are not helping us reach our goals.

**Build shared understanding.** Shared understanding supports informed discussions and decisions at every level. It reflects diverse perspectives and inputs, helps reveal potential problems earlier, and ensures everyone on the team is working toward the same goals.

**Make assumptions explicit.** We write down and discuss the assumptions we have about users and the problems they face as part of our research planning process, and test the riskiest or most critical assumptions as early as possible.

**Prioritize.** Ruthless and ongoing prioritization is essential to our focus.


## Acknowledgements

This article is primarily based on our experiences practicing Lean Design at 18F, For more information, see [references](https://docs.google.com/document/d/1ZH6TrVBOQvmlUFRKZlFFk182fiOhyaqyZqiTrVcEW4w/edit).
