News from the product desk: Screenshot of the new progress reporting with OpenProject

News from the Product Desk: Significant changes to progress and work estimates

Estimated reading time: 12 minutes

Important: In one of our future releases, the way that progress and work estimates are tracked and calculated will change in a significant manner. Some previously-entered values might be changed on update. We would like to inform you of these changes in advance so that you can take precautions if necessary. Please read this article to understand the changes and how they affect you, particularly if you are currently using OpenProject to track progress. Please also note that our development process is agile and may change after the time of publication of this article.

Overview

At OpenProject, our goal has always been to help teams and organizations work better and more productively. Over the years, we have added new features such as an integration with Nextcloud and with OneDrive, the ability to share work packages, dynamic meetings, baseline comparison and incremental optimizations (improved date picker, PDF export, project lists). Our priorities are governed by our strategic roadmap but also in major part by user feedback.

Our users have requested that we update the way progress is calculated because it is inconsistent in the current version. This is especially evident for parent work packages whose values for % Complete are affected by those of the children.

Summary

If you are using OpenProject to track progress and work estimates, we highly recommend reading the whole article. However, here are the key changes coming with a future version of OpenProject:

Changes to progress reporting

In OpenProject 13.2, we introduced some important changes in the names of three fields:

Old term New term
Progress % Complete
Estimated time Work
Remaining time Remaining work

In an upcoming version, we are changing how % Complete is set for work packages.

Work-based progress reporting

Previously, % Complete was by default a field that could be manually edited. This is no longer the case. With an upcoming version of OpenProject, % Complete is an automatically calculated value that is a function of Work and Remaining work (unless % Complete is configured to be set by status, see below).

% Complete is work done (Work - Remaining work) divided by Work, expressed as a percentage. For example, if Work is set at 50h and Remaining work is 30h, this means % Complete is (50h-30h)/50h)) = 40%. Please note that these calculations are independent and unrelated to the value of Spent time (which is based on actual time logged).

This means that for a work package to have a value for % Complete, both Work and Remaining work are required to be set. To make this link clear and transparent, clicking on any of the three values to modify them will display the following pop-over:

Work-based progress reporting

This allows you to edit Work or Remaining work and get a preview of the updated % Complete value before saving changes.

Note: If you enter a value for Remaining work that is higher than Work, you will see an error message telling you that this is not possible. You will have to enter a value lower than work to be able to save the new value.

Additionally, the value for Remaining work cannot be removed if a value for Work exists. If you wish to unset Remaining work, you need to also unset Work.

Status-based progress reporting

As with earlier versions, administrators can also choose to set progress based on status. In this mode, each status is associated with a fixed % Complete value, which can be freely updated by changing the status of a work package. Unlike in work-based progress reporting mode, when % Complete is tied to a status, Remaining work is an automatically calculated value that cannot be manually edited.

Remaining work is Work times (100% - % Complete), expressed in hours. For example, if the % Complete for a selected status is 25% and Work is 20h, Remaining work is automatically set to 15h.

In Status-based progress reporting mode, Work is not a required value. However, if Work is set, Remaining work is automatically calculated. To make this link clear and transparent, clicking on any of the three values to modify them will display the following pop-over:

Status-based progress reporting

This allows you to edit % Complete (by changing status) or Work and get a preview of the updated Remaining work before saving changes.

Note: In the upcoming version, statuses cannot have an empty % Complete values in status-based progress reporting mode.When upgrading, all statuses that do not have a value will take the default value of 0%.

No longer possible to disable the % Complete field

There is currently an option available in Administrator settings to disable the % Complete field, which simply hides it and makes it unavailable as a filter criterion.

In a future version, when the % Complete is no longer an independent attribute but linked with Work and Remaining work, it will no longer be possible to disable it. If you were using this feature, your instance will automatically default to work-based progress calculation, with the % Complete fields unset. If you do not want to use the % Complete field, you can simply not add it as a column in table view. However, it will still be visible when editing the Work or Remaining work fields since the three will be interlinked.

In the future, we might re-introduce different progress calculation modes (including the ability to disable the feature altogether) at a project-level, where we think it will be more useful, in a future release.

Changes to hierarchy totals

OpenProject version 13.3, we introduced hierarchy totals for the % Complete field for work packages with children, similar to those available for the Work and Remaining work fields. This appears in a work package table as a number with a Σ sign next to the % Complete value for that work package.

