How to Map T-Shirt Sizes to Story Points Effortlessly

ScrumPoi · · 11 min read

How to Map T-Shirt Sizes to Story Points Effortlessly

“T-shirt sizes are fine, story points are fine. Mixing them? That’s where most teams screw it up.”

If your team has ever asked, “So… how many points is an L?” you’re not alone.

I’ve coached dozens of teams that tried to combine T‑shirt sizes and story points and ended up with:

  • Endless debates in refinement
  • Wildly inconsistent estimates
  • Stakeholders who think an “L” is secretly 13 points, except when it’s 8… or 20

Here’s the uncomfortable truth:
Most teams treat T‑shirt sizes like a fuzzy, feel-good step before “real” estimation. Then they bolt story points on top and hope it all makes sense.

It doesn’t.

You can map T‑shirt sizes to story points effortlessly—but only if you’re ruthless about what each scale is for and how you use them.

This post walks through a practical, opinionated approach you can adopt in a single sprint.


Why Map T‑Shirt Sizes to Story Points at All?

Before we map anything, let’s challenge the premise.

T‑Shirt Sizes vs Story Points: Different Tools, Different Jobs

T‑shirt sizes are great for:

  • Early-stage ideas
  • Rough sizing of epics or large backlog items
  • Fast, low-friction conversations with non-technical stakeholders

Story points are great for:

  • Sprint-level planning
  • Forecasting capacity and throughput
  • Tracking relative complexity across similar work

The problem starts when teams use both for the same level of detail.

If you’re doing T‑shirt sizing in refinement and then re-estimating the same stories in points later, you’re doubling your estimation overhead for very little value.

The Real Reason Teams Want a Mapping

In practice, teams want to map T‑shirt sizes to story points for two reasons:

  1. Portfolio-level forecasting
    Product leaders want to know, “Roughly how many sprints for this initiative?” without forcing the team to break everything into tiny stories.

  2. Consistency across teams
    When one squad says “M” and another says “8 points”, leaders want a shared language.

That’s legitimate—but only if you treat mapping as:

A lightweight translation layer, not a second estimation system.


The Core Mapping: A Simple, Opinionated Approach

Here’s the stance:
You should have one canonical story point scale, and T‑shirt sizes should be a thin wrapper on top of it.

Step 1: Lock in a Story Point Scale (and Stop Tweaking It)

Pick a Fibonacci-based scale and never change it:

  • 1, 2, 3, 5, 8, 13, 20 (optionally 40 for “this is an epic, not a story”)

Then define anchor stories for your team:

  • 1 point – trivial: copy change, tiny config tweak, one test
  • 3 points – small: a simple endpoint, a small UI change with 2–3 test cases
  • 5 points – medium: one screen + backend change, or a non-trivial refactor
  • 8 points – large: multiple components, several integration points
  • 13+ points – too big: must be split before entering a sprint

Write these anchors down in your team’s wiki or Definition of Ready. They are your calibration tools.

Step 2: Define a Single Mapping Table

Now create a one-to-many mapping from T‑shirt sizes to point ranges:

  • XS → 1–2 points
  • S → 2–3 points
  • M → 3–5 points
  • L → 8–13 points
  • XL → 20+ points (really: “this is not a story, it’s an epic”)

Key details:

  • Each size maps to a range, not a single number.
  • Overlaps between sizes are intentional. That’s how you avoid pointless arguments about whether something is a 3 or a 5 during early discussions.

This mapping is not sacred. It’s a team-level contract. Once you agree, you stick to it for at least 3–4 sprints before revisiting.

Step 3: Decide Where Each Scale Lives

Use them in different stages:

  • Discovery / early refinement

    • Use T‑shirt sizes only
    • Goal: quickly decide what’s worth breaking down
    • Output: “This epic is XL, we need to slice it”
  • Sprint-level refinement & planning

    • Use story points only
    • T‑shirt sizes are no longer mentioned
    • Output: point-sized stories ready for a sprint
  • Portfolio / roadmap conversations

    • Use T‑shirt sizes, but translate using your mapping
    • “We have roughly 3 Ls and 5 Ms for Q3, that’s about N points total”

