Back to blog
Two watercolor stacks of work items sharing one spreadsheet and a set of estimation cards
Guides9 min read

Planning poker for Azure DevOps and Linear using CSV import

Run planning poker on Azure DevOps work items or Linear issues: export to CSV, estimate in a free Nextretro room, and write the estimates back to your tracker.

Azure DevOps and Linear both store estimates, but neither is designed around a live, hidden vote followed by a reveal and a discussion of the outliers. Many teams run that conversation in a separate planning poker room on Nextretro and keep the tracker as the system of record.

This guide covers the CSV round trip for both tools. You export work items from Azure DevOps or issues from Linear, import the file into a free Nextretro room, estimate together, and put the results back. There is no direct API sync with either tool; the method relies on a CSV file in each direction.

If you need the basics of running a round, read how planning poker works. Teams on Jira can follow the Jira version of this guide instead.

How the round trip works

The flow is the same for both trackers:

  1. Select the items you want to estimate in your tracker.
  2. Export them to CSV with at least an ID column and a Title column.
  3. Import the CSV into a Nextretro room. Each row becomes a ticket.
  4. Vote, reveal, discuss, and set a final estimate per ticket.
  5. Export the final estimates as a CSV that includes each item's ID.
  6. Update the estimate field in your tracker.

Nextretro recognizes Azure DevOps and Linear exports by their columns, so you do not need to clean up or rename anything before importing. If you have only a handful of items, you can paste them instead, one per line. Lines that start with a key, such as ENG-42 Improve search ranking, are split into a key and a title.

Azure DevOps: export, estimate, write back

Build a query for the items to estimate

In Azure Boards, open Queries and create a query that returns the backlog items you want to discuss. A common starting point is product backlog items or user stories in a specific area path, in the New or Approved state, with an empty estimate field. Save the query so you can reuse it before each session.

Check the column options for the query results and make sure ID and Title are included. You can keep other columns; they do not get in the way.

Export the query results to CSV

Run the query, then use the export to CSV option from the results toolbar. In current versions of Azure DevOps it sits under the more actions menu on the query results page. The file includes the columns shown in the results.

Pick the deck that matches your process

Azure DevOps uses a different estimate field depending on the process template:

Process Typical estimate field Deck that fits
Agile Story Points Fibonacci or modified Fibonacci
Scrum Effort Fibonacci or modified Fibonacci
CMMI Size Fibonacci or powers of 2
Basic Effort Fibonacci or modified Fibonacci

Processes can be customized, so confirm which field your board uses for velocity and forecasting. All of these fields hold numbers, which is why a numeric deck is the simplest choice. If you prefer T-shirt sizes for a first pass, Fibonacci vs T-shirt sizing explains how to convert them to points.

Import and estimate

Create a room at /planning-poker, import the CSV, and choose the deck. Share the room link; participants join with a display name and need neither a Nextretro account nor an Azure DevOps license to vote.

Run the session as usual. Votes stay hidden until the cards are revealed. The room then shows the average, the median, the agreement level, and a suggested card. The highest and lowest voters explain first, the team can re-vote in a fresh round, and the facilitator sets the final estimate before moving on.

Write estimates back to Azure DevOps

Export the final estimates from the room. The CSV includes the work item ID for every ticket.

For a small number of items, open each work item and type the agreed value into the estimate field. The backlog view can also show the field as a column, which makes it quick to fill in row by row.

For a larger batch, Azure DevOps can import a CSV that updates existing work items. The CSV exported from the room is not ready for this as is. In general terms, rename its key column to ID, add Work Item Type and Title columns, and rename the estimate column to your process's field name (Story Points, Effort, or Size). Then use the import option under Boards > Work items. Rows with an ID update the matching work item; rows without one create new items, so make sure every row has its ID. Try it with one item first, and check Microsoft's current documentation for the exact column requirements of your organization.

Linear: export, estimate, write back

Choose and export the issues

Linear can export issues as a CSV file from the workspace's import and export settings. The export includes columns such as ID and Title, along with status, team, and other fields. Depending on the size of your workspace, the file may contain far more issues than you want to estimate.

