clement13.net
Original photo: Punaise rouge posée sur une pile de cartes de papier.
Description
Punaise rouge posée sur une pile de cartes de papier.
Source
Slashme · original page
Licence
CC0 Public domain
Original photo, unretouched. The background is a version of it stylised by the site.

Jira In Depth and Alternatives

You will understand Jira’s model (projects, ticket types, workflows, schemes, screens, fields) and why its flexibility is both its strength and its risk.

Guide≈ 11 min readPartly checkedPartial checkThe main facts were checked by searching the cited sources. The items below still need checking before relying on them.To re-check
  • Absence d’intégration native TFVC dans Jira : déduite du silence de la documentation
  • Faiblesses de Trello et de Notion, notes /5 et recommandations : appréciations
Written with AI assistance; sources are cited at the bottom of the page. An error? Report it via clement13.net.
Reading
In brief
  • You will understand Jira’s model (projects, ticket types, workflows, schemes, screens, fields) and why its flexibility is both its strength and its risk.
  • You will know how to write useful JQL and position Advanced Roadmaps / Plans.
  • You will identify over-customization pitfalls and their remedies.
  • You will know how to position GitLab, GitHub Projects, Linear, Trello, Notion: strengths, weaknesses, use cases, and how they support (or not) a data/BI project.
  • Big picture: overview ; Microsoft equivalent: Azure DevOps / TFS ; ratings: comparison.

The /5 ratings are contextual (team of 5 to 15 people, data/BI project). See RATING.

On this page

Level: 🟢→🔴

🟢 Novice — Jira in five minutes#

Jira (Atlassian) is one of the most widely used ticket tracking tools in the software industry. Its objects:

Object Role
Project container; two families: company-managed (“classic,” finely configurable by the administrator) and team-managed (configured by the team, simpler, less shareable); Jira Cloud now talks about space
Issue (ticket) the unit of work; a type (Epic, Story, Task, Bug, Sub-task, custom types); Jira Cloud now talks about work item
Workflow statuses and allowed transitions
Board Scrum view (backlog + active sprint) or Kanban
Sprint Scrum team iteration, with start and close
Version / Component released version, technical component
Filter / dashboard saved JQL queries, widgets

Standard hierarchy: Epic → Story/Task/Bug → Sub-task. Above Epics, in Premium and Enterprise, additional levels (Initiative, via Plans/Advanced Roadmaps).

💡 Expert tip

In Jira, a “status” is not a category: each status belongs to one of three categories (To Do / In Progress / Done). The category is used in particular for JQL (statusCategory); board reports (burndown, CFD), meanwhile, rely on status-to-column mapping: a ticket is only “done” when it is in a status mapped to the rightmost column. A misclassified or poorly mapped status distorts charts.

🟢 Novice — Plans and hosting end-of-life#

Jira is available in Cloud (SaaS, multiple tiers including Free/Standard/Premium/Enterprise) and in Data Center (self-hosted). Atlassian announced on September 8, 2025 the end of Data Center: sales to new customers stop on March 30, 2026, end of new subscriptions and expansions for existing customers on March 30, 2028 (renewals remain possible until end-of-life), end-of-life on March 28, 2029 (products and licenses read-only). Bitbucket and Bamboo Data Center as well as Jira Align Data Center are not affected (status 2026-10, to be rechecked on Atlassian’s official page before any decision).

⚠️ Pitfall

Symptom: the on-premises team discovers in 2028 that it no longer has a path forward. Cause: decision postponed. Remedy: if you are on Data Center, plan the Cloud migration (or another tool) now: inventory of Marketplace apps (not all are available on the Cloud side), attachment volume, data governance (hosting region), training. For an organization required to stay on-premises, the practical consequence is that Jira is no longer a sustainable on-premises option; Azure DevOps Server (modern lifecycle) or self-hosted GitLab become so.

🟡 Practical — Workflows, schemes, and screens#

Workflow#

A workflow = statuses + transitions + conditions (who can move), validators (required data), post-functions (automatic actions), properties. Example for a datamart delivery ticket:

Backlog → Ready → In development → In review → In acceptance testing → Delivered
                      ↑                 │            │
                      └─────── Rejected ──┴────────────┘

Each transition may require: a comment (rejection), a field (“Acceptance test result”), a role (only the tester can move to Delivered).

Schemes (company-managed)#

A project aggregates schemes: issue type scheme, workflow scheme, screen scheme, field scheme, permission scheme, notification scheme, security level scheme. This decoupling makes it possible to share a scheme across projects, but creates a chain dependency: changing a shared workflow affects all projects that use it.

Scheme Question it answers
Issue type which types are in this project?
Workflow what lifecycle for each type?
Screen which fields on create, view, edit?
Field (context) which values and default values by project/type?
Permission who can create, edit, transition, administer?
Notification who is notified, about what?
✅ Good practice

A limited number of shared schemes. Three project families (product team, support, one-off project), each with a common scheme, rather than one scheme per project.

🟡 Hands-on — JQL and reporting#

JQL (Jira Query Language) is the query language. It's used for filters, dashboards, boards (a board is a filter), and automations.

