DEV Community

Cover image for Jira Project Status Report: LeanZero Management
Mihai Perdum
Mihai Perdum

Posted on Originally published at leanzero.net

Jira Project Status Report: LeanZero Management

A Jira project status report has one job before any other: tell the sponsor whether the target date will hold. In November 2018 a Jira user asked the Atlassian Community for exactly that, and the thread has 7,157 views as I write this. Their team needed to say "whether we are ahead, on track or behind and why...as well as any blockers", and they were doing it by hand: "Currently, we find we have to manually synthesize Jira information and then manually create executive level status in ppt." LeanZero Management, our free app for planning projects inside Jira Cloud, now answers that from the plan itself, and says Can't tell yet when it can't.

LeanZero Management puts the answer at the top of every plan, worked out from the plan's own dates. On one of our demo plans only 14% of the open work has dates. The header still reads Late (at least 18 months), because the dated work alone already misses the target by that much. The undated rest can only make it later.

One bug turned up while we captured these screens. It was fixed in version 5.20.0 on 4 October, but it still matters if you captured a report before then, so it has its own section near the end.

Why a Jira status report turns green when it shouldn't

You've probably sat in this meeting. The status is green and everyone nods. Three weeks later it's red, with no amber in between.

Atlassian's own Confluence status report template says how the colour gets picked. "With all this data automatically in their view, it's far easier for the project manager to assign project status – green, yellow, or red – after a quick glance." It's still a person's judgement, typed in. Nothing checks the colour against the dates in Jira.

And the dates in Jira are often the problem. A ticket with no due date never looks late, because there's nothing to compare it with. Count it as on track and the status gets greener the less you know.

Jira itself gives you dashboards with gadgets and project reports. The advanced planning features are, in Atlassian's words, "only available as part of Jira Cloud Premium and Enterprise." There, a plan marks each release On-track or Off-track with a green or red icon. That's the closest Jira gets, an icon on a release in a paid tier, and it still isn't a status line you can send a sponsor. If you're missing some of the old built-in reports, I wrote about Jira's retiring reports separately.

The 2018 thread has a reply from January 2022 that sums it up: "Why is it to get some simple freaking executive reporting for JIRA, we always have to go after more cost for a plug in to overcome the gaps of this product?" Fair. I'm about to point you at an app. It's free on the Marketplace today, at least.

How to create a project status report in Jira from your plan