If you’re mixing both scales in the same session, you’re paying a tax for no benefit.


A Concrete Example: From Epic to Points via T‑Shirts

Let’s walk through a real scenario.

Step 1: Epic-Level Sizing with T‑Shirts

Epic: “Add subscription billing with trials and discounts”

In a discovery session with product, design, and tech leads:

  • Feature breakdown:
    • Payment gateway integration
    • Subscription plans management
    • Trial handling
    • Discount codes
    • Invoicing and emails
  • Team discussion:
    “This touches payments, user accounts, emails, and some reporting. Significant risk around edge cases and compliance.”

Team calls it: XL

Using our mapping, that implies 20+ points. Translation: this is not one story; it’s a multi-sprint initiative.

Step 2: Slice into Large Chunks (Still T‑Shirts)

Break into high-level chunks:

  • “Basic recurring subscription (no trials, no discounts)” → L
  • “Trials and grace periods” → M
  • “Discount codes” → M
  • “Invoices and billing emails” → M

Now leadership can hear something like:

“We’re looking at one L and three Ms. Using our mapping, that’s roughly 8–13 + 3×(3–5) = about 17–28 points. Likely 2–3 sprints for a 5-person team, assuming no major surprises.”

Is it exact? No. Is it good enough for roadmap conversations? Absolutely.

Step 3: Story-Level Sizing with Points

Later, in refinement:

  • “Integrate with payment provider X” → 5 points
  • “Create subscription plan model & basic CRUD UI” → 5 points
  • “Handle failed payments and retries” → 8 points

You no longer talk about T‑shirt sizes. You’re now in precise territory.


Common Mistakes When Mapping T‑Shirt Sizes to Story Points

If your mapping feels painful, you’re probably doing one of these.

Mistake 1: Treating T‑Shirts as “Pre-Estimation”

Teams spend 20–30 minutes per story arguing whether it’s S or M, then later spend another 20–30 minutes arguing whether it’s 3 or 5 points.

You’ve just doubled estimation time with no increase in accuracy.

Fix:
Use T‑shirts for epics and big chunks only. Once a story is small enough for a sprint, switch to points and never look back.

Mistake 2: Forcing a 1:1 Mapping

“XS is 1 point, S is 2, M is 3, L is 5, XL is 8.”

This looks clean and makes everything worse:

  • You compress the range of complexity
  • You lose the benefit of Fibonacci spacing
  • Teams start gaming the system (“Let’s call it M so it’s 3 instead of 5”)

Fix:
Always map sizes to ranges, not single values. You want fuzziness at the epic level, precision at the story level.

Mistake 3: Using Different Mappings Across Teams Without Admitting It

One team’s “M” is another team’s “S”. That’s fine—until leadership tries to do cross-team forecasting with fake consistency.

Fix:
Either:

  • Accept that sizes are team-relative and don’t aggregate them naively, or
  • Align on a shared mapping and enforce it in joint refinement forums.

But don’t pretend you’re comparable if you’re not.

Mistake 4: Mapping Sizes to Time

“On our team, M means 3 days.”

That kills the whole point of relative estimation. You get:

  • False precision
  • Pressure estimates (“Can you make this M instead of L?”)
  • Blame when reality doesn’t match the calendar

Fix:
Keep mapping purely relative. If you want time forecasts, derive them from historical velocity, not gut-feel time guesses.


How to Implement a Solid Mapping in One Sprint

Here’s a practical rollout plan you can follow almost verbatim.

Step 1: Run a 60-Minute Calibration Workshop

Participants: entire dev team, PO, Scrum Master.

