Agile Practice Test

โ–ถ

Agile Design by the Numbers

๐ŸŽจ
2
Distinct Meanings
๐Ÿ“…
5 days
Standard Design Sprint
๐Ÿ”
1โ€“4 weeks
Typical Sprint Length
๐Ÿ‘ฅ
Cross-functional
Team Composition

Agile Design โ€” Two Meanings, One Mindset

Search "agile design" and you'll get two completely different answers depending on who's talking. UX folks mean iterative product design that aligns with Scrum sprints. Software engineers mean emergent code architecture โ€” SOLID, refactoring, TDD-driven structure. Both are right. Both come from the same agile manifesto values. And confusing them is one of the fastest ways to derail a project kickoff.

Here's the thing. Most teams need both. You can't ship a usable product without thoughtful interface design, and you can't ship maintainable software without disciplined code architecture. The trick is knowing which conversation you're in. When a product manager says "let's do agile design," she probably means Figma prototypes synced to sprint reviews. When the lead engineer says it, he's talking about agile development patterns โ€” refactor as you go, don't over-architect.

This guide covers both. First we'll unpack the UX side โ€” design sprints, Lean UX, dual-track agile, designOps, continuous discovery. Then the software side โ€” emergent design, SOLID, just-enough architecture, TDD's influence on structure. Each meaning gets equal time because in modern product teams, the disciplines overlap constantly. A senior designer who can't talk about the data model is at a disadvantage. A senior engineer who can't sketch a user flow is too.

One quick reframe before we dig in. Agile design isn't a separate methodology. It's a way of applying the agile principles to design work โ€” whether that work is wireframing a checkout flow or sketching a microservice boundary. Same values: working output over polished documentation, customer collaboration over contract negotiation, responding to change over following the original plan. The Manifesto authors weren't thinking about Figma when they wrote those four values in 2001, but the values map cleanly to design work today.

Fair warning: this is not a primer on agile itself. If you're new to the manifesto, sprints, or backlogs, start with our broader explainer first. Below we assume you already know what a sprint is. We're focused on what designers and architects actually do inside that sprint cadence โ€” and where the two practices genuinely overlap.

One more piece of context before we move on. The phrase "agile design" started appearing in tech press around 2010, mostly from UX writers describing how they were adapting to Scrum teams. By 2013 the term had two distinct meanings circulating. By 2020 most teams had quietly accepted the ambiguity and learned to clarify it in conversation. If you've heard the term and felt confused, that confusion is real โ€” and reasonable.

Two completely different things share one name

Meaning 1 โ€” Agile UX/UI Design: iterative product design (wireframes, prototypes, usability tests) synced to development sprints. Born from Lean UX and Design Sprints around 2010โ€“2013.

Meaning 2 โ€” Agile Software Design: emergent code architecture using SOLID principles, refactoring, TDD, and just-enough-design-up-front. From the XP and Clean Code traditions, predates the manifesto.

Both are legitimate. When in doubt, ask the speaker which one they mean.

How Agile UX Actually Works in a Sprint

In a typical Scrum team, the designer doesn't disappear into a six-month design phase. She's in the room every day. Stand-ups include design status. Sprint planning includes design tasks. Sprint review demos show prototypes alongside working code. Retros surface what worked โ€” and what felt rushed. The designer is a peer to engineers, not a vendor.

The work usually splits across two tracks. Track one is discovery: research, interviews, sketching, exploring what to build next. Track two is delivery: refining the designs the team is building right now. This is the heart of dual-track agile, popularized by Marty Cagan and Teresa Torres. Discovery feeds tomorrow's backlog; delivery ships this sprint's work. They run in parallel โ€” same team, same cadence, two different jobs.

What does the designer actually produce? Less polished mockups than you might expect. The point isn't pixel-perfect screens โ€” it's just enough fidelity to validate the idea. Lo-fi sketches for early exploration. Mid-fi wireframes once the flow is clear. Hi-fi mockups only when the design is locked. The goal: get to working software fast, learn from real users, then iterate.

