-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/developer focus #63
Conversation
updated the documentation in the second latest commit and just deleted a leftover docstring in the latest commit. |
please resolve the merge conflict |
doc/KPIs/DevelopmentFocus.md
Outdated
- Finally, the average spread for every time interval in relation to the amount of time interval values is calculated. | ||
- [Implementation](../../src/database/statistics/developerFocus.service.ts) | ||
|
||
## Calculation Issue Labels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
standalone file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better name maybe: Issue Label Priority (?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
doc/KPIs/DevelopmentFocus.md
Outdated
- [Implementation](../../src/database/statistics/developerFocus.service.ts) | ||
|
||
## Calculation Issue Labels | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One important question we want to answer with this data is, which ticket type takes how long to be worked on / completed.
How much bug fixes vs feature work do we do? How quickly are security realted tickets closed.
I have an issue with the calculation of the total developer spread. for (const dev of allDevelopers) {
const devObj = devSpread[dev];
if (devObj.sprints == 0) {
sprintCount += 1;
}
totalSpread.daySpread += devObj.daySpread;
totalSpread.weekSpread += devObj.weekSpread;
totalSpread.sprintSpread += devObj.sprintSpread;
totalSpread.monthSpread += devObj.monthSpread;
totalSpread.days += devObj.days;
totalSpread.weeks += devObj.weeks;
totalSpread.sprints += devObj.sprints;
}
totalSpread.daySpread = this.saveDivision(
totalSpread.daySpread,
allDevelopers.length,
);
totalSpread.weekSpread = this.saveDivision(
totalSpread.weekSpread,
allDevelopers.length,
);
totalSpread.sprintSpread = this.saveDivision(
totalSpread.sprintSpread,
allDevelopers.length - sprintCount,
);
totalSpread.monthSpread = this.saveDivision(
totalSpread.monthSpread,
allDevelopers.length,
); It's inaccurate to calculate an average of averages. An average monthly spread of 3 across 5 months would weigh the same as a monthly spread of 3 across 10 months. This needs to be a weighted average. I'm not sure if this comment should be its own issue or not. COMMENT: As I cannot comment on this post, I'll leave my remark here ^^. This was a good point and I applied the weighted average, which give us more accurate numbers! |
Regarding the linter warnings, why don't you set your IDE to automatically remove unused imports? |
…ed the weighted avg in both calculations
As discussed, the first PR contains the improvement with calendar weeks and some related improvements. This is the PR for the function
devSpreadTotal()
and its related control flow. Find all necessary helper functions for this PR indateUtil.ts