Have you ever felt that the way Targetprocess calculates something doesn't exactly fit your needs?
Maybe you were confused by the various approaches for the user story progress calculation? Ever wanted to go as simple as possible, forget all that sophisticated things about time spent and role efforts, and say that user story is 40% completed when 4 of its 10 tasks are closed?
Oh, and what about the velocity as a mean amount of completed work per week? Or maybe per iteration? So many options out there.
Well, turns out that we may have something nice on the roadmap to assist you here!
You may have already guessed that it has to do something with Targetprocess customization. We have a strong desire to build the platform for us to stand upon and for you to extend, so we're not talking about placing dozens of checkboxes here and there (at least in the long term). We decided to build a new feature called Metrics as a platform for customizable data aggregations inside Targetprocess. The metrics are all about letting the users declare the new properties of the system or modify the existing ones according to their domains.
If that sounds similar to the calculated custom fields (CCF), then you're getting it right. One major issue with CCF is that they are a little bit limited in the computation powers, and we figured out that they don't cover the needs of all our users. So we decided to migrate CCF to our metrics platform in the future, giving you more powerful tools to define your own properties.
We're going to start with several pre-defined metrics, gradually rolling out more powerful ways to define your own metrics. The first one we'd like to customize is Efforts and Progress calculation. It's been one of the most complex and sometimes confusing parts of our domain for quite a long time, so we want to improve it a little bit.
For example, if we talk about user stories, we think about decoupling times, role efforts, tasks and bugs, allowing you to choose what to include and what not when calculating a progress of user story. Oh, and we know that some of you asked to include relations in the progress calculations, so we plan to support that as well.
We'd also like to change how Ideal Hour estimation unit works. Right now it actually doesn't differ too much from the Point unit, which brings up a lot of confusion. For example, consider the following case.
I have a user story with estimations of 1h for QA role and 10h for Dev role. Total effort is 11h. There are no tasks and time records yet.
Now I post a time as QA role: spent 2h, remain 6h.
It would be natural to suppose that the total EffortToDo would be equal to
16h = 10h (Dev, taken from estimated Effort) + 6h (QA, taken from the most recent TimeRemain),
with the total progress being equal to
2h (sum of TimeSpent for all roles) / (2h (TimeSpent) + 16h (EffortToDo)) = 11%.
However, if you do it in Targetprocess, you will see something like this:
This happens because in Targetprocess we normalize actual hours from time records to the ideal hours and estimated roles effort ratio. The normalization works by first calculating the completeness progress for every role:
2h / (2h + 6h) = 25% for QA
0h / 10h = 0% for Dev
Then we do the weighted sum of these values using estimation efforts (1h for QA and 10h for Dev) as the weight coefficients, which is then divided by the sum of all estimation role efforts (1h + 10h):
(25% * 1h + 0% * 10h) / (1h + 10h) = 2.27%
We think of cancelling this hours normalization. A progress will be calculated as ratio: (a sum of Times Spent for all roles) / (a sum of (Time Spent + Time Remain) for all roles) . If there are no time records for some role, we use the initially estimated effort for that role.
That all brings us to the question we'd like to ask you to help us make this new feature better:
- Do you have any particular requests for metrics? Did you ever try to set up any metrics yourself?
- What do you think about Progress and EffortCompleted/EffortToDo customizations? Do you need to be able choose what to include in UserStory progress: Bugs, Tasks, Times?
- Are you fine with the mentioned change of how time-based efforts are used? Maybe you want it to work some other way?