Enterprise UX2025 — 2025·CASE STUDY 01

Helping PMs Plan Sprints in Jira Without the Guesswork.

Jira already contains the information teams need to plan a sprint. The problem is that it's scattered across different screens, tools, and conversations forcing Product Managers to piece everything together before making a decision.

ROLEProduct Designer
Duration3 Weeks
DomainB2B SaaS · Enterprise
FocusWorkflow · Interaction Design
01THE Problem
Who this is for

PMs, stuck in the same loop.

Imagine you as PM who just finished a sprint and now has to plan the next one. It's Monday morning. You open Jira and start dragging tasks in.

30 story points. Everything looks fine. You are about to click Start Sprint.

Jira backlog with tasks dragged into the sprint

But then the questions start.

Q1. Can my team actually finish 34 points?

Jira shows what has been planned, but not whether the workload is actually achievable for this team.

Q2. Is this sprint realistic?

Without seeing previous sprint outcomes alongside the current plan, it's difficult to judge whether the team is overcommitting.

Q3. Who's unavailable next week?

Leave, holidays and unexpected absences usually live in calendars, Slack or someone's memory not where sprint planning

Q4. Does any task depend on another?

Task relationships exist, but they're buried inside individual issues, making blockers difficult to spot before the sprint begins.

Eventually, you stop relying on Jira alone. You create your own planning spreadsheet, check Slack to see who's on leave, and go back and forth with the team when someone is overloaded just to reassign the work.

02VALIDATION
Proving it was real

I didn't trust my own itch.

Before designing a single screen, I wanted to know if this was actually a problem worth solving. I started by looking at how the problem was being handled elsewhere and whether other products had already recognised the same gap.

Let’s see what the competitor doing

Linear is a modern project management tool built around fast sprint planning and software development workflows.

Even competing tools recognised that sprint planning needs more than a backlog. Linear introduced Cycle Capacity to help teams understand whether a sprint is realistically achievable before it starts. That validates the same problem I was trying to solve—planning shouldn't rely on memory or guesswork.

However, capacity is only one part of the planning process. But we understood that the problem was real and competitors had a solution for it which would have cost users retention to the jira

Linear cycle capacity view

Linear brings capacity and progress into the same view, so teams can see how much work they’re taking on.

03THE Constraints
What couldn't change

Before solving the problem, I defined what couldn't change.

Solving a problem is about changing everything. Some parts of the product already work well, and changing them would create more problems than they solve. These were the boundaries that shaped every decision I made.

The data already existed.

Everything I needed was already somewhere inside Jira. Capacity, velocity, leave, and dependencies weren't missing they were scattered across different screens. My goal wasn't to invent new data, but to surface existing information where sprint planning actually happens.

Don't Break Existing Workflows

Sprint planning already works. PMs know how to drag issues into a sprint, reorder work, and start planning. I wasn't redesigning that workflow I was making it more informative without changing how people already work.

Stay Consistent with Jira

This shouldn't feel like a new product. Every component, interaction, and visual pattern needed to feel native to Jira so existing users wouldn't have to learn a different interface.

Keep Information Dense

Jira is built for power users. PMs expect to see a lot of information without opening multiple screens. Any new feature had to add clarity without making the backlog feel heavier or more cluttered.

These constraints became the framework every design decision had to fit inside.

04SYSTEM THINKING
Turning problems into a system

How Everything Connects

These weren't four separate problems. They were one planning system.

At first these looked like four separate problems. But the more I mapped the planning process, the more I realized they were all connected. If someone is on leave, the team's capacity changes. Lower capacity means work becomes unevenly distributed. An overloaded teammate can delay tasks that others depend on. Those delays reduce the amount of work the team actually completes, making the sprint harder to finish. None of these problems exist on their own—they're all part of the same planning system.

Map of how the four planning problems connect

Mapping the relationships between the four planning problems before exploring potential solutions.

Once I understood how everything connected, I mapped what was worth solving.

Instead of jumping straight to features, I broke the planning system into opportunities. Each opportunity had to support the same goal: helping PMs make confident sprint planning decisions.

I used the ost framework to solve this problem. What’s ost?(*for nerds like me)

Opportunity Solution Tree

Opportunity Solution Tree used to map validated planning problems into solution directions.

The tree became my decision filter. Every feature in the final design traces back to a validated planning problem—not an assumption or a random idea.

