Content
View differences
Updated by Niels Lindenthal over 2 years ago
**As a** project manager
**I want to** exclude rejected or duplicate work packages from the calculation of work, remaining work and percentage complete for the parent work packages
**So that I** can clean up my estimates and the progress when rejecting child work packages or marking them as duplicates.
**Acceptance criteria**
* Each work package status can be configured as "exclude from the parent's calculation of completion calculation and work estimates", e.g. for status "rejected".
* The children of an excluded work package are not excluded from the calculation. They are excluded only if their status is an excluded status.
* Exclude child work packages that have a status that is marked as "excluded from the parent's calculation..." from the calculation of
* Work
* Remaining work
* % complete
* "Excluding" the work package does not change the attributes of Work, Remaining work and % Complete. They are still visible.
* Excluded work packages have a visual clue to show that they are excluded from calculations.
* Reverting the status to another "non-excluded" status includes it in the calculation
* Changing the status from "excluded" to "non-excluded" or the other way around triggers the recalculation of the parent and ancestor work packages.
* The seed data is changed to mark "Rejected" status as excluded from work calculations.
* There is database migration that marks "rejected" status as excluded and recomputes calculated values for work packages using the "rejected" status.
**Out of scope**
* <mention class="mention" data-id="52130" data-type="work_package" data-text="#52130">#52130</mention>
**Open**
1. **CB: If an excluded work package has children, those children are considered excluded as well in the calculation even if they have their own non-excluded status, correct?**
NL: no, if a user wants to exclude grandchildren those grandchildren need to be rejected as well
2. **CB: Regarding question above, when a work package having children is excluded, should its computed values be calculated and displayed?**
**For instance, are these calculations correct (2 work packages excluded)?:**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Work package</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Remaining Work</p></td><td class="op-uc-table--cell"><p class="op-uc-p">% Complete</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">parent</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Closed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 53h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 4h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">100% - Σ 92%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> child 1 (excluded)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Rejected</p></td><td class="op-uc-table--cell"><p class="op-uc-p">2 h - Σ 20h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 2h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">50% - Σ 90%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 11</p></td><td class="op-uc-table--cell"><p class="op-uc-p">In progress</p></td><td class="op-uc-table--cell"><p class="op-uc-p">4 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">75%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 12 (excluded)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Duplicate</p></td><td class="op-uc-table--cell"><p class="op-uc-p">8 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">88%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 13</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Test failed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">16 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">94%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> child 2</p></td><td class="op-uc-table--cell"><p class="op-uc-p">In progress</p></td><td class="op-uc-table--cell"><p class="op-uc-p">32 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">97%</p></td></tr></tbody></table></figure>
**I want to** exclude rejected or duplicate work packages from the calculation of work, remaining work and percentage complete for the parent work packages
**So that I** can clean up my estimates and the progress when rejecting child work packages or marking them as duplicates.
**Acceptance criteria**
* Each work package status can be configured as "exclude from the parent's calculation of completion calculation and work estimates", e.g. for status "rejected".
* The children of an excluded work package are not excluded from the calculation. They are excluded only if their status is an excluded status.
* Exclude child work packages that have a status that is marked as "excluded from the parent's calculation..." from the calculation of
* Work
* Remaining work
* % complete
* "Excluding" the work package does not change the attributes of Work, Remaining work and % Complete. They are still visible.
* Excluded work packages have a visual clue to show that they are excluded from calculations.
* Reverting the status to another "non-excluded" status includes it in the calculation
* Changing the status from "excluded" to "non-excluded" or the other way around triggers the recalculation of the parent and ancestor work packages.
* The seed data is changed to mark "Rejected" status as excluded from work calculations.
* There is database migration that marks "rejected" status as excluded and recomputes calculated values for work packages using the "rejected" status.
**Out of scope**
* <mention class="mention" data-id="52130" data-type="work_package" data-text="#52130">#52130</mention>
**Open**
1. **CB: If an excluded work package has children, those children are considered excluded as well in the calculation even if they have their own non-excluded status, correct?**
NL: no, if a user wants to exclude grandchildren those grandchildren need to be rejected as well
2. **CB: Regarding question above, when a work package having children is excluded, should its computed values be calculated and displayed?**
**For instance, are these calculations correct (2 work packages excluded)?:**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Work package</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Remaining Work</p></td><td class="op-uc-table--cell"><p class="op-uc-p">% Complete</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">parent</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Closed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 53h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 4h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">100% - Σ 92%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> child 1 (excluded)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Rejected</p></td><td class="op-uc-table--cell"><p class="op-uc-p">2 h - Σ 20h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h - Σ 2h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">50% - Σ 90%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 11</p></td><td class="op-uc-table--cell"><p class="op-uc-p">In progress</p></td><td class="op-uc-table--cell"><p class="op-uc-p">4 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">75%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 12 (excluded)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Duplicate</p></td><td class="op-uc-table--cell"><p class="op-uc-p">8 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">88%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> grand child 13</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Test failed</p></td><td class="op-uc-table--cell"><p class="op-uc-p">16 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">94%</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"> child 2</p></td><td class="op-uc-table--cell"><p class="op-uc-p">In progress</p></td><td class="op-uc-table--cell"><p class="op-uc-p">32 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">1 h</p></td><td class="op-uc-table--cell"><p class="op-uc-p">97%</p></td></tr></tbody></table></figure>