10

What metrics can influence or help with such an estimation?

I am mostly interested in applying such metrics on GitHub projects, using their issues history. Based on how fast they solved their previous issues, or other GitHub data, what metrics can I compute to help me with this estimation?

Note that I'm not interested in any automatic effort estimation methods. Only metrics that can, potentially, help with that. I will use those metrics to come up with my own automatic effort estimation methods, but that is beyond the scope of this question.

If you have any suggestions for a GitHub-specific metric using their search+filters or their API, that is also great.

The metrics should be simple. By simple, I mean that they should return some numeric values, where higher (or lower) means a more (or less) active project, relative to whatever baseline.

What I'm actually needing this for

I am working on a machine learning project that is supposed to estimate effort in hours based on metrics. For this, I am interested in using one for activity. I want something that is easy to compute using github data and that I can reference somehow. I want to focus on easy computation rather than quality, in hopes that other metrics and data I will use will fill in the quality part. I'm also happy to use one of the metrics I came up with, as long as there is some reference that they have been, at one point, used in either research or practice, with at least some degree of success.

8
  • 1
    What problem re you trying to solve here? Activity as per your description doesn't take account of the size or complexity of the issues, just the number (and possibly the number of developers) - which is fine if that addresses the thing that you are trying to measure. However, if you have two projects, one with just one massively complex issue and one with 10 trivial ones, is it valid to compare them?
    – Iain9688
    Commented Dec 24, 2015 at 10:35
  • How does knowing the activity of a project help me to close the project successfully? I don't understand the problem we're trying to solve.
    – MCW
    Commented Dec 24, 2015 at 11:35
  • @Iain9688 I am working on a machine learning project that is supposed to estimate effort in hours based on metrics. For this, I am interested in using one for activity. I want something that is easy to compute using github data and that I can reference somehow. I want to focus on easy computation rather than quality, in hope that other metrics and data I will use will fill in the quality part. I'm happy to use one of the metrics I came up with, but can you provide some sort of reference that they have been, with some success, used in practice at one point?
    – IVlad
    Commented Dec 24, 2015 at 22:41
  • @MarvMills I have added some background info about my original problem. Unfortunately, for this kind of thing, what is meaningful is hard to answer, but maybe it helps someone make a recommendation?
    – IVlad
    Commented Dec 24, 2015 at 22:45
  • @MarkC.Wallace not sure what you mean by closing the project - I'm not interested in closing any project with the help of this. I have added some background info about what I'm doing.
    – IVlad
    Commented Dec 24, 2015 at 22:45

3 Answers 3

2
+100

I wrote an article about this a while back. The gist is

  • collect lead time for a couple of weeks back. Do not use too old data because it is obsolete; the team learnt, got better etc.

  • create a histogram where the x-axis has the lead times, the y-axis the number of occurrences

  • check the number at the 85% of the x-axis and that is a relatively good estimate. The number comes from David J. Anderson, based on statistics and empirical studies

The idea is to get a number that is more likely to happen based on the previous work of the team. If one takes a lower number than 85% the chance of being late increases.

6

As the comments indicate, you create a metric to answer a question. If I just look at the title of your post, "Simplistic PM metrics for how ACTIVE [emphasis mine] a project is," the two metrics that pop out to measure activity are hours exhausted and money exhausted. If you are comparing projects against each other, then you need to compare hours or money exhausted compared to both to budget of the project and available hours in a given period to work. That should give you an idea of how active a project is compared to how active it could have been and how active it is against other projects.

But this means nothing if this is not the question you're really trying to answer.

2
  • 1
    +1 for mentioning hours/money exhausted (spent). This approach is asymptotically approaching the earned value method.. on the other hand; Money is probably not included in Github or other opensource activities. However, time spent could "maybe" be estimated by looking at lines of codes submitted in total? Commented Dec 24, 2015 at 19:48
  • +1 I haven't thought about hours and money exhausted, although that was quite obvious in hindsight. Hours could be computed on github by summing the time it took to solve all the closed issues. Is this something that is in use today by project managers, or has been in the past? Can you link to any article or book that mentions this?
    – IVlad
    Commented Dec 24, 2015 at 22:50
0
  1. Collect data like this: https://wakatime.com/
  2. Compare tasks by title and description for similarity.
  3. Create prognosis based on task description and title similarity and time collected.
  4. Constantly improve base using machine learning and genetic algorithms.

Sounds crazy, but i like your idea.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.