Reporting on effort with multiple assignments to a single role
In Targetprocess it is possible to estimate Effort of work items per role and assign multiple users to a work item under the same role. Some reports with Effort based on assignments may provide you with unexpected totals. To make the reports more accurate, you're welcome to follow the recommendations below.
Say you estimate Developer effort for a user story as 5 points. Then you assign two developers to the user story. In Targetprocess, the effort is not distributed within assigned users by equal parts. Instead, full amount of points or hours becomes assigned to each user. It may lead to duplicate calculations in the detailed reports for total Effort based on Assigned Effort data source, such as:
- Views and reports for personal velocity, total effort and time spent per user
- Reports for Effort by role
Improperly configured calculations and reports may be not accurate enough. Verify the reports before using them for billing and invoicing purposes. Use non-verified reports on your own risk.
Here are the steps that can help you to make your reports based on total Effort more accurate: avoid aggregation formulas and split assignments.
Avoid aggregation formulas
Do not use SUM() aggregation in reports by work items. Use Effort instead of SUM(Effort) formula for vertical axis.
This method works when your detailed report has grouping by Assignable / User Story work items. However it doesn't work when your report has grouping by Assigned User.
Let's illustrate this case. In the example we have a user story with Developer effort set to 5 pt and QA Engineer effort set to 2 pt. Two developers are assigned to this user story.
Let's compare two configurations of Visual report:
|Formula for vertical axis||Effort||SUM(Effort)|
|Export to CSV|
As a result, first report does not contain duplication for assigned effort.
It is not possible to eliminate duplication this way if you group and then summarize assigned effort values by parent container entity such as Feature / Epic / Release / Sprint (Iteration) / Project for user stories.
For accurate reporting we recommend you to split assignments and effort so that every work item has no more than just single user assigned to any estimated role.
A. Split by work items. Split whole story into two different stories, each having only one Developer assigned. Estimate first story with 4 pt and assign first developer to it. Estimate second story with 1 pt and assign second developer to it. Add Relation of type Link between stories to indicate that stories are linked. Change their states simultaneously.
B. Split by roles. Assign first user under Developer Role and estimate effort for her as 4 pt. Assign second user under different Role named Helper, and estimate effort for him as 1 pt.
- Create an additional Role in Settings > System Settings > Roles. Allow Effort to be set for this Role.
- Edit Workflow settings for the Process of the Project your User Stories are in.
- Add an extra workflow state with the Helper Role selected as responsible.
It is not possible to add a Role into Assignments without a related state in the workflow.
C. Split by Tasks if effort unit is ideal hours. Use Task entities for individual assignments and effort. The recommended flow is then the following:
- Assign User A, User B to User Story as Developer, put 0 h as effort
- Create a Task under this user story, assign User A as Developer to this task, and put the individual estimation as 4 hours for User A
- Create one more Task under this User Story, assign User B as a Developer to it, and put the individual estimation as 1 hour for User B