Agenda:

  1. Agree on the point scale

    • Present: 1, 2, 3, 5, 8, 13, 20
    • Ask: “Any strong objections to this being our scale for the next 4 sprints?”
    • Decide and lock it.
  2. Define anchor stories

    • Pick 3–5 recent stories everyone remembers.
    • As a group, assign them points.
    • Write them down: “This is our 3-point reference story,” etc.
  3. Draft the T‑shirt mapping

    • Start with the suggested mapping:
      • XS → 1–2
      • S → 2–3
      • M → 3–5
      • L → 8–13
      • XL → 20+
    • Adjust slightly if the team strongly disagrees, but avoid overfitting.
  4. Document usage rules

    • T‑shirts: epics and big features
    • Points: sprint-ready stories only
    • No mixing in the same conversation

Step 2: Apply It to the Next 10–20 Backlog Items

In your next refinement:

  • For large items:
    • Ask: “Is this XS–XL?”
    • If L or XL → break it down until each piece feels M or smaller.
  • For sprint-ready stories:
    • Skip T‑shirts, go straight to points using planning poker or similar.

Track how often you argue about sizes vs points. If debates are endless, it’s usually a sign your stories are still too big.

Step 3: Review After 3–4 Sprints

After a few sprints, inspect:

  • Average points per T‑shirt size
    • Example: your Ms tend to end up 5–8 points instead of 3–5.
  • Forecasting accuracy
    • When you said “two Ls and three Ms” for a release, how far off were you?

Then adjust the ranges slightly if needed—but keep the rules the same.


Tactical Tips to Keep Estimation Fast and Sane

Use “Too Big” as a First-Class Outcome

In both T‑shirts and points, explicitly allow:

  • “Too big to estimate”

If something feels like XL or 20+ points:

  • Don’t argue about the exact size.
  • Agree: “Too big. Needs slicing.”
  • Move on.

Speed of that decision is more valuable than precision of a bad estimate.

Limit the Number of Sizes You Use

You probably don’t need XS and XL for stories.

  • For epics: XS–XL
  • For stories: S–L (mapped to 2–13 points)

Fewer buckets = fewer arguments.

Don’t Re-Estimate Unless Something Really Changed

If you T‑shirt-sized something as M at the epic level, then story-point it later and it comes out larger or smaller—that’s fine.

Don’t go back and “fix” the T‑shirt size. It was a snapshot of understanding at that time. Overwriting history ruins your ability to learn.

Use Tools That Support Anonymous Voting

Anchoring bias is real. In one study, teams using anonymous planning poker produced estimates with up to 40% less variance compared to teams where seniors spoke first.

When mapping sizes to points, use tools that:

  • Hide votes until everyone has chosen
  • Make it trivial to run multiple rounds

A lightweight tool like ScrumPoi (free, anonymous voting, no signup, with Jira integration) makes it easier to keep estimation fast and unbiased without adding process overhead.


What Not to Do (Summarized)

  • Don’t use T‑shirts and points for the same level of detail.
  • Don’t map sizes to exact hours or days.
  • Don’t maintain different hidden mappings per team and pretend they’re comparable.
  • Don’t endlessly tweak your scales; stability beats theoretical perfection.
  • Don’t treat re-estimation as “fixing mistakes”; treat it as learning.

Wrap-Up: Make Mapping Boring on Purpose

Mapping T‑shirt sizes to story points should be boring, almost mechanical:

  • A fixed story point scale with clear anchors
  • A simple, shared mapping of sizes to ranges
  • Clear rules about where each scale is used

If estimation feels like a weekly philosophy seminar, your process is broken.

Make the rules explicit, minimize the number of decisions, and let your team’s real learning come from building and shipping, not from arguing whether something is a 5 or an 8.

Get the mapping out of the way, keep it stable for a few sprints, and use the time you save to improve the only metric that actually matters: how reliably you can turn ideas into working software.

Keep reading

More on the topics this article touches.