This is hard for designers trained in agency or waterfall settings. The instinct is to polish before showing. Agile design fights that instinct. Show the sketch. Show the messy prototype. Get feedback while it's still cheap to change. A designer who sits on her work for two weeks polishing in private has wasted two weeks of potential learning.

The 5-Day Design Sprint

Google Ventures formalized this in Sprint (the Knapp book, 2016). Five days. Cross-functional team. Day 1 map the problem. Day 2 sketch solutions. Day 3 decide on one direction. Day 4 build a prototype. Day 5 test with five users. The output is evidence โ€” not a finished feature, but a clear go/no-go for whether the idea has legs.

Teams that do design sprints well don't run them constantly. Once a quarter is common. The sprint is for high-stakes decisions where the cost of building the wrong thing is high. For ordinary feature work, a lighter-weight discovery process is usually enough. Scaled agile programs sometimes embed design sprints into PI planning.

Lean UX and Continuous Discovery

Lean UX (Jeff Gothelf, 2013) flipped the deliverable. Instead of producing documents and mockups, the deliverable is learning. Hypothesis. Experiment. Result. Next hypothesis. The Lean UX canvas replaces the long PRD. The team writes assumptions on sticky notes, picks the riskiest one, and runs a tiny experiment to test it.

Teresa Torres took this further with continuous discovery habits โ€” interview at least one customer per week, every week, forever. The opportunity-solution tree visualizes how interview insights connect to opportunities, ideas, and experiments. It's not glamorous. It's just sustained, structured curiosity. Teams that adopt the habit consistently report that their roadmap stops being a guess and starts being a response to actual user behavior.

DesignOps โ€” the Infrastructure

As design teams scaled, a new role emerged: DesignOps. Think of it as DevOps for design. Standardize the file naming. Maintain the design system. Run the research repository. Track which Figma libraries are canonical and which are stale. Without DesignOps, large design teams drown in duplicate buttons and conflicting color tokens. With it, the design system stays clean and designers spend their time on product problems.

DesignOps is invisible when it works and catastrophic when it doesn't. A team without DesignOps will have five versions of the primary button scattered across three Figma files. A team with DesignOps has one button, in one library, used everywhere. The difference compounds. By year three, a team with proper DesignOps moves twice as fast as one without.

Three Flavors of Agile UX

โšก Design Sprints โ€“ Google Ventures

5-day intensive framework. Map โ†’ sketch โ†’ decide โ†’ prototype โ†’ test. Best for high-stakes early-stage product decisions.

๐Ÿงช Lean UX โ€“ Gothelf 2013

Hypothesis-driven design. Each design choice is an experiment. Output is validated learning, not pixel-perfect mockups.

๐ŸŒณ Dual-Track Agile โ€“ Cagan/Torres

Discovery and delivery tracks run in parallel within the same team. Discovery feeds backlog; delivery ships current sprint.

Agile Software Design โ€” Emergent, SOLID, Tested

Now the other meaning. When senior engineers say "agile design," they're rarely talking about Figma. They're talking about how code structure evolves inside an iterative team โ€” how architecture emerges from continuous small decisions instead of being mandated up front. This tradition is older than the Agile Manifesto. It comes from Extreme Programming, Smalltalk culture, and the early refactoring movement of the late 1990s.

The core claim is provocative: a good architecture cannot be designed in advance. It can only be discovered. You start with the simplest code that solves today's problem. You write tests first. You refactor mercilessly when the code starts to smell. The architecture that emerges from that discipline is almost always better than the one a senior engineer would have drawn on a whiteboard in week one.

This doesn't mean zero planning. The two or three decisions that are expensive to reverse โ€” database choice, sync versus async, monolith versus services โ€” still need thought before code is written. Everything else? Let the code teach you. Sandi Metz captured this in Practical Object-Oriented Design: "the future is uncertain, so design for change." That's the agile software design ethos in nine words.

