I think it's more like:
As a user,
Given a processing queue full of tests and builds,
When a change is made to the codebase,
Then I want to know, of the tasks that will need to be processed in order for a specific task to be processed, which ones will take the longest?
So that I can identify which tasks are slowing me down.
For example:
Lets say that all of my tasks are project builds and I have build times like so:
A 1s
B 10s
C 30s
D 60s
To build everything takes 101s.
Now lets say A -> B -> C -> D, then if I modify C then I incur a 41s build.
My original thought was that if I'm beavering away in C and end up triggering 10 builds over a period of time I might end up with something that looks like this:
A 1s 10s
B 10s 100s
C 30s 300s
D 60s 60s
In total 470s have been spent, and more than half has been spent on C, so that's where my biggest opportunity for improvement lies.
The overall goal is to provide a metric that will help me increase the ease I have in working with a particular section of the solution while I'm working on it since I'm mainly working on a large legacy project and I'd like to incrementally improve its performance with NCrunch.