Before importing, trim the CSV to the issues for this session. Filtering on team and status in a spreadsheet is usually enough: keep backlog or unstarted issues for the team doing the estimating, and remove the rest. If you only need a few issues, it is often faster to copy their IDs and titles and paste them into the room as lines like ENG-42 Improve search ranking.

Match your deck to Linear's estimate scale

Each Linear team chooses its own estimate scale in team settings. The available scales have changed over time, but they have included exponential, Fibonacci, linear, and T-shirt options. Pick the Nextretro deck that matches what your team has configured:

Linear team scale Nextretro deck
Fibonacci Fibonacci
Exponential Powers of 2
T-shirt T-shirt sizes
Linear Fibonacci, then round to an allowed value

If the deck has values Linear does not allow, agree before the session how to round. Otherwise someone ends up guessing at write back time.

Import and estimate

Import the trimmed CSV into a room at /planning-poker. The Linear export is recognized by its columns, and each row becomes a ticket with its ID and title. Share the link and estimate as you would for any backlog.

Write estimates back to Linear

Export the final estimates as CSV. The file lists each issue ID with the agreed estimate.

In Linear, open each issue and set the estimate. Linear's keyboard driven interface makes this quick: with the CSV beside you, you can move through the list and set each value in a few keystrokes. Linear's CSV import is designed for bringing issues in from other tools rather than updating existing issues, so do not rely on it for write back.

Worked example

This example is illustrative, not a real customer story.

A team on Azure DevOps uses the Scrum process. Their saved query returns nine product backlog items with an empty Effort field. They export the results, import the CSV into a Nextretro room, and choose the modified Fibonacci deck because the team already uses 20 and 40 for larger items.

Seven items converge in one or two rounds. One item gets a spread of 2 to 20; the person who voted 20 points out that the feature needs a new permission level, which touches every role check. The team splits it into two items in Azure DevOps after the session. The last item collects three ? cards and goes back for refinement.

The facilitator exports the CSV and types seven Effort values into the backlog view. The split item is estimated at the next session.

Practical tips

  • Save the query or filter. A reusable query in Azure DevOps or a saved view in Linear makes the export a one minute task before each session.
  • Keep one scale per team. Mixing decks across sessions makes velocity and cycle reports confusing.
  • Do not estimate what is not ready. If an item collects ? cards, send it back for refinement instead of forcing a number.
  • Plan straight after. Use a sprint planning board to decide what fits in the sprint once estimates are in.
  • Look back at surprises. Bring items whose effort far exceeded the estimate to your next retrospective. You can open a free online retrospective board on Nextretro right after estimating.

Frequently asked questions

Can I do planning poker in Azure DevOps without an extension?

Yes. Export your query results to CSV with the ID and Title columns, import the file into a planning poker room on Nextretro, and estimate there. Then export the final estimates and update the Story Points, Effort, or Size field in Azure DevOps, either by hand or with a CSV import that updates existing work items.

Which columns does Nextretro need from an Azure DevOps or Linear export?

An ID column and a Title column. Exports from both tools are recognized by their columns, so each row becomes a ticket with its ID and title. Extra columns do not need to be removed. You can also paste lines like ENG-42 Title, one per line, instead of importing a file.

Does Nextretro sync estimates with Azure DevOps or Linear?

No. There is no API sync with either tool. After the session you export the final estimates as a CSV that includes each item's ID, then update the estimates in your tracker. For Azure DevOps, a CSV import can update existing work items; in Linear, set the estimate on each issue.

Which deck should a Linear team use?

Use the deck that matches the estimate scale configured for your Linear team. Fibonacci maps to Fibonacci, exponential maps to powers of 2, and T-shirt maps to T-shirt sizes. If your deck includes values your team's scale does not allow, agree on a rounding rule before you start voting.

Do participants need an Azure DevOps or Linear account to vote?

No. Participants join the Nextretro room from the link with a display name and do not need an account in Nextretro or in your tracker. Only the person exporting the items and updating estimates afterwards needs access to Azure DevOps or Linear.