Product Features

How to Track Story Dependencies in a Sprint

How to track story dependencies in a sprint — which stories block other stories, which are sequenced after something else, and how to make both visible on the board so nothing gets missed during planning or execution.

Not all stories are independent. Some cannot start until another one finishes. Some are actively stuck because something else is broken or unbuilt. Tracking these relationships in a doc or a Slack thread works for a day or two, then it falls apart. Dependencies in Orvezo give you a structured way to model this directly in your project.

Two relationship types, not one

Orvezo supports two distinct dependency types: Blocked by and Depends on. They are not interchangeable, and understanding the difference is the most important thing to get right before you start linking stories.

Blocked by is an active impediment. Story A blocks story B means story B cannot proceed right now because of story A. This is an urgent, operational signal. It shows up in sprint planning as a risk. Example: the authentication bug blocks the user dashboard feature because the dashboard cannot be tested until login works.

Depends on is a sequencing constraint. Story A depends on story B means story A logically follows story B in the planned order of work, but it may not be actively blocked today. Example: the billing report depends on the payment integration. The report cannot be built until the integration is done, but if the integration is on track, there is no active crisis.

Each type has two perspectives. A story can wait on other stories (Depends on, Blocked by). Other stories can wait on it (Depend on it, Blocked by it). All four are writable from either story. If story A blocks story B, you can record that from story A or story B and the data is the same either way.

The dependency canvas

The Dependencies page gives you a spatial view of every dependency relationship across your project. Stories are arranged in vertical columns: the Backlog, then your sprints with the active one first, then the Parking Lot. Completed sprints are not shown since the canvas is focused on work that still needs decisions.

Arrows follow the standard cause to effect direction: the predecessor points toward the successor. Blocked by arrows are amber. Depends on arrows are teal. Each card also shows whether it is Waiting, Ready, In Progress or Done, and how many stories it waits on and unblocks. A story in the active sprint that waits on a story still in the backlog or a later sprint is a signal that something in your planning needs attention.

Click any story card to select it. Its dependency arrows appear immediately and a panel opens at the top showing what it waits on (Depends on, Blocked by) and what is waiting on it (Depend on it, Blocked by it). Click another story to switch. Click the same story again to deselect.

Adding and removing dependencies

From the canvas, click the + button next to any of the four sections in the panel header. This puts you in add mode for that relationship type. Story cards on the canvas become clickable targets. Click a story to link it. The link saves immediately, no confirmation needed. Click another + button to switch relationship types, or click Done to exit. Pressing Escape also works.

To remove a dependency, find the linked story chip in the panel and click the x button. The relationship is removed immediately.

You can also manage dependencies from the story modal. Open any story and look for the Dependencies section in the right panel. It has two sections, one for what the story waits on and one for what is waiting on it, each with its own add button where you choose Depends on or Blocked by. Click + to open an inline search picker, type a story key or keywords from the title, and click a result to add the link. The picker stays open so you can add multiple stories in sequence.

Circular dependency protection

If adding a dependency would create a circular chain, the action is blocked. On the canvas, stories that would cause a cycle appear dimmed and cannot be selected. If a cycle is attempted through the API or modal, the server rejects it with a clear error message.

Blocked checkbox vs blocked by dependency

These are two separate concepts in Orvezo. The Blocked checkbox is a manual operational flag you set when a story is stuck for any reason: waiting on a vendor, a design decision has not been made, a meeting needs to happen. It does not require linking to another story. The indicator shows up on board cards so the team sees impediments at a glance.

Blocked by dependencies are structured links to specific stories in the project. They model the formal dependency graph. Both can be used independently or together. A story can have an external reason it is stuck (checkbox) while also having story-level dependencies. They serve different purposes and neither replaces the other.

A few things to know

Dependencies are scoped to a single project. Cross-project dependencies are not currently supported. The canvas is not available on mobile, but dependencies can be viewed and managed from the story modal on smaller screens. When a story is deleted, all its dependency relationships are removed automatically. Bulk deletions that affect stories with dependencies will show a warning in the confirmation dialog.

On the Business plan, every dependency change is also recorded in the workspace audit log. You can filter the audit log by Dependencies to see who linked or unlinked which stories and when.