Implement the COCOMO model
What is it?
Requires measuring lines of code, worth checking how much GitHub helps us. Not the best measure, but a standard thing to track since the 70’s
Here is some more context on COCOMO.
I think our goal for now is to have a COCOMO key_metric ("over all time" metric) for a repo that is based on development time and lines of code. We can ignore the "Effort Adjustment Factors (EAF)" and other use case-specific coefficients.
We currently have metrics related to "full time developers" but we don't track lines of code. I'm not sure if this is available in our current source of GitHub data (gharchive). If so, then we could have an event called LINES_OF_CODE_ADDED and LINES_OF_CODE_DELETED that tracks LoC changes for all repos.
Alternatively, if this is not available in GitHub archive, then perhaps this is something we can grab from the GitHub API (see here for our GitHub crawler).
If both these options don't work, we should explore if there are any practical open source alternatives.
In any case, the first step to tackling this issue will be some research about where to get the lines of code data from!
After that, we need to update the appropriate staging and intermediate models, and then create the metric itself (which will ultimately go here).