Refactoring is the engine. Without continuous refactoring, code rots. With it, the code stays clean enough to absorb new requirements without rewriting. Most teams that fail at agile fail here โ€” they ship features but never refactor, and the codebase becomes a graveyard of patches stacked on patches. Eighteen months in, every change takes three times as long as it should. The remedy is cultural, not technical: make refactoring a normal part of every story, not a quarterly cleanup project.

One philosophical note. Agile software design is not anti-architecture. It's anti-prescription. The senior engineer who insists on a complete UML diagram before any code is written is solving the wrong problem. The senior engineer who refuses to think about boundaries at all is solving a different wrong problem. The middle path requires judgment. That judgment comes from experience, not from a process document. Which is why agile teams that are heavy on juniors and light on senior engineers often struggle โ€” there's no one to recognize the design pressure as it builds.

Agile Software Design โ€” The Other Meaning

๐ŸŒฑ Emergent Design

The idea that good architecture emerges from continuous refactoring rather than upfront design. You start with the simplest thing that works. You refactor as the design pressure builds. The system's shape reveals itself over time.

Emergent design doesn't mean no design. It means resisting the urge to predict every future requirement. The cost of over-architecting up front almost always exceeds the cost of refactoring later โ€” because you don't know what you don't know.

๐Ÿงฑ SOLID Principles

Five object-oriented design principles from Robert Martin. Single Responsibility: one reason to change per class. Open/Closed: open for extension, closed for modification. Liskov Substitution: subtypes must be substitutable. Interface Segregation: prefer small focused interfaces. Dependency Inversion: depend on abstractions, not concretions.

SOLID isn't religious. It's a vocabulary for noticing when code is getting hard to change. Most agile teams apply SOLID selectively โ€” when refactoring tells you something is wrong.

๐Ÿงช TDD-Driven Design

Test-Driven Development shapes design by forcing you to think about how code will be used before you write it. Red โ€” write a failing test. Green โ€” make it pass with the simplest code. Refactor โ€” clean up while tests stay green.

TDD pushes you toward smaller units, looser coupling, and clearer interfaces โ€” because untestable code is painful to write tests for. The design tax shows up immediately, not three months later.

๐Ÿ“ Just-Enough Architecture

The middle path between Big Design Up Front and no design at all. Sketch the high-level component boundaries. Decide the two or three architectural decisions that are expensive to reverse โ€” database choice, sync vs async, monolith vs services. Defer everything else until you actually need it.

This is sometimes called "the last responsible moment" โ€” delay decisions until you have enough information to make them well, but no later. The agile mindset is comfortable with that ambiguity; waterfall thinking isn't.

Cross-Functional Teams and User Stories

None of this works without cross-functional teams. A designer who reports up through a separate design org, with separate goals and a separate roadmap, can't really embed in a sprint team โ€” the incentives pull her away. Same for engineers reporting into a platform team that's separate from product. The org chart has to match the work. If it doesn't, no amount of process change will fix the friction.

The unit of work is the user story. Format: As a [user], I want [outcome], so that [reason]. Stories are intentionally small โ€” small enough to design, build, and test inside a single sprint. Bigger work is broken into multiple stories or into an epic that spans several sprints. The team negotiates the breakdown together. Designer, engineer, PM, QA โ€” everyone owns the story.

Stories drive design. When the team picks up a story, the designer drafts the screens, the engineer sketches the API, and they validate the approach together before either commits to a detailed deliverable. This is the opposite of waterfall: instead of a finished design being handed to engineering, the design and code evolve in parallel. Sometimes a technical constraint changes the design; sometimes a design insight changes the architecture.

Acceptance criteria belong to the story, not to the designer or engineer alone. "Definition of done" includes design polish, accessibility, performance, and tests โ€” not just "the code compiles." Teams that ship well bake all of those into the story itself. WCAG compliance, performance budgets, browser support โ€” these aren't a separate review stage. They're part of finishing the story.