05THE SOLUTION
What I built

What I added. And why.

Jira already had the data. It just never showed it at the right moment. I didn't build new features. I surfaced what was already there in three places, at the exact moment Sarah needs them.

01

Now she knows if 34 points is realistic.

The sprint header now shows capacity not just the number of points committed, but whether that number makes sense for this team based on the last three sprints.

On-track capacity indicator in the sprint header

Recommended sprint capacity surfaced directly during planning

FIrst I considered pulling this automatically from calendar integrations. But breaks the moment someone is on a partial week or a contractor changes hours. So I went with suggested and editable.

Planning with recommended capacity with editable options

The system calculates a recommended capacity from recent sprint velocity and shows it upfront. Sarah can override it in one click. The system suggests. It never dictates. Hover the status badge and it tells you exactly why based on 3 sprint avg velocity, The reasoning is visible. Not just the answer.

02

Now she knows if the sprint is realistic.

Team Status. A panel that shows every team member, their current load, and their leave — without Sarah opening a single calendar or sending a single Slack message.

Team status panel with story point load

Only story points are calculated in team status

I could calculate workload from story points alone. But 8 points doesn't mean the same thing when someone is available for ten days versus five.

Availability and workload viewed together

So Team Status combines assigned work with availability. Someone on leave has less capacity, which makes overload visible before Sarah commits the sprint.

03

Now she knows who is unavailable.

Team Status also brings availability into the same view. Sarah can see who is on leave, when they’ll be away, and the work currently assigned to them before committing to the sprint.

Leave visibility directly on the task bar

Leave visibliity directly on the task bar

First, I considered showing leave directly on the task. If an assignee was going to be away, the task would carry a warning similar to a dependency.

I also considered showing leave as a separate list. It would make absences easy to find, but separate leave from the workload it actually affects.

Leave visibility in the team status

So I kept leave inside Team Status. Sarah sees each person's workload and availability together. If someone is away, she can expand their row to see when they're unavailable and which tasks may need attention.

Availability and workload aren't separate problems. When someone is away, the team's capacity changes and their work may affect other tasks. Keeping both together makes that impact visible before the sprint starts.

04

Now she knows if tasks are blocked before the sprint starts.

Dependency badges sit directly on the task card visible the moment Sarah is deciding whether to drag that task into the sprint. Not buried inside the ticket. Not in a separate risk view she has to go looking for.

I considered a dedicated dependencies panel. Cleaner screen, but it means Sarah has to already suspect a problem before she goes looking. That defeats the point. The failure mode I'm solving is that she doesn't know to look. So the badge has to be where her eyes already are.

Dependency badges directly on the task

Dependencies badges on the task directly

Hover the badge and a card opens — task name, status, assignee, points, priority. If the dependency is sitting in the backlog and not in this sprint, the card tells her. One click adds it. One click removes the blocked task. Decision made without leaving the screen.

06IMPACT
What changed

How I would validate the impact

BeforeAfter

Scattered planning signals

Check Jira for assigned work

Open calendar to check availability

↩ Switch back, re-orient to site

Ask teammates about leave or workload

Manually identify blocked tasks

Estimate if the sprint feels realistic

Low confidence before commitment

PMs make sprint decisions by connecting information themselves.

vs

Connected planning system

Capacity recommendation based on past velocity

Scroll, copy image 2 — still on site

Dependencies surfaced during planning

Risks identified before sprint starts

One place to evaluate sprint feasibility

More informed sprint decisions

PMs understand the risks before committing the sprint.

Metrics are defined as validation signals for a future Jira implementation. Sprint predictability would be measured through planned vs completed story points and sprint carryover. Planning effort would be measured by tracking external tool usage and time spent preparing sprints. Capacity recommendations would be validated against previous sprint velocity, while dependency and workload visibility would be measured by how early risks are identified before the sprint begins.

Jira already had the information needed for better sprint planning the challenge was that PMs had to connect it themselves.

This project turned those scattered signals into a connected planning experience where capacity, availability, and dependencies support one decision: whether the sprint is realistic.

While not shipped, this concept was designed end-to-end with a clear validation plan to measure sprint predictability, planning effort, and early risk detection.

A designer's role is not just to design interfaces, but to shape better decisions.

See all work→ Back to portfolio