Please note: The total % Complete value of a hierarchy is a weighted average tied to Work. For example, a feature with Work set to 50h that is 30% done will advance the sum of % Complete of the parent more than a feature with Work set to 5h that is 70% done.

Hierarchy sums are now visible for the Work, Remaining work, % Complete columns

Excluding certain work packages from sums

In some cases, you might want to exclude certain work packages (like those with status rejected) from sum calculations of the parent. When the mentioned changes will be released, you can go to the Administration settings for any status and check a new option called “Exclude from calculation of totals in hierarchy”. All work packages with this status will then be excluded when calculating the sum value for the parent (for all fields: Work, Remaining work and % Complete).

A small info icon will appear next to excluded values to remind you of this fact:

Excluded work packages are indicated with an icon

How the migration to the version covered by the changes could affect you

We understand that some users might have questions about how their current setup will adapt to these changes, and what the migration path looks like. If you are currently using OpenProject to track progress and work estimates, please review the four cases below to see if and how the migration to the version with the mentioned changes will affect you.

Note: Upgrading to the corresponding version might result in data loss in certain cases that are outlined below. To avoid loss of data that is manually input, please follow the instructions for each case.

The following cases concern the fields Work, Remaining work and % Complete.

Case 1: One out of the three values is missing

If one value (out of Work, Remaining work and % Complete) was missing, it will automatically be derived and set based on the other two existing values.

For example, if Remaining work was missing:

Field Previous values Updated Values
Work 10 h 10 h
Remaining work 9.5 h
% Complete 5% 5 %

Or if Work was missing:

Field Previous values Updated values
Work 10 h
Remaining work 9.5 h 9.5 h
% Complete 5% 5 %

Or % Complete was missing:

Field Previous values Updated values
Work 10 h 10 h
Remaining work 9.5 h 9.5 h
% Complete 5 %

Case 2: Remaining work was higher than Work

Remaining work cannot be higher than Work. However, since it was possible in earlier versions to enter a higher value, one of two things will happen on migration to the corresponding version:

If % Complete was also missing, the new value for Remaining work will the same as Work, which means % Complete will be set to 0%.

Field Previous values Updated values
Work 10 h 10 h
Remaining work 20 h 10 h
% Complete 0%

If there was a value entered for % Complete, Remaining work is calculated based on that and Work.

Field Previous values Updated values
Work 10 h 10 h
Remaining work 20 h 9.5 h
% Complete 5 % 5 %

If you would like to avoid automatic recalculation or deletion of Remaining work, please make sure that the value for Remaining work is always lower or equal to Work for all work packages before updating.

Note: If only one of the two values between Work or Remaining work was set (without % Complete) pre-migration, the other one will simply take the same value. For example, if pre-migration, Work was 10h, and Remaining work and % Complete were empty, then post-migration, Work will remain 10h, Remaining work will also be 10h and % Complete will be 0%.

Case 3: Work and Remaining work values are inconsistent with % Complete

If all three values exist but they are inconsistent, the value for % Complete is recalculated based on Work and Remaining work. For example:

Field Previous values Updated values
Work 10 h 10 h
Remaining work 8 h 8 h
% Complete 50 % 20 %

If you would like to avoid automatic recalculation, please make sure that the existing values for % Complete are consistent with the values for Work and Remaining work before updating.

Case 4: Only % Complete was set, Work and Remaining work were not set

If a work package only had the % Complete field set (and the Work and Remaining work fields were empty), this value is retained as-is and unaffected by the upgrade to the corresponding version.

However, because % Complete will be read-only and calculated based on Work (in work-based progress reporting mode), you will no longer be able to edit this value directly. Instead, you will first have to enter a value for Work, which will derive Remaining work based on the existing value for % Complete.

Entering Work will automatically derive Remaining work using the value for % Complete

Your feedback

What do you think of the upcoming changes? Do you think they make OpenProject more useful for you and your team when it comes to tracking and reporting progress? Do you use status- or work-based progress reporting?

Whether you are excited about the changes, have questions about it or are concerned how the changes affect your workflow, we would love to hear from you. As an open-source company, our design and development work is also done in the open; you are welcome to write a comment directly on the Feature page (you need to create an account in our Community instance if you don’t have one yet).

Credits

We would like to thank BMI, the German Ministry of the Interior (Bundesministerium des Innern und für Heimat) for sponsoring work on these updates.