Story sizing is where most teams get tripped up. Engineers want to estimate in hours; product owners want to estimate in story points; designers want neither. The trick that works for most agile teams is relative sizing โ€” declare one story as a "1" and size everything else against it. Don't anchor to hours. Hours are a trap because they invite individual commitments rather than team estimates. A team estimate covers all the uncertainty: design work, test work, the inevitable surprise.

One last note on cross-functional work. The designer is responsible for the user experience, but the user experience is not just the visual layer. It includes error states, loading states, empty states, accessibility, and the words on the page. Microcopy is design. Empty states are design. The 404 page is design. Teams that treat design as "the screens" miss most of the actual design work โ€” and ship products that feel half-finished even when they technically work.

INVEST โ€” Anatomy of a Good User Story

๐Ÿ”ฌ Independent

One story doesn't block another. Each can be picked up alone.

๐Ÿค Negotiable

The team adjusts scope together โ€” story is a conversation starter.

๐Ÿ’Ž Valuable

A real user benefits. If no one cares, don't build it.

๐Ÿ“ Estimable

The team can size it relative to other stories. Hours not required.

๐Ÿค Small

1โ€“3 days of work. Bigger stories get split, not estimated harder.

โœ… Testable

Acceptance criteria are clear. The team knows when done is done.

Prototyping, Tools, and Design Systems

Figma has eaten the design tool market. Multiplayer editing, browser-native, version history, components, auto-layout, dev-mode handoff. Sketch is still common at older shops; Adobe XD is largely on life support. For most new teams in 2026, Figma is the default. Knowing it isn't optional for a working UX designer.

But the tool isn't the point. The point is rapid feedback. A clickable Figma prototype that five users tap through tells you more in 30 minutes than a perfect mockup tells you in three weeks. Prototypes should be cheap, slightly disposable, and shared widely. Don't fall in love with your prototype. Throw it away the moment you've learned what you need.

A trap to avoid: the polished prototype that becomes the spec. Once a stakeholder sees a beautiful Figma flow, they expect to ship exactly that. The solution is to keep prototypes obviously rough during discovery and reserve hi-fi work for the moment the team has truly committed.

Design System Maintenance

Every product of any size needs a design system โ€” a single source of truth for buttons, forms, colors, type, spacing, and patterns. The system lives in Figma libraries and a parallel code library (Storybook, usually). Agile teams maintain it the way they maintain any code: small commits, code review, deprecation notices, semver.

The hard part isn't building the system. It's keeping it alive. Teams that succeed treat the design system as a product, not a project. There's an owner. There's a backlog. There's a roadmap. Stale design systems die fast โ€” and once they die, designers start building one-off components, the visual language fragments, and you're back where you started.

Tools and the Software-Side Connection

The software-side meaning of agile design connects back to all of this through one practice: continuous integration. The CI pipeline is to engineering what the design system is to UX. Both are infrastructure that makes small changes safe. Both punish neglect. Both, when healthy, let the team focus on actual product work instead of plumbing. A team with a strong design system and a strong CI pipeline can ship daily. A team without either ships quarterly, and the quarterly release is always painful. The two halves of agile design โ€” UX iteration and emergent architecture โ€” converge here.

Where Agile Design Disagrees with Design Thinking is worth a separate paragraph. Design Thinking โ€” the Stanford d.school framework โ€” is sometimes confused with agile design. They share vocabulary (empathy, prototyping, iteration) but differ on tempo. Design Thinking is a problem-framing methodology. It's exploratory. It can take weeks for a single empathy phase. Agile design absorbs the spirit but compresses the tempo. The empathy work happens continuously in discovery; the prototyping happens inside the sprint. Both frameworks coexist comfortably on most modern teams.

Starting Agile Design on Your Team

Embed designers in the sprint team โ€” not a separate stage
Run dual-track: discovery this sprint feeds delivery next sprint
Talk to one real customer per week, every week
Use lo-fi sketches early; hi-fi mockups only when locked
Standardize on Figma โ€” single source of design truth
Build a real design system; treat it as a product with an owner
For software side: emergent design via TDD and refactoring
Apply SOLID when refactoring reveals coupling, not preemptively
Decide the irreversible architecture decisions early; defer the rest
Replace the PRD with a Lean UX canvas of testable hypotheses

