Field notes
Kit8 min read

Project management for 10 to 30 people: count the seat minimum, the administrator, and the exit.

At twenty people, the per-seat price is rarely what decides this. A seat minimum, a plan-gated export, and an unnamed administrator each cost more than the difference between two pricing tiers.

You leave with A twenty-seat price check, the seat minimum that breaks the comparison, export findings per product, and a conditional decision path

Who this is for, and who it is not for

This is for a team of roughly ten to thirty people choosing or replacing a shared project tracker: an agency, an operations group, a product team, a nonprofit programme office. It assumes one person will end up owning the configuration whether or not that is in their job description.

It is not for solo users or pairs, where every product here has a free tier and the decision is taste. It is not for enterprise portfolio management with resource forecasting and financial integration. And it is not a ranking — the sections below give conditions, not a winner.

The scenario, so the numbers mean something

  • Twenty people who all need to create and be assigned work, so twenty paid seats. No viewer-only tier assumed.
  • One part-time administrator drawn from those twenty, not an extra hire.
  • Around sixty active projects a year and roughly four thousand work items in year one.
  • Two external collaborators who need guest access to one project each.
  • Annual billing at list price, taxes and add-ons excluded, over a three-year horizon.

Annual figures below are our own multiplication of each vendor’s displayed rate against this scenario. They are arithmetic, not quotes.

Current first-party pricing at twenty seats

Every rate comes from the vendor’s own pricing page, checked 4 September 2026.

ProductDisplayed pricingTwenty-seat scenario
AsanaPersonal at $0. Starter at $10.99 per user/month billed annually ($13.49 billed monthly). Advanced at $24.99 annually ($30.49 monthly). Enterprise is quote-only.Twenty seats on Starter, annual rate: $2,637.60 a year. On Advanced: $5,997.60.
monday.com Work ManagementFree for up to 2 seats. Basic at $9 per seat/month billed annually, Standard at $12, Pro at $19. Enterprise is quote-only.Twenty seats on Standard, annual rate: $2,880 a year. On Pro: $4,560.
Jira CloudAtlassian states the Cloud Free plan is available for up to 10 users for Jira and Confluence, with 2 GB of storage and community support. Paid per-user rates are not printed; the page directs you to a pricing calculator.Twenty people do not fit the Free plan. We do not publish a Jira annual figure, because we could not read one from a first-party page.
OpenProject Enterprise cloudBasic at 5.95 EUR per user/month, Professional at 10.95 EUR, both with a 25-user minimum. Premium at 15.95 EUR with a 100-user minimum. Monthly billing adds 1.00 EUR per user.A twenty-person team pays for twenty-five. Basic: 1,785 EUR a year. Professional: 3,285 EUR.
PlaneFree at $0 per seat/month, limited to 12 users. Pro at $6 per seat/month. Business at $13. Enterprise Grid is quote-only.Twenty seats exceed the Free limit. Twenty on Pro at the monthly rate: $1,440 a year before the advertised annual discount.
Vikunja CloudOrganization at 5 EUR per user/month, or 50 EUR per user when billed yearly. Self-hosting is free; Vikunja states it is and always will be open source and freely available.Twenty users on the yearly Organization rate: 1,000 EUR a year.

Asana, monday.com, and Plane display USD; OpenProject and Vikunja display EUR. Figures exclude tax, add-ons, migration, integrations, training, and internal labour.

The seat minimum that breaks the comparison

OpenProject’s pricing page sets a 25-user minimum on both its Basic and Professional plans, and a 100-user minimum on Premium (checked 4 September 2026). A twenty-person team therefore buys twenty-five seats: 1,785 EUR a year on Basic rather than the 1,428 EUR that a straight per-user multiplication would suggest. That is a 25 percent premium invisible in any table that lists only the per-user rate.

The same shape appears in reverse at the free tiers. Jira Cloud is free up to 10 users, Plane up to 12, monday.com up to 2 — so a team at 11 or 13 people is on a different price curve than a team one person smaller. Price your actual headcount, plus the two hires you already know about.

The open-source path, with the licence spelled out

Three of the options here publish an OSI-approved licence in their repository. Read the file, not a comparison chart, checked 4 September 2026:

  • OpenProjectGNU General Public License, Version 3. The Community edition is free; Enterprise features are gated behind the subscription priced above.
  • PlaneGNU Affero General Public License, Version 3.
  • VikunjaGNU Affero General Public License, Version 3.

Running any of them yourself is a real commitment. OpenProject’s own system requirements ask for a quad-core CPU at 2 GHz or better, 4096 MB of RAM, and 20 GB of free disk for a single server serving up to 200 users, on PostgreSQL 16 or above since OpenProject 16.0.0, with a Docker-based installation recommended. That is a modest server and a non-modest set of ongoing responsibilities.

The administrator cost most comparisons omit

A project tool is a shared vocabulary with a database attached. Somebody maintains the vocabulary. Put their hours in the total before you compare seat prices.

  • Project templates, custom fields, and statuses — and the quarterly cleanup when three teams have invented three versions of “blocked”.
  • Permissions and guest access, including the client who should see one project and currently sees four.
  • Automations and integrations: the Slack notification, the calendar sync, the form intake, each with an owner and a failure mode.
  • Reporting definitions. Somebody decides what “on track” counts as, or every dashboard means something different.
  • Onboarding and offboarding: reassigning the work items of the person who left, before the sprint, not after.
  • Licence hygiene: the seats still billed for contractors who finished in March.
  • Self-hosted only: OS patching, PostgreSQL 16+ backups with tested restores, TLS, upgrades, and an on-call name.