There are five steps.

  1. Install LeanZero Management from the Atlassian Marketplace (it's free) and build a plan from your Jira projects.
  2. Open the plan and read the five answers across the top.
  3. Open the Health check and fix what stops the forecast.
  4. Open How sure is that date? on the Dashboard before you quote a date to anyone.
  5. Choose Prepare sponsor report, add what only you know, and send it to Confluence, as an HTML download, or as text.

Steps 3 and 4 are computed from the plan with no AI. In step 2 the answers are computed too. The one exception is optional. If someone ran Read the comments, a ticket whose comment says it's blocked counts as blocked, both under What's late or blocked? and when Do this next picks what to do.

Five answers at the top of every Jira plan

Open any plan and the strip across the top asks five questions, on every tab: Will we hit the date? What's late or blocked? What changed? Do this next. Can I trust these numbers? Each one has a short answer and a link to the detail behind it.

On our demo plan Orbit, every one of its 59 open work items has a start and a due date. Tile one reads On track, 13 days to spare, 95% sure by Mar 3, 2027. Tile five reads Yes, 100% of open work dated, and All checks pass. That's the green you can actually believe, because the last tile tells you why.

The "Do this next" tile is worth a second look too. It says "from your plan, no AI", and on Orbit it says to watch one ticket with 2 working days of room left. That's a sentence you can lift straight into a status update.

When less than 80% is dated, the plan says Can't tell yet

This is my favourite bit of the whole app.

If less than 80% of the open work has both a start and a due date, the plan stops being allowed to say On track or Tight. It reads Can't tell yet instead. And if the dated work alone already finishes after a target that's still ahead, it reads Late (at least), with the gap that the dated work proves. The reasoning in the code is one line: lateness can be proven from partial data, because undated work can only push the finish later, but on-time can't.

Work with no due date also stopped counting as on track. It's kept apart as "no dates".

LeanZero Management plan header for the VOY Mobile Release Plan reading Late (at least) 18 months, with five answer tiles: dated work alone ends Jul 21, 2028; one blocked item; finish unchanged; three next moves starting with deciding what v3.0 General Release includes; and Can I trust these numbers? answering Not yet with 284 of 1,978 open work items dated

Look at the VOY plan above. Only 284 of its 1,978 open work items have usable dates. The dated work alone ends on Jul 21, 2028, and the target is Jan 16, 2027. So the header says Late, at least 18 months, and the first thing in "Do this next" is to decide what v3.0 General Release actually includes.

The same rule runs through the plan header, the Plans page and the Plan brief, so all three show the same status.

A Jira project health check that never writes to Jira

Click "Open the health check" on that last tile and you get the list of everything standing between you and a forecast you can quote.

Health check for the VOY plan answering Not yet: 2 findings stop the forecast, 2 say something untrue, 2 limit what can be judged and 7 pass, with 14% of the open work dated. Findings include 1,694 undated work items in a target, 2 dependency loops, 12 items shipped but dated in the future and 151 dates the plan moved away from Jira's, each fix labelled in this app, view only or you review before Jira

It sorts findings into three groups: what stops the forecast, what says something untrue, and what limits what can be judged. On VOY the six findings include 1,694 undated work items in a target and 2 dependency loops. There are also 12 items that are done in Jira but dated in the future, and 151 dates the plan has moved away from Jira's.

Each fix button tells you where it acts. "In this app", "view only", or "you review before Jira". The sheet says so at the top: "Nothing changes until you pick a fix; a fix in Jira is always yours to make." A fix that changes dates opens a review first. What you accept goes into your draft for the usual Apply. So you can open it in a meeting without worrying about what a click will do.

How sure is that date? Forecasting in Jira with a confidence score

Before you quote a date to a sponsor, there's one more screen. How sure is that date? lives on the Dashboard and gives the plan a score out of 100.

How sure is that date? scoring the Orbit plan 82 out of 100, Good, and saying it is safe to quote the 80% date of Feb 26, 2027, with six checks: work with dates 30 of 30, work linked in order 15 of 15, release date can be simulated 15 of 15, dates agree with each other 15 of 15, work has owners with room 7 of 10, and track record 0 of 15

The score is built from six checks of the plan's own data. They are work with dates (30 points), work linked in order (15), release date can be simulated (15), dates agree with each other (15), work has owners (10) and track record (15). Orbit scores 82, which is in the Good range. Above the trust line at 65, the 80% date is safe to quote, and for Orbit that's Feb 26, 2027.

What I find useful is the bottom half. It says what's holding the score back (no delivery history yet, minus 15). And it says what would raise it: move the 16 work items held by people over their hours, plus 2. The footer says "Six checks computed from the plan's own rows. No AI." The checks are modelled on the GAO's Schedule Assessment Guide (GAO-16-89G) and the US Defense Contract Management Agency's schedule checks. The weights are ours.

Executive reporting in Jira: the sponsor report draft

Now the bit the 2018 thread was really asking for. In the Plan brief, Prepare sponsor report opens an editable draft straight away, on the brief's numbers, while the report is captured behind it.

You can write your own headline, a note, a note under any line, and decision requests with options, a date and an owner. You can leave a line out, with a reason, and move sections around. What you can't do is touch the verdict, the commitments, the finish or the sources. Those can't be edited, left out or moved.

A sponsor report draft for the Orbit plan: the Commitments block and The finish and what drives it are marked Locked, while the Note from the project manager carries a blue PM tag and an empty box for what only the PM knows, above a Decisions needed section

Everything you wrote carries a PM tag wherever the report goes. So the sponsor can always tell the computed facts apart from your read on them. You still get to say the thing only you know, like an escalation you already made.

One caveat. If someone ran Read the comments, Decisions, Delivered and Risks can also carry what the AI found in ticket comments. It only uses what checks out against the plan, and the report says that comments were read.

A few more details I'd want to know as the person sending it:

  1. You pick an internal or an external sponsor audience. An external report hides ticket keys and Jira links by default, along with names and any comment quoted word for word, and says so.
  2. Before you send, it warns you about a headline that contradicts the plan, or a number the report doesn't state. It warns, it doesn't block.
  3. Each send, whether that's Confluence, an HTML download or copy as text, seals a numbered version that never changes.
  4. Publishing to Confluence runs with your own Confluence permissions, the page is visible to everyone who can read that space, and the app never deletes a page it published. The app has to be installed on your Confluence site as well as on Jira.

Nothing in the report writes to Jira.

Replacing the Jira weekly status report

If your sponsor doesn't want a formal report every week, the Plan brief has a lighter option. Copy as Monday update puts a plain-text update on your clipboard. It has the headline (or your edited version), the decisions, the next moves and what changed, with a link back to the app at the end.

This is where AI comes in, and it's narrow. In the Plan brief it reads ticket comments and picks out quotes, and it drafts a short status update where every sentence it keeps is traced to a fact the app computed. A sentence it can't trace gets dropped and counted, so you'll see something like "4 of 4 claims traced". It runs on Atlassian's own Forge LLM, with Claude Haiku 4.5.

AI is on for every site unless a Jira administrator turns it off, and there's a switch per feature in Settings, Maintenance. It never changes a date, a dependency or anything in Jira by itself. Restricted and service desk internal comments, and who wrote a comment, are never sent to it.

One bug we caught while writing this

While we were capturing these screens, we prepared a sponsor report for Orbit, the fully dated, on-track plan. The draft opened saying On track with 13 working days to spare. When the capture finished, the plan's own reading in the locked verdict block changed to "Can't say yet whether Orbit 1.0 public launch lands on Mar 3, 2027". It sat right next to an On track badge, on a plan where every open work item is dated.

That was wrong, and it was ours. We traced it in the code, and it wasn't only Orbit. Up to version 5.19.0, a captured report on a plan with a target could print Can't say yet whatever the plan's status was, late plans included. The plan header, the Health check and the confidence score weren't affected. The fix shipped in version 5.20.0 on 4 October 2026, and it's in every version since.

A report that was captured before then keeps its words. So if you prepared one on 5.19.0 or earlier, choose Prepare sponsor report again to get fresh numbers.

You can't edit the plan's own line in any version, and that's on purpose. What you can always do is write your own headline, for example On track, 13 days to spare. Your headline prints first, with a PM tag, and the plan's line moves under it as What the plan says.

What it doesn't do yet

A couple of limits, so you're not surprised.

There's no budget section. Atlassian's status report guide lists "insights into the project budget" as a key element, and this report doesn't carry money at all. If your sponsor wants spend, that still comes from somewhere else.

Plans follow Jira's own project permissions. You can open a plan only when Jira lets you see every project and every issue it's built from. If you can't, it shows as closed and tells you what to ask a Jira admin for. That's the right default, but it means your sponsor needs Jira access to every project in the plan to open it in the app. A sent report is a different thing: the app keeps every sent version sealed, and a Confluence page follows that space's permissions like any other page.

The features in this article have been on the Marketplace since version 5.5.0, released on 30 September 2026, and the report fix since 5.20.0. The current version is 6.4.0, released on 11 October 2026.

Start with the plan your sponsor asks about most

If you want to try it, install it from the Marketplace listing, build the plan your sponsor asks about most, and read tile five before anything else. If it says Not yet, the Health check is where your next hour goes. That hour is probably better spent than another round of colour-picking :)

The full manual and short videos for each screen live on the LeanZero Management page. If you want the scheduling side, I wrote up the Jira dependency that moves dates, and Mihai wrote up how the app keeps two scheduling engines on one schedule. There's also a broader look at LeanZero Management against the Jira PPM field.


Originally published on leanzero.net. More Atlassian, Forge and local-AI write-ups at leanzero.net/blog, and if you're planning a migration or a Forge app, that's what we do: leanzero.net/services.

Top comments (0)