Agile Design Tools โ€” What Teams Actually Use

๐ŸŽจ
Figma
Industry-standard collaborative design tool. Multiplayer editing, components, auto-layout, dev mode.
๐Ÿง 
Miro
Whiteboarding for discovery work. Story mapping, journey maps, sprint planning rituals.
๐Ÿ’ฌ
FigJam
Figma's whiteboarding sibling. Great for design sprints, retros, affinity mapping.
๐Ÿงช
Maze
Unmoderated usability testing on Figma prototypes. Click-through and survey analytics.

Should Your Team Go Fully Agile on Design?

Pros

  • Faster feedback loops โ€” usability problems caught in days not months
  • Less rework โ€” small designs are cheaper to throw away than big ones
  • Cross-functional collaboration improves both design and engineering quality
  • Continuous discovery keeps the roadmap honest
  • Designers feel like product owners, not service providers

Cons

  • Hard to schedule deep design exploration inside 2-week sprints
  • Requires senior designers who can scope tight, ship lean
  • Without DesignOps, the design system fragments quickly
  • Stakeholders trained on waterfall reviews resist the iteration cadence
  • Discovery work is invisible to leadership unless framed deliberately
Take Free Agile Practice TestPractice Agile Scrum RolesPractice User Stories and Estimation

Agile Questions and Answers

What Is Agile Design?

Agile design has two meanings. In product/UX work it means iterative, sprint-aligned design โ€” wireframes and prototypes that evolve through usability testing instead of being finished upfront. In software engineering it means emergent architecture: SOLID principles, refactoring, TDD-driven structure, and just-enough design rather than Big Design Up Front. Both share the same agile principles of fast feedback and responding to change.

How Is Agile Design Different from Waterfall Design?

Waterfall design produces finished mockups before any code is written, then hands them off. Agile vs waterfall design instead embeds designers in the sprint team. Designs evolve alongside code, validated continuously with real users. Less polish upfront, faster learning, more change tolerated.

What Is a Design Sprint?

A 5-day framework from Google Ventures: map the problem (day 1), sketch solutions (day 2), decide on one direction (day 3), build a prototype (day 4), test with five users (day 5). The output is evidence โ€” a go/no-go on a product idea โ€” not finished software. Best for high-stakes early decisions.

What's Dual-Track Agile?

Two parallel work streams inside the same Scrum team. The discovery track explores what to build next (research, interviews, sketching). The delivery track ships what was already validated. Discovery feeds the backlog; delivery executes against it. Popularized by Marty Cagan and Teresa Torres.

Is Lean UX the Same as Design Thinking?

They overlap but aren't identical. Design Thinking is a broader problem-solving framework (empathize, define, ideate, prototype, test) used across many disciplines. Lean UX is specifically about applying lean startup principles to product UX โ€” hypothesis-driven design, validated learning as the deliverable. Lean UX is more action-oriented; Design Thinking is more exploratory.

What Software Design Principles Belong to Agile?

SOLID (single responsibility, open/closed, Liskov, interface segregation, dependency inversion), DRY, YAGNI, emergent design through refactoring, and TDD-driven structure. Combined, they replace Big Design Up Front with continuous, small design decisions that respond to actual code pressure.

How Many People on an Agile Design Team?

Cross-functional teams usually run 5โ€“9 people total. Inside that, 1โ€“2 designers, 4โ€“7 engineers, 1 PM, and access to dedicated research or QA support. Teams larger than 9 tend to fragment communication and slow down โ€” Scrum specifically recommends keeping it small.

Which Tools Are Standard for Agile Design?

Figma for design and prototyping, Miro or FigJam for whiteboarding and discovery rituals, Maze for unmoderated usability tests, Storybook for the code-side design system, and Jira or Linear for backlog management. The combination changes every couple of years, but in 2026 these are the defaults.
โ–ถ Start Quiz