Content
View differences
Updated by Christophe Bliard over 2 years ago
# Goal
OpenProject contains extensive project controlling functions (effort estimation, progress calculation, time recording and reporting). These existing functions are to be extended for use in hybrid large-scale projects in which a combination of agile and classic process models is used. In particular, it should be possible to record or calculate the following values of a work breakdown structure both top-down and bottom-up via a hierarchy.
# Relevant work package attributes
The following work package attributes are focussed on. They will also be renamed in this epic to make them more consistent with the project management frameworks.
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name 13.0</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name 13.1</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Editable for parent work packages</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Estimated time</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell"><ul class="todo-list op-uc-list_task-list op-uc-list"><li class="op-uc-list--item"><label class="todo-list__label"><input type="checkbox" disabled="disabled" checked="checked"><span class="todo-list__label__description"></span></label></li></ul></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Remaining hours</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Remaining class="op-uc-p">Reminaing work</p></td><td class="op-uc-table--cell"><ul class="todo-list op-uc-list_task-list op-uc-list"><li class="op-uc-list--item"><label class="todo-list__label"><input type="checkbox" disabled="disabled" checked="checked"><span class="todo-list__label__description"></span></label></li></ul></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Progress (%)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">% Complete</p></td><td class="op-uc-table--cell"><ul class="todo-list op-uc-list_task-list op-uc-list"><li class="op-uc-list--item"><label class="todo-list__label"><input type="checkbox" disabled="disabled" checked="checked"><span class="todo-list__label__description"></span></label></li></ul></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Currently values can not be edited for parent work packages</p></td></tr></tbody></table></figure>
## Support multiple units units
* Recording and display in different units (hours, days, weeks, months)
* Definition and application of conversion coefficients between the different units (e.g. hours per working day, working days per week, working days per month, etc.)
## Calculation and display in work packages views
* The work package attributes for % Progress, Work and Remaining work Progress % value for a work package have two values:
* The value for the the parent work package itself.
* The total sum inclunding all children work packages (including non-visible work packages).
* Both the values of the respective work package and the aggregated values including the sub-elements should be displayed in the cells.
* When filtering child work packages from the list the sum values after "Σ" remain unchanged. The percentage % for the filtered work packages in the sums row only includes the values of the filtered work packages. It does not include the values from children values which are filtered out.
# Out of Scope
* Display of historical values using the baseline comparisson feature.
* Enhancements to time recording
* Extension of the work packages filter
# Visuals
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/78899/content"></div><figcaption class="op-uc-figure--description">Full hierarchy</figcaption></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/78898/content"></div><figcaption class="op-uc-figure--description">Child work packages filtered out</figcaption></figure>
# Acceptance criteria
* For the estimated time field it is possible to understand whether a value is empty (not set) or set to 0 h. This allows to better understand if an estimate has been made or not.
* Unset estimated time is included by 0 h into the calculation.
## Visuals
[https://www.figma.com/file/znrocQvFNLb5jXRXNo7oeD/Progress-estimation?node-id=52-9257](https://www.figma.com/file/znrocQvFNLb5jXRXNo7oeD/Progress-estimation?node-id=52-9257)
# Open
* How does the progress calculation currently works? I tried setting estimated time and log some time spent. Neither progress (%) or remaining time changed.
> NL: Currently the attributes remaining hour and progress (%) are not connected. Both attributes are currenlty set manually.
* It looks like progress calculation is only children, and aggregated on parent. New implementation will have to take into account that parent can have its own progress too.
* Correct?
> NL: Correnct
* Unset estimates are not considered as 0h
* So how are they handled?
> NL: Don't know how is this currently handled. Let's think it through what makes sense.
* When changing "Calculate the work package done ratio with" "Use work package status", and then changing status, nothing happens. It was a bit disappointing. I later read the docs and learned that statuses have to be configured to associate a progress to them.
* Couldn't this information be given through the UI somehow?
> NL: Good idea. We could add the pre-defined % values to the status label and to the status selection dialogue. We could also use Harvey balls to show the progress.
* vocabulary is not consistent: "done ratio" VS "progress (%)"
> NL: Yes. let's clean this up.
* some progress values could be seeded by default.
> NL: Good idea.
* As reported in ##49409, when using "Use work package status", work packages with "rejected" status are still taken into account for calculating progress.
* Typical use: you can increase the progress of an epic by adding a lot of of rejected child packages to it. Nothing changed, but the progress increases.
* It sounds like a wrong behavior. Should it be changed? How?
> NL: Good point. We need to explore this. I agree it does not really make sense to include rejected work packages into the calculation. A workaround could be to manually remove rejected work packages from the work package hierarchy. Please keep in mind that the status "Rejected" is an individual configuraiton. This might be different for each installation. This implies that we need to have a new setting for work package status like "not included in progress calculation".
* When using "Use work package field", what happens when some progress % are set on work packages, and the setting is switched to "Use work package status"?
> NL: Never tried this. I would assume the manually entered values for progress % get lost. Can you please check the current behavior and update the docs accordings?
* In description: "When filtering child work packages from the list the sum values after "Σ" remain unchanged. _The percentage % for the filtered work packages only includes the values of the filtered work packages._ It does not include the values from children values which are filtered out."
* So considering a work package with two children, one 100% complete, the other 0% complete. Depending on the view and filters, the parent can be shown as 0% complete, 50% complete, or 100% complete? How can this value be trusted by users if its value is so volatile?
* Or maybe it is referring to the totals row?
> NL: The specs were a little confusing. I updated it. It refers to the totals row. Good catch!
* There is an "alternative concept" section in the description. That's not clear.
* What is its purpose? What is the gif demonstrating? Should it be implemented? If not why keep it in the description?
> NL: Not sure why this is part of the description. I removed it.
OpenProject contains extensive project controlling functions (effort estimation, progress calculation, time recording and reporting). These existing functions are to be extended for use in hybrid large-scale projects in which a combination of agile and classic process models is used. In particular, it should be possible to record or calculate the following values of a work breakdown structure both top-down and bottom-up via a hierarchy.
# Relevant work package attributes
The following work package attributes are focussed on. They will also be renamed in this epic to make them more consistent with the project management frameworks.
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name 13.0</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Name 13.1</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Editable for parent work packages</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Estimated time</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell"><ul class="todo-list op-uc-list_task-list op-uc-list"><li class="op-uc-list--item"><label class="todo-list__label"><input type="checkbox" disabled="disabled" checked="checked"><span class="todo-list__label__description"></span></label></li></ul></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Remaining hours</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Remaining
## Support multiple units
* Recording and display in different units (hours, days, weeks, months)
* Definition and application of conversion coefficients between the different units (e.g. hours per working day, working days per week, working days per month, etc.)
## Calculation and display in work packages views
* The work package attributes for % Progress, Work and Remaining work Progress % value for a work package have two values:
* The value for the the parent work package itself.
* The total sum inclunding all children work packages (including non-visible work packages).
* Both the values of the respective work package and the aggregated values including the sub-elements should be displayed in the cells.
* When filtering child work packages from the list the sum values after "Σ" remain unchanged. The percentage % for the filtered work packages in the sums row only includes the values of the filtered work packages. It does not include the values from children values which are filtered out.
# Out of Scope
* Display of historical values using the baseline comparisson feature.
* Enhancements to time recording
* Extension of the work packages filter
# Visuals
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/78899/content"></div><figcaption class="op-uc-figure--description">Full hierarchy</figcaption></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/78898/content"></div><figcaption class="op-uc-figure--description">Child work packages filtered out</figcaption></figure>
# Acceptance criteria
* For the estimated time field it is possible to understand whether a value is empty (not set) or set to 0 h. This allows to better understand if an estimate has been made or not.
* Unset estimated time is included by 0 h into the calculation.
## Visuals
[https://www.figma.com/file/znrocQvFNLb5jXRXNo7oeD/Progress-estimation?node-id=52-9257](https://www.figma.com/file/znrocQvFNLb5jXRXNo7oeD/Progress-estimation?node-id=52-9257)
# Open
* How does the progress calculation currently works? I tried setting estimated time and log some time spent. Neither progress (%) or remaining time changed.
> NL: Currently the attributes remaining hour and progress (%) are not connected. Both attributes are currenlty set manually.
* It looks like progress calculation is only children, and aggregated on parent. New implementation will have to take into account that parent can have its own progress too.
* Correct?
> NL: Correnct
* Unset estimates are not considered as 0h
* So how are they handled?
> NL: Don't know how is this currently handled. Let's think it through what makes sense.
* When changing "Calculate the work package done ratio with" "Use work package status", and then changing status, nothing happens. It was a bit disappointing. I later read the docs and learned that statuses have to be configured to associate a progress to them.
* Couldn't this information be given through the UI somehow?
> NL: Good idea. We could add the pre-defined % values to the status label and to the status selection dialogue. We could also use Harvey balls to show the progress.
* vocabulary is not consistent: "done ratio" VS "progress (%)"
> NL: Yes. let's clean this up.
* some progress values could be seeded by default.
> NL: Good idea.
* As reported in ##49409, when using "Use work package status", work packages with "rejected" status are still taken into account for calculating progress.
* Typical use: you can increase the progress of an epic by adding a lot of of rejected child packages to it. Nothing changed, but the progress increases.
* It sounds like a wrong behavior. Should it be changed? How?
> NL: Good point. We need to explore this. I agree it does not really make sense to include rejected work packages into the calculation. A workaround could be to manually remove rejected work packages from the work package hierarchy. Please keep in mind that the status "Rejected" is an individual configuraiton. This might be different for each installation. This implies that we need to have a new setting for work package status like "not included in progress calculation".
* When using "Use work package field", what happens when some progress % are set on work packages, and the setting is switched to "Use work package status"?
> NL: Never tried this. I would assume the manually entered values for progress % get lost. Can you please check the current behavior and update the docs accordings?
* In description: "When filtering child work packages from the list the sum values after "Σ" remain unchanged. _The percentage % for the filtered work packages only includes the values of the filtered work packages._ It does not include the values from children values which are filtered out."
* So considering a work package with two children, one 100% complete, the other 0% complete. Depending on the view and filters, the parent can be shown as 0% complete, 50% complete, or 100% complete? How can this value be trusted by users if its value is so volatile?
* Or maybe it is referring to the totals row?
> NL: The specs were a little confusing. I updated it. It refers to the totals row. Good catch!
* There is an "alternative concept" section in the description. That's not clear.
* What is its purpose? What is the gif demonstrating? Should it be implemented? If not why keep it in the description?
> NL: Not sure why this is part of the description. I removed it.