In this scenario the two mainstream mid-tier options land within about $250 a year of each other — $2,637.60 for Asana Starter against $2,880 for monday.com Standard. Two administrator hours a month at a loaded rate is worth more than that difference, which is why the seat price is rarely the decision. The lifecycle cost estimator makes the comparison explicit with your own hourly numbers.

What the export actually gives you back

Each finding is from the vendor’s own documentation, checked 4 September 2026.

Jira Cloud

The Jira Cloud backup includes work items and field content, board and sprint data, users and group settings, comments, and media attachments. It explicitly excludes automation flows, third-party apps and app data, Jira Service Management features powered by Opsgenie, and Assets. The documentation also states that from 22 January 2026 the Backup Manager limits restores to backups 30 days old or less, and that organization admins can block exports entirely.

Read the source documentation ↗
Jira Cloud, CSV route

Atlassian states that exporting up to 10,000 work items using the asynchronous CSV export from the issue navigator is supported, and that each batch export has a maximum limit of 1,000 work items. Beyond that you are splitting by JQL and merging files by hand.

Read the source documentation ↗
Asana

Asana lists the CSV export columns as Task ID, Creation Date, Completion Date, Last Modified Date, Name, Assignee, Due Date, Tags, Notes, Project Name, and Parent Task for subtasks. That is a task list. Comment threads, attachments, rules, dashboards, and portfolios are not in that column set, and we did not find a first-party page enumerating the exclusions.

Read the source documentation ↗
Self-hosted OpenProject, Plane, or Vikunja

The export is the PostgreSQL database plus the attachment store, which you already hold. That is the strongest portability position on this page and the weakest operational one: a dump only restores into a compatible version, and nobody but you is checking that the restore works.

Read the source documentation ↗

The pattern is consistent: rows leave, behaviour does not. Automations, rules, dashboards, permission models, and integration wiring are rebuilt by hand in the destination on every one of these products.

Test the export before you buy, not at renewal

  1. Trial the exact plan you intend to buy. Export capability is plan-gated and role-gated on most of these products.
  2. Build one representative project: fifty work items, subtasks, two custom fields, one dependency, attachments, a comment thread, one automation, and one guest with restricted access.
  3. Export as an administrator. Record format, elapsed time, and the privilege required.
  4. Open it without the vendor. Check that subtask parentage, dependencies, custom fields, and comment threads survived. Most will not; write down which.
  5. Import into a clean destination and ask whether someone could run next week’s work from it.
  6. List separately what must be rebuilt by hand: automations, dashboards, permissions, integrations. Estimate those hours and put them in the year-one budget.

The general procedure is the five-step exit test.

A decision path, with conditions

Choose Asana or monday.com when the team is not technical and the work is not code

Twenty seats land between roughly $2,600 and $2,900 a year at the mid tiers, and the administrator is a coordinator rather than an engineer. Accept that the export is a task list and plan the exit accordingly.

Choose Jira when engineering process is the reason you are buying

Boards, sprints, and the surrounding Atlassian tooling are the product. Get a written quote from the calculator before comparing, and note that the backup omits automation flows and app data — the two things a mature Jira instance depends on most.

Choose OpenProject Enterprise only above about 25 people

Below the 25-user minimum you pay for seats you do not use, and a twenty-person team pays a 25 percent premium on both plans that carry that minimum, Basic and Professional. Premium sets a 100-user minimum and is a different decision entirely. At 25 or more the per-user rate is competitive; below it, use the free Community edition instead.

Choose self-hosted OpenProject, Plane, or Vikunja when control is a stated requirement

GPLv3 for OpenProject, AGPLv3 for the other two. Choose them when data location or modification rights are a real constraint and a named person owns patching, backups, and restores. If that person does not exist, this path costs more than the seats you avoided.

Choose Plane or Vikunja Cloud when you want the open-source licence without the server

Both sell a hosted option over an AGPLv3 codebase, so in principle the exit is a move to your own instance rather than a CSV. We did not verify that either vendor documents a supported hosted-to-self-hosted export, so verify it on a trial before assuming it.

No product wins this in the abstract. If two conditions apply to you, run the export test on both and let the recorded rebuild hours decide.

What we could not verify, and therefore do not claim

  • Jira Cloud per-user pricing. Atlassian publishes the Free plan limit of 10 users but routes paid pricing through a calculator, and the pricing page did not return figures to us. We will not print a number we could not read on Atlassian’s own page.
  • monday.com export limits. Its support centre returned HTTP 403 to our request, so we make no claim about item caps, exportable views, or which plans can export. Check it yourself before signing.
  • What Asana’s CSV export omits, stated by Asana. We list what its own page says the export contains and stop there.
  • OpenProject prices in US dollars. The pricing page offers a currency switch; we read the euro figures and did not convert.
  • Plane’s self-hosted Community edition feature boundary. The pricing page mentions self-hosting without enumerating what the community build includes.
  • Any claim that one of these tools makes teams more productive. Nothing here was measured.

Sources, all first-party

All pages checked 4 September 2026. Prices, minimums, and export behaviour change without notice; open the links before you sign. Software Sausage takes no vendor payment for placement.

Put your own numbers in with the lifecycle cost estimator, get a free shortlist, or ask for implementation help.