project = DATA AND issuetype = Bug AND statusCategory != Done AND created <= -30d ORDER BY priority DESC, created ASC
sprint in openSprints() AND assignee = currentUser() ORDER BY rank
project = DATA AND status CHANGED TO "Livré" DURING (startOfMonth(), endOfMonth())
issue in linkedIssues(DATA-142, "is blocked by") AND statusCategory != Done

Useful functions: currentUser(), openSprints(), closedSprints(), startOfWeek(), membersOf("groupe"), issueHistory(), linkedIssues() (renamed workItemHistory() and linkedWorkItems() in the Cloud documentation, which still accepts the old terms). History operators: WAS, CHANGED, DURING, AFTER, BEFORE.

Native reports#

Burndown, burnup, velocity, sprint report, cumulative flow diagram, control chart, version report. Charts rely on mapping statuses to board columns and on history. For rich dashboards (lead time by type, ticket aging), teams rely on Marketplace apps, the REST API, or exports to a BI database (then Power BI). See 10 — Project Metrics and Reporting.

⚠️ Pitfall

Symptom: sprint burndown doesn't go down even though tickets are “done.” Cause: the final workflow status (e.g., “Delivered for acceptance testing”) is not mapped to the rightmost board column. Fix: audit status → column mapping and each status category; use a single final resolution status.

🟡 Hands-on — Advanced Roadmaps / Plans#

In Jira Cloud Premium and Enterprise plans, Plans (formerly Advanced Roadmaps) provides: hierarchies above Epic (Initiative, Theme), multi-team planning (capacity, dependencies), scenarios (“what if we remove team X?”), and conflict warnings (dependencies, dates). It's Atlassian's answer to portfolio planning; the Microsoft-side equivalent is Azure DevOps Delivery Plans, which is lighter. For enterprise-scale agility (especially SAFe), Atlassian offers Jira Align.

💡 Expert tip

Enable Plans only if a real decision depends on it (capacity arbitration across teams, delivery trajectory). Otherwise it's an extra layer to feed and maintain, and it drifts out of sync with reality.

🔴 Expert — Over-customization pitfalls#

Jira's flexibility leads to typical drifts, rarely caught in time:

⚠️ Pitfall

Too many fields. Symptom: 150 custom fields, slowly loading screens, heavy index. Cause: one field per expressed need. Fix: annual inventory, remove never-populated fields, contextualized fields by project, use labels and components instead of a field.

⚠️ Pitfall

“Cathedral” workflows. Symptom: 17 statuses, 40 transitions, nobody knows where a ticket is. Cause: modeling the organization instead of the flow. Fix: 4 to 7 statuses, explicit waiting states only when they help measure (waiting for acceptance testing, waiting for business decision).

⚠️ Pitfall

One project per application. Symptom: 80 projects, impossible to see “everything that's blocked.” Cause: desire for isolation. Fix: projects by team or value stream, components/labels by application.

⚠️ Pitfall

Opaque automations. Symptom: tickets change state “on their own.” Cause: stacked automation rules with no owner. Fix: rule registry (goal, owner, date), naming standards, quarterly review; favor simple rules.

⚠️ Pitfall

Dependency on Marketplace apps. Symptom: an app being removed or becoming paid breaks the process. Cause: process built on plug-ins. Fix: limit usage to apps that are truly structuring, with an exit plan.

⚠️ Pitfall

