- Effort Estimation
- Iteration Velocity
- Initial Estimate
- Actual Time Spent vs Estimated Effort comparison report
- Effort
- How Effort is calculated for User Stories and other work items
- How Effort is calculated for high-level scopes of work: Features, Epics, Projects, Releases, Sprints, Team Iterations
- Estimation Board View
Brief summary of this article:
Q: We estimate Epics and their child Features. When the Epic is estimated the sum of Features underneath it should not exceed the estimation of the Epic.
Moreover, the sum of User Story effort under one Feature should not exceed the estimation of that Feature.
Finally, the estimation of all Tasks created under one User Story and assigned i.e. to a developer or a QA engineer or a designer should not exceed the estimation of the role estimation of the whole User Story.
A: In Targetprocess it is not possible to introduce rigid limits for estimations. However it is possible to input and track initial estimations. Whenever needed it is possible to compare initial estimations and actual total effort and configure visual warnings when the limits are exceed. The following features may serve as a solution:
- With Customized cards and customized columns in lists for every work item you can see its initial estimate, total effort and total time spent and number of child entities
- Custom Reports help to export lists of entities with these values. Inner lists of child entities that provide extra details are supported as well
- Custom Graphical reports allow you to create charts with entities and embed them to dashboards
- Visual Encoding on your views helps to highlight cards when sum of estimations of child entities exceeds the estimation for the card itself
Compare estimation and total effort for Epics using Visual encoding
We will create a list that will show all Epics. It will compare initial estimation of an Epic and sum of effort of its features. And we'll apply color highlighting when total effort exceeds initial estimation.
Every Epic has two separate fields:
- Initial estimate. Value to this field is set manually. It is not changed further by automatic re-calculations.
- Effort. Value to this field is provided automatically. It is calculated as total effort of all features under the epic.
We'll compare Initial estimate and Effort in the Visual encoding rule.
Create a list view that shows Epics as rows (cards).
Set up the following visual encoding rule:
?InitialEstimate < Effort
On the Customize Cards tab, configure columns for your list view. Add Initial estimate, Effort, Open/total Features and Time spent/time remaining columns.
Finish setup of the view. Whenever an initial estimate of an Epic is less than a sum of effort of its Features the Epic is colored into red.
Compare estimation and total effort of Features using Visual encoding
A similar view can be created for Features as well.
Every feature also has two independent effort related fields:
- Initial estimate: The value for this field is set manually. It is not changed further by automatic re-calculations.
- Effort: The value of this field is provided automatically. It is calculated as the total effort of all User Stories under the Feature.
If a Feature has User Stories inside, its effort is equal to sum of effort of each User Story. Otherwise the effort of a Feature is equal to its initial estimation.
Create a list view that shows Features as rows (cards). It is also possible to select Epics as a 2nd hierarchy level.
The encoding rule is exactly the same:
?InitialEstimate < Effort
On the Customize Cards tab, configure columns for your list view. Add Initial estimate, Effort, Open/total User Stories and Time spent/time remaining columns.
Finish setup of the view. Whenever an initial estimate of a Feature is less than the sum of effort of its User Stories, the Feature is colored into red.
Estimation of User Stories and total effort for Tasks
On the User Story level there is no Initial Estimate field. Instead, for each User Story you enter effort per role.
You can configure list of roles available for personal assignments and whether it is possible to estimate effort for each role or not. Every role has "Has Effort" checkbox in its settings. Settings are global across all your account. Manage settings for roles in Settings → Roles page.
Total effort for every User Story always consists of own story effort and sum of effort in its Tasks. This ratio is preserved for all roles in a User Story. Find more details about effort and progress calculation for User Stories and Tasks in Targetprocess.
Own effort for User Story is set on its details view.
It is not possible to set or limit total effort for a User Story. It is always split by roles.
It is also not possible to limit total role effort calculated across Tasks with the initially estimated role effort for a Story. Effort for a Task or a User Story can be increased by Story editors whenever needed.
However the effort field of a User Story is not useless. It is still possible to create roughly estimated Stories and then refine them with Tasks. Moreover, there is built-in automatic rule that may serve as a helpful solution for this use case. When new child Task is added to a User Story, then the effort for a role of this Task can be automatically subtracted from the User Story effort of the same role. Here is how to activate and use this solution.
Settings
- Configure global roles settings - what roles have effort
- Configure roles in Assignments for User Story entity in your Process
- Configure roles in Assignments for Task entity in your Process
- Configure Planning practice settings in your Process: User Story Effort = Sum of Tasks Effort (see below how)
Configure Planning practice settings for residual estimations
Inside Settings of your Process, activate Planning practice setting:
Settings → Processes → [select the process your Project follows] → Practices → Planning → Customize
Enable the following rule:
User Story Effort = Sum of Tasks Effort
Save the settings.
Workflow
- Create a new User Story
- Estimate effort for each Role
- Refine your User Story: create Tasks for it
- Estimate effort for every Task. Whenever you input effort for a role in a Task, it will be reduced from total role effort in the parent User Story.
- When you add Tasks make sure that the residual estimate of a User Story does not become equal to zero before all Tasks are estimated
If, on step #5, the effort for a given role on the User Story level is already zero and you increase effort for that role in a Task, the following will happen:
- Role effort and total effort for Task will be increased
- Role effort and total effort for User Story will be increased automatically
- Total effort for its Feature, Release, Iteration, Team Iteration, Project will be increased automatically
- Total effort for the Epic of the Feature will be increased automatically
It is not possible to lock and limit total effort for any of these entities so far. It is only possible to compare Initial Estimate and Effort as it is described above.
Custom fields for historical estimates
For any entity it is also possible to introduce special custom fields and fill them manually. For example, you would like to track historical estimation for every User Story. Add special custom field with name "HistoricalEstimate". Fill it in whenever needed. The field won't be recalculated by the tool automatically and you will be able to compare historical estimates and actual efforts for all User Stories.
Do not use 'InitialEstimate' as a name for your custom fields. It is reserved and may break your reports.
See Also
Still have a question?
We're here to help! Just contact our friendly support team.