Mixing management and measurement. Symptom: the team enters hours and fields to “feed a dashboard”; data quality declines. Cause: metric turned into target (Goodhart's law). Fix: measure what the flow produces automatically (transition dates), not what is manually declared.

Healthy governance#

Practice Detail
Model owner one person (or two) responsible for schemas; changes through tracked requests
Test environment (sandbox) test any workflow change before production (sandbox available in Premium and Enterprise)
Catalog a “how we use Jira” wiki: types, statuses, fields, conventions
Annual review remove dead fields/statuses/filters
Archiving close and archive completed projects

🔴 Expert — Jira and data projects#

Data teams use Jira differently from a product team:

  • Specific ticket types: Data incident, Model evolution, Extraction request, Acceptance testing, Migration. Each with its own fields (table/dataset, domain, criticality).
  • Links to deliverables: Jira links well to Git repositories (Bitbucket/GitHub/GitLab) via the ticket ID in the commit; for a TFVC repository, there is no native integration: you need a comment convention (DATA-142) + app or script, resulting in weaker traceability than with Azure DevOps. This is a major criterion in the comparison.
  • Number-based acceptance testing: a workflow with status “In business acceptance testing,” a “Result” field (compliant / tolerated gap / gap), and attached evidence; gaps create linked tickets.
  • Service Management: data support requests (access, new metric, failed report) work well with a Jira Service Management portal with SLA; this is a strength versus planning-only tools.
🧪 Example

An 8-person BI team handles about 60 requests per month (support + evolutions). A Jira Service Management project with 3 types (Incident, Request, Evolution), SLA (4 business-hour response, resolution based on criticality), and a 5-column Kanban board with a WIP limit of 3 per person reduces “lost tickets”; evolutions are moved into a separate Scrum backlog. Separating the support flow / project flow prevents day-to-day urgency from crushing planning.

🔴 Expert — Alternatives: strengths and weaknesses#

GitLab#

Single platform: repositories, issues, epics and iterations (paid Premium/Ultimate tiers), boards, merge requests, pipelines, container registry, security (basic SAST starting at the free tier, DAST in Ultimate). Strengths: one end-to-end tool; natural traceability issue ↔ MR ↔ pipeline ↔ deployment; self-hostable (on-premise) or SaaS; platform governance. Weaknesses: less rich planning (simple issue workflows, burndown/burnup charts limited to Premium/Ultimate tiers); administration complexity (self-hosted); tiered licensing model. Data project: very good if code lives on GitLab (SQL CI, dbt, tests), no TFVC support.

GitHub Projects#

Configurable boards, tables, and roadmaps on issues and PRs, custom fields (text, number, date, select, iteration), built-in automations and workflows. Strengths: nearly free adoption for teams on GitHub; very good for code-adjacent work; integration with AI coding agents (Copilot cloud agent, formerly “coding agent,” assignable to an issue). Weaknesses: no native capacity planning, analytics limited to insights charts, limited governance for regulated organizations; hierarchy through sub-issues (up to eight levels) but without the portfolio types of a planning tool. Data project: preferred for 100% Git/GitHub teams (analytics engineering).

Linear#

Cycles (sprints), projects, initiatives, polished views and triage, performance and keyboard shortcuts; integrated AI agents depending on tier (as of 2026-10). Strengths: very fast to adopt, good for product teams without deep customization needs. Weaknesses: SaaS only (no published self-hosted offering), very little process customization, simpler reporting, no TFVC integration. Data project: fine for a “product” data team, poorly suited to formalized acceptance testing processes.

Trello#

Cards and columns; Power-Ups for extension. Strengths: extreme simplicity, collaboration with business teams, immediate startup. Weaknesses: no structured backlog or rigorous sprinting without extensions, no hierarchy, limited reporting. Sensible use: business acceptance testing tracking by users, request board, retrospectives.

Notion#

Databases + pages. Strengths: unified wiki, backlog, and meeting notes, very flexible. Weaknesses: no enforcing workflow, limited audit trail and state history (so unreliable lead/cycle time), performance on large volumes, dependence on conventions. Sensible use: small teams, project documentation, not as the source of truth for flow metrics.

Summary table#

Tool Strengths Weaknesses Best for
Jira Cloud flexibility, ecosystem, JSM configuration drift, per-seat cost, no long-term on-premise multi-team organizations, support + project
GitLab single platform, self-hostable simpler planning DevOps teams, on-premise
GitHub Projects code proximity, simplicity, AI governance, reporting Git/GitHub teams
Linear speed, usability customization, SaaS only product teams
Trello simplicity depth business acceptance testing, small-scale tracking
Notion docs + tracking rigor, measurement small teams, documentation

🔴 Expert — Choosing when you're on TFVC and on-premise#

The decisive criterion is often integration with the code repository. For a TFVC repository:

Option Ticket ↔ changeset link Note
Azure DevOps (Server) native (check-in association, mandatory policy) consistent with the existing setup; see dedicated page
Jira through comment convention + third-party app less robust traceability
GitLab/GitHub impossible as long as code remains in TFVC requires TFVC → Git migration
Linear/Trello/Notion manual reserved for secondary uses

So the strategic question is not “which tool is best” but “are we migrating code to Git?”: if yes, GitLab/GitHub open up options; if not, Azure DevOps remains consistent. See Git vs TFVC: Compare, Migrate, and Coexist and Branching Strategies.

Metrics — Jira Cloud rating#

Criterion Rating Justification (team of 5–15, data/BI)
Model flexibility 5/5 types, workflows, fields, screens almost unlimited
Reporting 4/5 solid Scrum/Kanban reports; advanced BI via apps/exports
Code/CI integration 3/5 excellent with Git, weak with TFVC
Cost 3/5 per seat, plus apps
Adoption 4/5 market standard, many people know it
Governance 4/5 solid permissions and audit, possible drift
Scaling 4/5 good, but performance and governance need monitoring
Process customization 5/5 maximum (and dangerous)
Extensibility / API 5/5 REST, webhooks, Marketplace, automations

🤖 AI contribution#

Atlassian offers Rovo (search, chat, agents) and ticket assistance features (summaries, description generation, work breakdown, writing automations in natural language). Availability and quotas depend on tier (paid plans include a monthly allocation of Rovo credits, higher in Premium and Enterprise; billing for usage beyond that is announced for December 2026 — as of 2026-10). Linear and GitHub integrate agents assignable to tickets.

Use case Gain /5 Risk /5 Maturity /5 Guardrails
Ticket thread summary 4 2 4 don't look for decisions in it, review manually
Breaking down an epic into stories 3 3 3 PO validates; verify each story's independence and value
Natural language JQL 3 2 4 verify results on a sample
Natural language automation 3 4 3 simulate before activation, enable logging
Automatic triage 3 3 3 control sample, track error rate

See 11 — AI in Planning and Version Control Tools.

See also#

✻ Written by Claude Sonnet 5.5